Minimum width is roughly scan distance divided by ten — everything else is what pushes that number up.
Minimum printed width is about the maximum scan distance divided by ten. A code read from 1 m needs to be at least 10 cm wide. A code read from 30 cm needs about 3 cm. That ratio is roughly how much of the camera frame the code has to fill before a phone can resolve the individual squares, called modules.
Work it from the far end. Decide the furthest point at which someone will realistically stand or sit, convert both numbers to the same unit, divide by ten, then round up. Rounding up is free; a reprint is not.
The rule assumes a modern phone camera, decent light, a flat surface and a code carrying a moderate amount of data. Break any of those — a dim bar, a gloss laminate, a 140-character URL, a curved bottle — and add 20 to 50 percent on top.
Minimum width = scan distance ÷ 10. Then add margin for low light, glare, curves and dense data. Nobody has ever complained that a QR code was too big.
These are working minimums, not targets. Each assumes a dark code on a light background, a short URL, and a full quiet zone. When you are between two sizes, take the larger one.
| Surface / use | Typical scan distance | Minimum width | Comfortable width |
|---|---|---|---|
| Business card | 10–15 cm (4–6 in) | 1.5 cm (0.6 in) | 2 cm (0.8 in) |
| Product label, small packaging | 20–30 cm (8–12 in) | 2 cm (0.8 in) | 2.5–3 cm (1–1.2 in) |
| Flyer, A5 leaflet, receipt | 25–40 cm (10–16 in) | 2.5 cm (1 in) | 3 cm (1.2 in) |
| Menu or table tent | 30–50 cm (12–20 in) | 3 cm (1.2 in) | 4 cm (1.6 in) |
| A4 / A3 poster at arm's length | 50–80 cm (20–32 in) | 5 cm (2 in) | 7 cm (2.8 in) |
| Wall poster, corridor or lift sign | 1.5–2 m (5–6.5 ft) | 15 cm (6 in) | 20 cm (8 in) |
| Window decal read from the pavement | 1.5–3 m (5–10 ft) | 20 cm (8 in) | 30 cm (12 in) |
| Trade-show banner | 2–3 m (6.5–10 ft) | 25 cm (10 in) | 35 cm (14 in) |
| Vehicle livery, parked | 4–5 m (13–16 ft) | 40 cm (16 in) | 60 cm (24 in) |
| Billboard | 20–50 m (65–165 ft) | 2–5 m (6.5–16 ft) | As large as the layout allows |
More data means more modules, and more modules at the same physical width means every module gets smaller. A QR code is a fixed grid: version 1 is 21×21 modules, and each version up adds four modules per side, all the way to 177×177 at version 40.
A 25-character short link at error correction M lands around version 2, a 25×25 grid. Push the same code to a 120-character URL with tracking parameters and you are near version 7, a 45×45 grid. Printed at the same 2 cm, each module shrinks from 0.8 mm to about 0.44 mm — and 0.4 mm is roughly where everyday printing and phone cameras start to give up.
Error correction does the same thing from the other direction. Levels L, M, Q and H recover roughly 7, 15, 25 and 30 percent of a damaged code, but that redundancy is stored as extra modules. Moving a fixed payload from L to H can add several versions to the grid.
The quiet zone is the blank margin around the code, and the specification is four modules on every side. It is not styling — it is how a scanner finds the edge of the grid. Cropping it is the single most common cause of a printed code that will not scan.
Because it is measured in modules, it scales with the code. On a 2 cm code built from a 25×25 grid, each module is 0.8 mm and the quiet zone is 3.2 mm on each side. On a 20 cm poster code, the same rule gives you several centimetres of empty space.
The margin has to be the same flat, light color as the code background: no text, no logo, no photograph bleeding in, no border rule running along the edge. Designers usually lose it in one of two ways — trimming the exported image tight to the pattern, or butting the code up against a colored panel in the layout.
Curves distort the grid, and scanners tolerate less distortion than most people expect. On bottles, cans, tubes and pouches, size up by 20 to 30 percent and keep the code off the tightest part of the curve.
Use a matte or satin laminate. Gloss creates a specular hotspot: overhead light bounces off the varnish straight into the lens, and the camera sees a blown-out white patch where modules should be.
This is why laminated menus and glossy table tents fail under downlights while the identical artwork scans fine on plain paper. If the finish is already decided and it is gloss, compensate with extra size, error correction Q or H, and placement that keeps the reflection angle away from where people hold their phone.
Metallic inks, spot varnish over the pattern and foil all cause the same problem. So does uncoated kraft, fabric and corrugated board, where ink spreads and thickens the modules. Ask the printer for their smallest reliable feature size on that stock — they will know it, and it is usually larger than you assumed.
Print one before you print ten thousand. A proof at final size, on the final stock, with the final finish, tested in the room where it will actually live, catches problems that no on-screen check will.
Static codes cannot be edited after download, so a print run with a code that scans badly is a reprint. Ten minutes with a paper proof is the cheapest insurance on the job.
Free, no sign-up, and your code never expires.
Got your code? ☕ Buy me a coffee — it keeps this tool free for everyone.