How big should a QR code be? A printer-friendly guide
The 10:1 rule, minimum sizes for common materials, and why the quiet zone matters more than the size itself.
Most unscannable QR codes are not badly generated. They are badly sized, badly placed, or missing their quiet zone.
The 10:1 rule
The usable scanning distance of a QR code is roughly ten times its width. A code 3 cm across scans comfortably at about 30 cm — arm's length. A billboard read from 10 metres needs a code about a metre wide.
Work backwards from where the reader will be standing:
- Business card or table tent: 2–3 cm, read at arm's length
- Product packaging: 2–4 cm, depending on where it sits on the box
- A4 poster: 4–6 cm, read from a metre or two
- Shop window: 8–12 cm, read from the pavement
- Billboard: work from the 10:1 rule and be generous
The quiet zone is not optional
A QR code needs an empty margin around it — four modules wide — for the reader to find its edges. Designers routinely crop this away to fit a layout, and the result is a code that fails on some phones and works on others, which is worse than one that fails consistently.
If you export a code from Qrievo, the quiet zone is included in the file. Do not trim it.
Contrast beats cleverness
Dark code on a light background. Reversed codes (light on dark) work on some readers and not others. Low-contrast brand colours look excellent in a mockup and fail in a badly lit restaurant.
Print vector, not PNG
A PNG scaled up in a layout program turns fuzzy, and fuzzy module edges are exactly what a reader struggles with. Use the SVG or PDF export, which stays sharp at any size, and set the physical size in millimetres before sending it to print.
Test the actual print
Not the screen. Print one at final size on the final material — matte, gloss and textured stock all behave differently — and scan it with the cheapest phone in the office, in the light the customer will actually be standing in.
Material changes the answer
Size advice assumes the code is printed on something flat, matte and pale. Real substrates are not.
- **Gloss and laminate** throw a specular highlight straight back at the camera. A code that scans on office paper can fail on a laminated menu under a downlight. Go one size up and prefer matte finishes.
- **Corrugated cardboard** absorbs ink unevenly and the flutes distort the module grid. Add 20–30% to the size.
- **Fabric and mesh** — banners, tote bags, event backdrops — blur module edges as the weave moves. These need the largest codes relative to reading distance of anything on this list.
- **Curved surfaces** like bottles and cans foreshorten the code. Keep it narrow relative to the curve so the camera sees a near-flat face, and test on the actual container.
When to raise error correction instead
Error correction adds redundant data so the code still reads when part of it is obscured. It is measured in four levels, recovering roughly 7%, 15%, 25% and 30% of the code. Raising it makes the pattern denser for the same physical size, which means smaller modules — so it is not free, and raising it while shrinking the code makes things worse, not better.
Raise it when something will genuinely cover part of the code: a centre logo, a fold, a die-cut, a label edge. Leave it alone when the code will sit clean on a flat surface, and spend the space on making the code larger instead. Size beats redundancy almost every time.