📱
QR Code Generator
⭐ Featured generatorEncode a URL or block of text as a QR code, choose its size and colours, and download the result as a PNG.
Use the Tool
Generated Palette
Click any color to copy hex code
Generated Passwords
Formatted Output
Summary
Quick Tip Reference
| Tip % | Tip Amount | Total |
|---|---|---|
Amortization Schedule (first 12 months)
| Month | Payment | Principal | Interest | Balance |
|---|---|---|---|---|
All Conversions
About This Tool
This QR code generator turns a web address, plain text, phone URI or email URI into a scannable square code. You type or paste the content, set the output size anywhere from 100 to 500 pixels, and choose a foreground colour for the dark modules plus a background colour for the light areas. The generator returns a preview with a download link for a PNG file, along with a summary of the content encoded, the pixel dimensions and the character count. It is useful for restaurant menus, event posters, packaging inserts, business cards, product labels and slide decks where a printed link needs to be openable from a phone camera. The code is produced on request through a QR rendering service and includes a quiet-zone margin so scanners can find the symbol edges reliably.
How text becomes a scannable QR symbol
A QR code is a two-dimensional matrix of dark and light squares called modules. Your text is first converted to a bit stream using one of the standard encoding modes: numeric, alphanumeric, byte or kanji. Byte mode is what a typical URL uses. Reed-Solomon error correction codewords are then appended, which is why a code still scans when part of it is smudged or covered by a small logo. The bit stream is laid into the matrix around three large finder patterns in the corners, timing patterns and alignment patterns, and a mask is applied so that light and dark modules stay evenly mixed.
This tool handles that process for you. It URL-encodes whatever you enter, applies your chosen hexadecimal colours for the dark modules and the background, requests the symbol at the pixel size you selected, and adds a quiet zone: a clear margin around the symbol. The more characters you encode, the more modules the grid needs, so a long URL produces a denser pattern of smaller squares at the same output size.
This tool handles that process for you. It URL-encodes whatever you enter, applies your chosen hexadecimal colours for the dark modules and the background, requests the symbol at the pixel size you selected, and adds a quiet zone: a clear margin around the symbol. The more characters you encode, the more modules the grid needs, so a long URL produces a denser pattern of smaller squares at the same output size.
Worked example: encoding a product page link
Suppose you want a code for the address https://example.com/products/winter-boots, which is 45 characters long. You paste that string into the content box, leave the size at 300, set the foreground to 000000 and the background to ffffff.
The generator reports the content it encoded, a size of 300 by 300 pixels and a character count of 45, and gives you a PNG to download. Because 45 characters in byte mode is a modest payload, the resulting grid is coarse: each module is comfortably large at 300 pixels, so the code scans easily even when printed small.
Now compare that with a tracking link such as https://example.com/products/winter-boots?utm_source=flyer&utm_medium=print&utm_campaign=winter2026, which is 109 characters. Encoding it at the same 300 pixels produces a noticeably finer grid, because far more modules must fit into the same square. Each module is roughly half the width, so the printed code needs to be larger, or the scan distance shorter, to read reliably. Shortening the link before encoding is usually the better fix.
The generator reports the content it encoded, a size of 300 by 300 pixels and a character count of 45, and gives you a PNG to download. Because 45 characters in byte mode is a modest payload, the resulting grid is coarse: each module is comfortably large at 300 pixels, so the code scans easily even when printed small.
Now compare that with a tracking link such as https://example.com/products/winter-boots?utm_source=flyer&utm_medium=print&utm_campaign=winter2026, which is 109 characters. Encoding it at the same 300 pixels produces a noticeably finer grid, because far more modules must fit into the same square. Each module is roughly half the width, so the printed code needs to be larger, or the scan distance shorter, to read reliably. Shortening the link before encoding is usually the better fix.
Printing, colour contrast and testing before you commit
Scanners look for strong contrast between dark modules and the light background, so keep the foreground dark and the background light. Inverting the pattern, or pairing two mid-tone colours, is the most common reason a code fails to scan. If you use a brand colour, check its darkness rather than its hue: a deep navy or maroon works, a pastel usually does not.
For print, a practical rule of thumb is that the printed symbol should be at least one tenth of the intended scanning distance across. A code read from about one metre away wants roughly ten centimetres of printed width. Always leave the white quiet zone intact; cropping tightly to the pattern breaks detection on many phones.
Test the downloaded PNG with at least two different phones before sending anything to a printer, and test the destination page on mobile as well. Remember that a QR code is static: the content is baked into the pattern, so once a poster is printed you cannot change where it points. If the destination may move, encode a link you control and redirect it server-side.
For print, a practical rule of thumb is that the printed symbol should be at least one tenth of the intended scanning distance across. A code read from about one metre away wants roughly ten centimetres of printed width. Always leave the white quiet zone intact; cropping tightly to the pattern breaks detection on many phones.
Test the downloaded PNG with at least two different phones before sending anything to a printer, and test the destination page on mobile as well. Remember that a QR code is static: the content is baked into the pattern, so once a poster is printed you cannot change where it points. If the destination may move, encode a link you control and redirect it server-side.
Frequently Asked Questions
No. The code is a direct encoding of the text you entered, so it keeps working for as long as the destination does. Nothing about the image depends on this site remaining online. The only thing that can break is the web address itself, so avoid encoding links you might delete or move later.
Yes. You can set a hexadecimal colour for the dark modules and another for the background. Keep a strong light-to-dark contrast between the two, because scanners detect the pattern by brightness difference rather than hue. Pale foregrounds, dark backgrounds and two similar mid-tones are the usual causes of a code that will not read.
Size it to the distance people will scan from. A common guideline is a printed width of about one tenth of the scanning distance, so roughly 3 cm for a code read at arm's length and 10 cm or more for a wall poster. Also keep the pale margin around the symbol, as cropping it breaks detection.
Yes, by entering the appropriate URI rather than plain text. Typing tel:+441234567890 produces a code that opens the dialler, and mailto:hello@example.com opens a new message. Plain digits alone will simply be shown as text by most scanning apps, so include the scheme prefix if you want an action to trigger.
The QR standard tops out at roughly 4,296 alphanumeric characters or 7,089 digits, but long payloads are a bad idea in practice. Every extra character adds modules, so the printed squares shrink and scanning gets harder. Keep content under about 100 characters where you can, and shorten tracking URLs before encoding them.
Category
📱QR Code Generators
Browse category
Statistics
Views
3,822
Uses
1,874
Type
generator