QR code size for print: the numbers that actually matter
Overall size is the number everyone looks at. Module size is the number that decides whether it scans.
Two numbers, not one
People size QR codes by how big the square looks. The decoder does not see a square — it samples individual modules, and what matters is how large each of those is in millimetres.
Module size = printed width ÷ module count.
Two codes printed at an identical 25mm can behave completely differently. A short URL produces a 25×25-module code with 1.0mm modules. A long URL with campaign parameters produces a 53×53-module code with 0.47mm modules. Same size, same printer, and only one of them reliably scans.
The distance rule
The widely used guideline is that a code should be about one tenth of the distance it is scanned from. It is a rule of thumb rather than a specification, and it is conservative enough to be useful.
| Placement | Typical distance | Minimum size |
|---|---|---|
| Business card | 20–25cm | 20mm |
| Table tent, menu | 30–50cm | 30–40mm |
| Product packaging | 20–30cm | 20–30mm |
| Flyer or poster (handheld) | 30–60cm | 30–60mm |
| Window decal | 1–2m | 10–20cm |
| Van or vehicle | 2–4m | 20–40cm |
| Yard sign | 3–5m | 30–50cm |
| Billboard | 10m+ | 1m+ |
Yard signs are where this rule bites hardest. Almost nobody prints a 40cm code on a sign, which is why so many of them go unscanned.
Module size floors
Having picked a size from distance, check the module size holds up:
- 0.5mm — absolute floor, clean indoor print on coated stock, scanned carefully at close range.
- 0.75mm — anything handled, outdoors, or on uncoated card.
- 1.0mm or more — vehicle graphics, signage, anything scanned in motion or in poor light.
If the distance rule and the module floor disagree, take the larger. If that is impossible, shorten the content rather than shrinking the modules.
Shortening the content
The most effective size optimisation is encoding less. A dynamic code's address stays around 30 characters regardless of how long the destination is, which keeps the code at a low version with large modules.
If you must use a static code, point it at a short URL on your own domain
(yoursite.com/menu) rather than a long path with parameters. The gain is real:
dropping from 180 characters to 25 can take a code from version 9 down to version 2,
roughly doubling the module size at the same printed dimensions.
Print production details
- Use vector. SVG, EPS or PDF. A raster PNG scaled up in a layout tool produces soft module edges.
- Mind dot gain. Flexographic and offset printing spread ink, which thickens dark modules and effectively shrinks the light ones. Print larger than the digital proof suggests and talk to the printer.
- Matte over gloss anywhere there is direct light.
- Keep it off folds and curves. A code across a carton crease will crack along it.
- Raise error correction outdoors — Q or H buys tolerance for dirt, rain and scuffing.
Working it out in practice
Our generator shows version, module count and a recommended minimum size for the exact code you are making. If you are sizing a code by eye and it is failing at what looks like a generous size, calculate the module size first — the answer is almost always there.
Related questions
What resolution should I export at?
Use vector (SVG, EPS, PDF) and resolution stops being a question. If you must use PNG, export at a pixel size at least 10× the printed millimetre dimension, so a 30mm code wants 300px minimum — and prefer more.
Can a QR code be too big?
Practically, no. Very large codes scanned from very close can fall outside the camera's frame, but the fix is simply stepping back. Too small is the failure mode that actually happens.
Related reading
Do QR codes expire? The honest answer
QR codes do not expire. The services behind some of them do. Here is the difference, and how to tell which kind you are holding.
Static vs dynamic QR codes: which one to print
The real trade-off between static and dynamic QR codes, with a decision rule and the cases where each one is clearly right.
How to test a QR code before you print 500 of them
A pre-print checklist for QR codes: the eight checks that catch almost every failure, and the one test nearly everyone skips.