QR code size for print: the definitive chart
The 10:1 rule, minimum sizes for business cards, flyers, posters and billboards, plus the quiet zone and resolution numbers printers actually need.
Most QR codes that fail in the real world fail for one boring reason: they were printed too small for the distance they are read from. The design was fine. The data was fine. The physics were not.
The 10:1 rule
The single number worth memorising:
A QR code should be at least one tenth of the distance it will be scanned from.
Read at 30 cm? The code needs to be at least 3 cm. Read from 5 metres across a shop floor? 50 cm. It scales linearly, and it is unforgiving.
This rule exists because a camera has to resolve the individual modules — the small squares. Too far away and neighbouring modules blur into each other, and no amount of error correction recovers that.
Minimum sizes by medium
Sizes below assume a short payload (a URL under about 40 characters) and good print contrast.
| Medium | Scan distance | Minimum size | Comfortable size |
|---|---|---|---|
| --- | --- | --- | --- |
| Business card | 15–25 cm | 1.5 cm | 2 cm |
| Product label | 20–30 cm | 2 cm | 2.5 cm |
| Restaurant table tent | 30–50 cm | 3 cm | 4 cm |
| Flyer or magazine ad | 30 cm | 2.5 cm | 3.5 cm |
| Window sticker, shopfront | 1–2 m | 12 cm | 20 cm |
| A1 poster | 1.5–3 m | 20 cm | 30 cm |
| Trade show banner | 3–5 m | 40 cm | 50 cm |
| Billboard | 15–30 m | 1.5 m | 3 m |
Note the billboard row. This is why most billboard QR codes never worked: a code the size of a dinner plate on a motorway sign is decorative, not functional.
The quiet zone is not optional
Every QR code needs an empty margin around it — the quiet zone. The specification asks for 4 modules of blank space on all sides.
Skip it and scanners struggle to find where the code begins. The most common version of this mistake is placing a code flush against the edge of a label, or letting a background photo run right up to it.
The quiet zone must be the same colour as the code background, and it must be genuinely empty. No text, no border, no logo.
Data density changes everything
The sizes above assume a short URL. The more you encode, the more modules the code needs, and the smaller each module becomes at the same physical size.
A short link might produce a 25 x 25 module code. A full vCard with address and job title can easily reach 57 x 57. Printed at the same 2 cm, the modules in the second are less than half the size — and it will fail where the first succeeds.
Two practical consequences:
- Shorten your URLs before encoding. Every character removed makes the printed code more robust.
- If a code looks visually busy, print it larger — or cut data until it does not.
Vector, not raster
For anything going to print, export SVG, PDF or EPS. These are vector: the code is described as shapes, so it stays perfectly sharp whether printed at 2 cm or 2 metres. There is no resolution to get wrong.
If your printer insists on a raster file, the maths is:
pixels = printed size in inches x 300
So a 20 cm (7.9 inch) code needs about 2400 x 2400 px at 300 DPI. Exporting a 500 px PNG and scaling it up in the layout produces soft, fuzzy module edges — a leading cause of unreliable scans.
QRWisp gives you SVG, PDF and EPS for free, which is exactly the case where most generators start charging.
Contrast and colour
Scanners look for a strong light–dark difference:
- Dark modules on a light background. Always this way round. Inverted codes fail on many older scanners.
- Aim for a contrast ratio of at least 4.5:1. Pale grey on white looks elegant and scans badly.
- Avoid red modules. Some monochrome scanners read red as light, not dark.
- Never place a code over a photo or gradient background.
Our generator measures contrast automatically and warns you before you download something that will not read.
Printing surface and ink
A few effects that only show up after the print run:
- Ink spread on uncoated stock. Absorbent paper makes dark modules bleed outward, closing the gaps. Print 10–15% larger than the minimum on newsprint, kraft or cotton.
- Curved surfaces. Bottles and cans distort the grid. Keep codes under about a third of the circumference, and enlarge.
- Glossy laminate. Reflections can wash out the pattern under shop lighting. Matte finishes scan far more reliably.
- Fabric and embroidery. Thread thickness sets your smallest possible module. Expect to need roughly double the paper size.
Test before the run, not after
The step almost everyone skips:
- Print one code at the exact final size, on the actual material.
- Scan it with a cheap old Android phone, not your newest iPhone.
- Try it in dim light, at an angle, and from the real distance.
- Only then approve the full run.
Five minutes here has saved a lot of reprints.
Quick reference
- Code size ≥ 1/10 of scan distance.
- 2 cm minimum for anything handheld.
- 4 modules of empty quiet zone, always.
- Vector for print; 300 DPI if forced to raster.
- Dark on light, contrast 4.5:1 or better.
- Shorter data means a more robust code.
- Test one physical print before committing.