What size should a QR code be for print?
The distance rule, real minimum sizes, and a table you can check before sending artwork to print.
Print a QR code too small and it fails silently — you find out after the run, from customers who do not tell you. This is the one QR decision worth getting right before you send artwork.
The 10:1 rule
Minimum width = scanning distance ÷ 10.
Someone scanning from 1 metre needs a code about 10 cm across. From 5 metres, 50 cm. It is a rule of thumb rather than a specification, but it is the one the industry works to and it holds up well.
Two things it assumes: a reasonably short payload, and error correction at level M or below. Both change the answer, and both are covered below.
Minimum practical size
Regardless of distance, about 2 cm (¾ inch) is the floor for a short URL.
Below that, two limits bite. Printer dot size stops resolving individual modules cleanly, and phone cameras cannot focus close enough to fill the frame with something that small. A 1 cm code with a long URL in it is not a small QR code — it is a grey square.
If you genuinely need something tiny, shorten the payload first. That is the only lever that reliably works.
A size table
Assumes a short URL (under about 50 characters) at error correction level M. Add 25–50% for longer payloads or level H.
| Where | Scanned from | Minimum | Comfortable |
|---|---|---|---|
| Business card | 20–30 cm | 1.5 cm | 2 cm |
| Table tent, menu | 30–50 cm | 2 cm | 2.5–3 cm |
| Product packaging | 20–40 cm | 1.5 cm | 2.5 cm |
| Flyer, A5 leaflet | 30–40 cm | 2 cm | 3 cm |
| Poster (A3) | 1–2 m | 10 cm | 15 cm |
| Shop window | 1.5–2.5 m | 20 cm | 25 cm |
| Trade show banner | 2–3 m | 25 cm | 30 cm |
| Billboard | 10 m+ | 1 m | 1.5 m+ |
“Comfortable” is what to actually use. The minimum column is where it starts failing for some people on some phones — which you will never hear about.
Three things that change the answer
Payload length. More characters means more modules in the same physical area, so each module is smaller. A 200-character tracking URL can need a code half again as large as a 30-character one. Shortening the URL is almost always cheaper than enlarging the code.
Error correction level. Higher levels add redundancy, which adds modules. A level H code is meaningfully denser than the same content at level L. Worth it for anything handled or outdoors — just size up to match.
Surface. Matte paper is the baseline. Add size for fabric, corrugated card, curved surfaces, and anything glossy. Foil and high-gloss laminate throw reflections and deserve both extra size and a matte panel if you can get one.
Use SVG, not PNG
For anything going to print, export SVG.
SVG is vector: it describes the squares mathematically, so it stays perfectly sharp at any size, from a business card to a billboard. PNG is a fixed grid of pixels — enlarge it and the module edges soften, which is precisely the blur that stops a scan.
If your printer insists on a raster file, export PNG and scale it down to final size, never up. Ask for at least 300 DPI at final print size.
Never send a JPEG. JPEG compression puts ringing artefacts around every hard edge, and a QR code is nothing but hard edges.
The QR code generator exports both formats.
Do not crop the quiet zone
The white margin is part of the code — four modules’ width, roughly as wide as one of the corner squares. Scanners use it to find the code’s boundary.
It looks like wasted space in a tight layout, and it is the single most common thing a designer removes. Removing it breaks the code.
Test before the run
Print one copy at final size on the actual stock. Scan it:
- from the distance people will really stand at
- in the lighting of the actual location, not your desk
- with at least two different phones, ideally one iPhone and one Android
- at an angle, not just straight on
One test print costs almost nothing. A reprint of 5,000 menus does not.
If it fails, why is my QR code not scanning works through the causes in order.