These codes never expire — and that is not a given
A QR code is a container, not a pointer to a service. The URL, the Wi-Fi password, the contact card — all of it is physically encoded in the black and white modules. Nothing is fetched from us when someone scans it, which means the image you download keeps working forever, offline, whatever happens to this site.
Many "free QR generators" instead encode a short link to their domain and redirect. That gives them scan analytics, and it gives you a code that dies when the provider shuts down, changes its pricing, or lets the domain lapse. There are printed menus and posters in circulation right now pointing at dead redirectors. If you are printing something with a shelf life, encode the real destination.
Error correction, in practice
QR codes use Reed–Solomon error correction, the same family of maths used on CDs and in deep-space transmission. It lets a scanner reconstruct the data even when part of the code is unreadable. Four levels are available:
| Level | Recoverable | Use it for |
|---|---|---|
| L | 7% | Screens, long URLs where you need the smallest code |
| M | 15% | Default. Screen and clean print |
| Q | 25% | Packaging, curved surfaces, outdoor |
| H | 30% | A logo overlaid on the code, or heavy wear expected |
The trade-off is real: higher correction adds modules, so the same content produces a denser grid. A dense code printed small is less reliable than a sparse one, so raising the level without raising the printed size can make scanning worse rather than better.
The quiet zone is not decoration
The blank margin around a QR code — the quiet zone — is part of the specification. A scanner uses it to find where the code begins. The standard requires four modules' worth, which is why that is the default here. Designers routinely crop it to make the code fit a layout, and it is the single most common reason a professionally printed code fails to scan.
Wi-Fi and contact codes
The quick formats build the standard strings for you. A Wi-Fi code uses the
WIFI: scheme, which iOS and Android both recognise natively — scanning it
joins the network without typing the password. Note that the password is stored in the
code as plain text, so a Wi-Fi QR on a café wall is readable by anyone who photographs
it; that is a property of the format, not of this tool.
Contact codes use vCard 3.0, the format supported by essentially every phone's camera app. Keep them short — a full vCard with an address and a photo produces a very dense code that scans poorly on business cards.
Colour and contrast
You can recolour the code, but two rules hold. The foreground must be substantially darker than the background, and the background should stay light. Inverted codes — light modules on a dark field — are legal in the specification but fail on a meaningful number of older scanner apps. If the code will be printed once and live for years, black on white is the choice that never fails.
Privacy
Encoding happens in your browser with no network request. Nothing you type is transmitted or stored, and we cannot see what your codes contain.
Frequently asked questions
Do the QR codes expire?
No, and they cannot. A QR code is not a link to our servers — the data is encoded directly in the pattern itself. Once you download the image it works forever, offline, with no account and no tracking. That is the opposite of 'dynamic' QR services, whose codes stop working the moment the provider shuts down or you stop paying.
Which error correction level should I pick?
M (15%) is right for almost everything on screen or on clean printed material. Choose Q or H only when the code will be damaged, curved, printed small, or partly covered by a logo — higher correction means more modules, so the code gets denser and needs to be printed larger to stay scannable.
Why is my code not scanning?
Three usual causes. Contrast: the foreground must be much darker than the background, and inverted codes (light on dark) fail on many older scanners. Quiet zone: the code needs at least 4 modules of empty margin, which is why we default to it. Size: below about 2 cm printed, or under 100 px on screen, phone cameras struggle.
Is my data sent anywhere?
No. The code is generated in your browser and the content never leaves your machine. That matters for Wi-Fi codes in particular, since those embed your network password in plain text.
PNG or SVG?
SVG for anything printed or resized — it is vector, so it stays sharp at any scale and business cards and posters both work from one file. PNG for pasting into messages, slides and social posts where SVG is not supported.