QR Code Generator
100% client-side QR generation. Custom colors, sizes, and formats rendered instantly.
Parameters
Colors
About QR Code Generator
QR codes allow quick scanning of links, text, and contact information via mobile cameras. This generator produces high-resolution PNG and SVG formats with custom colors and error correction.
Built and maintained by Meet Shah · Last updated
What this tool is used for
- Producing a QR code for a URL on a poster, a label or a slide.
- Generating a code to share a link at an event without typing it out.
- Producing an SVG code that stays sharp at print size.
- Encoding a short piece of text such as a serial number for scanning.
- Making a code for a contact or a calendar entry.
How it works in practice
A worked example
The same link has to fit on a business card, and you are picking an error-correction level with no sense of what it costs.
Text: https://zeroserver.tools/qrcode-generator (41 characters)
as typed in capitals Level L (7%) 29 x 29 25 x 25 Level M (15%) 29 x 29 29 x 29 Level Q (25%) 33 x 33 29 x 29 Level H (30%) 37 x 37 33 x 33
Two things move that grid and only one of them is obvious. Going from the lowest error correction to the highest takes this 41-character link from 29 modules across to 37, so on a fixed 30 mm printed square each module shrinks from roughly 1.03 mm to 0.81 mm — the damage tolerance was bought with resolution. The second column is the surprise: the identical link in capitals drops a whole version at both ends, because capitals and digits qualify for a mode that packs 5.5 bits per character while a single lowercase letter forces the 8-bit one.
The edge case that catches people
Which is why so many printed codes shout at you. An all-capitals URL is not a stylistic decision, it is a capacity decision, and it works because the scheme and the host of a URL are case-insensitive so the link still resolves. The path is not case-insensitive. Capitalise that too and you may be requesting a resource the server has never heard of, which is a broken poster rather than a smaller one. Take the density win on the scheme and host, and leave the path exactly as it was given to you.
When not to use this tool
A code is a copy of your data rather than a pointer to it. Whatever goes in sits in every photograph anyone takes of that poster, permanently, so a long parameterised URL commits you to that precise link with no way to correct it afterwards and no way to count how often it was used. Put a short redirect you control behind it instead, which keeps the encoded string small and the grid coarse at the same time. For anything that has to change after printing — a menu, a campaign, a guest password — the indirection is the entire point.
Frequently Asked Questions
- What data can a QR code store?
- Any text up to ~4,296 ASCII characters or ~2,953 bytes — but shorter is better for reliability. Common uses: URLs, vCard contacts, Wi-Fi credentials, plain text, email/phone links, and payment data.
- What are the error correction levels (L, M, Q, H)?
- The percentage of the QR code that can be damaged or obscured while still scanning: L = 7%, M = 15%, Q = 25%, H = 30%. Use H when printing on curved surfaces or where partial coverage is likely.
- How large should I print a QR code?
- At minimum 2.5 cm (1 inch) square for a scanner at ~30 cm reading distance. The more data encoded, the denser the code — larger data needs either a bigger print size or a higher-resolution camera to scan reliably.
- Do QR codes expire?
- The QR code pattern itself never expires. If it encodes a URL, the URL can stop working (link rot), which makes the QR code useless in practice. Static QR codes are permanent; dynamic QR codes (third-party services) may expire.
- What format should I download the QR code in?
- Download SVG for print use — it scales to any size without blurring. Download PNG for digital use. For print, use at least 500×500 px PNG or a vector SVG to ensure sharp, scannable edges at final size.
- Why does a QR code need a quiet zone?
- Because scanners locate the symbol by its boundary, and need a clear margin of four modules on every side. Cropping tight to the pattern is the most common reason a printed code will not scan.
- Does colour or inversion affect scanning?
- Yes. Contrast must be high and the polarity conventional — dark modules on a light background. Inverted codes and low-contrast brand colours are readable by some scanners and not others, which is a poor bet in print.
Common errors and gotchas
- Encoding a very long URL, which raises the density until phone cameras struggle.
- Printing without a quiet zone around the code, which stops many scanners recognising it.
- Using low contrast or inverting the colours, which many scanners will not read.
- Placing a logo over the centre without enough error correction to compensate.
- Never scanning the printed result, where scale and print quality are what actually decide.