The Pre-Print QR Code Checklist
Everything that goes wrong with a printed QR code is visible before the print run, and almost none of it is visible on the designer's screen. This is the list, in the order worth doing it.
Before you generate
- 1. The destination is final and permanent. Not a staging URL, not a preview link, not a page anyone plans to rename. If there is any doubt, encode a short path on your own domain and redirect it — that way the destination stays changeable after printing. See static versus dynamic.
- 2. The URL is as short as it can be. Strip tracking parameters, move campaign names into the path. Every character makes the grid denser and the modules smaller.
- 3. The error-correction level fits the job. M for anything indoors and clean; Q or H for packaging, outdoors, fabric, or a centre logo. Not H by default — it adds modules, which shrinks each one. The trade-off is measured in error correction explained.
Before you place it
- 4. It decodes, and to the right place. Scan the file on screen, and read the URL carefully — not just that it works, but that it is the URL you meant. A working code pointing at last year's campaign is still a failure.
- 5. You have the vector. SVG or PDF for anything a printer touches. If a bitmap is forced on you, generate the PNG at the final printed size and never enlarge it afterwards.
- 6. It is not inverted, tinted mid-grey, or styled into dots. Dark on light, square modules, sharp corners. Our testing found inverted codes read zero times out of every attempt.
Before you approve the layout
- 7. The size matches the reading distance. Width equals distance divided by ten, rounded up. 30 cm reading distance means a 30 mm code. The size guide has a table by job.
- 8. The quiet zone is intact. Four empty modules on every side, with nothing crossing into them — no rule, no border, no photograph edge, no fold, no die-cut.
- 9. It is not in the bleed. Trimming tolerance is ±1–2 mm, which on a small code is several modules of quiet zone.
- 10. There is a line of text saying what it does. "Scan for the menu" gets scanned; a bare square gets ignored. Add the URL in small type as a fallback.
On the printed proof
This is the part that gets skipped, and it is the part that catches the expensive problems. Print the proof on the actual stock, at the actual size.
- 11. Scan the paper, not the screen. Ink spread, absorption and dithering all shave at module edges, and that scattered damage is the kind error correction handles worst — four to seven times worse than a single blot, in our measurements.
- 12. Scan it under real conditions. Four variations, all of which matter:
- the oldest phone you can find, not the newest
- the native camera app, not a dedicated QR reader
- at the real distance, in the real light — the restaurant at dinner, the pavement at dusk
- at an angle of roughly 30°, which is how anyone actually approaches a code on a table or a wall
If something fails, why QR codes stop working walks through how to tell which of the twelve usual causes you are looking at.
Written by Manuel Llovet, who builds and maintains QR Code Free Forever. Published 2026-08-31, last checked 2026-09-08. Figures and measurements on this page were produced for this site; the method is described in each caption.