
August 8, 2026
QR Code Size by Use Case: Minimum Requirements for Every Application
By Said Ouarrak · Founder
The most common QR code failure in the wild is not a broken payload — it is a code printed smaller than its scan distance allows. A business-card-sized QR code placed on a wall becomes decorative; a billboard-sized code squeezed onto a flyer becomes a pixel-blur. Underneath all of it sits a single maths relationship you can use on any medium: the code's width should be about one tenth of the distance it will be scanned from, with a practical floor of about 2 cm. In this guide we derive that relationship from the module grid, apply it to real measured grids from this site's generator, and give you a per-use-case table you can actually rely on.
The 10:1 rule and why it exists
A QR code is built from modules — the tiny black and white squares. A camera must resolve enough pixels per module to tell black from white, which is why a smaller code requires a closer scan. The industry-standard rule of thumb, documented since the early Denso Wave design guidance, is:
Minimum printed width ≈ scan distance ÷ 10
A code scanned from 50 cm should be at least 5 cm wide; from 1 m, at least 10 cm; from 3 m, at least 30 cm. To check an existing code in reverse: multiply its printed width by 10 to find the maximum distance it can reliably be scanned from. A 4 cm sticker, for example, tops out at about 40 cm — scan it from a metre and the modules are too small for the camera to resolve.
Two more constraints sit under the rule:
- A practical floor of about 2.0–2.5 cm. At very close range the formula shrinks below what most phone cameras can reliably resolve. 2 cm is the accepted minimum for a standard code under good conditions; 2.5 cm is the comfortable floor.
- Each module should be at least ~0.5 mm in print. Industry practice holds that below roughly half a millimetre per module, smartphone focus and resolution make scanning unreliable.
What determines the module count: measured grids
The physical width is modules per side × module size. The module count is set by (a) how long your payload is and (b) which error-correction level you choose — the choice explained in our error-correction guide. We measured the real grids produced by this site's encoder for byte-mode payloads:
| Payload length | L | M | Q | H |
|---|---|---|---|---|
| 10 characters | 21×21 | 21×21 | 21×21 | 25×25 |
| 50 characters | 29×29 | 33×33 | 37×37 | 41×41 |
| 100 characters | 37×37 | 41×41 | 49×49 | 57×57 |
Note that these are module counts, not physical sizes — the same 21×21 code can be a 2 cm sticker or a 2 m banner. The module count becomes physical only once you fix the scan distance.
Applying the rule to measured grids
The table below uses a real 29-character URL (the grid sizes for this exact payload are L=25, M=29, Q=29, H=33). The left column is the width the 10:1 rule demands for each scan distance; the cells show the resulting module size in millimetres at each correction level:
| Scan distance | Rule width | Module size L | Module size M | Q | Module size H | Verdict |
|---|---|---|---|---|---|---|
| 10 cm | 10 mm | 0.40 | 0.34 | 0.30 | Below the 0.5 mm floor — use ~2 cm instead | |
| 20 cm | 20 mm | 0.80 | 0.69 | 0.61 | OK; drops to level L if space is tight | |
| 30 cm | 30 mm | 1.20 | 1.03 | 0.91 | Comfortable for all four levels | |
| 50 cm | 50 mm | 2.00 | 1.72 | 1.52 | Standard poster or window size | |
| 1 m | 100 mm | 4.00 | 3.45 | 3.03 | Indoor signage, menus on stands | |
| 3 m | 300 mm | 12.00 | 10.34 | 9.09 | Street-level signage | |
| 5 m | 500 mm | 20.00 | 17.24 | 15.15 | Building fascia, large-format |
Two practical lessons hide in this table. First, at every scan distance past the floor, the width matters more than the level — switching from M to H costs you only a fraction of a millimetre per module, not centimetres. Second, at 10 cm the rule collides with the 0.5 mm module floor, which is exactly why printed codes below ~2 cm are unreliable no matter what the formula says.
Size reference by use case
Combine the rule, the floor, and materials adjustments and you get a consistent reference table:
| Use case | Typical distance | Recommended size | Notes |
|---|---|---|---|
| Business card | 15–25 cm | 2–3 cm | Corner or back; +15–20% if glossy |
| Sticker / label | 15–30 cm | 2–3 cm | Flat panel only; avoid curved surfaces |
| Flyer / hand-out | 30 cm | 3 cm | Bottom corner with a clear CTA line |
| Menu / table tent | 30–40 cm | 3–4 cm | Top corner of the first page |
| Product box | 15–30 cm | 2.5–3 cm | Flat side panel, not the shrink-wrap edge |
| Indoor poster | 1 m | 10 cm | 5 cm only if it will always be read close up |
| Store window | 2–3 m | 20–30 cm | Matte material; +20% on glass glare |
| Street signage | 3 m | 30 cm | One-third to one-half of the wall if there is room |
| Billboard | 5–10 m | 50–100 cm | For pedestrians/stopped cars, never moving traffic |
| TV / digital signage | 2–3 m | 10–15 cm | Lighthouse-refresh URLs aren't your enemy; small text is |
| Vehicle / menu board | 2–3 m | 25–35 cm | Curved vinyl: add 20–25% |
The exact number for a specific deployment should come from your measured grids and your distance, not from a generic table — generate the code, then check it against the rule.
How to size a code in 5 steps
Step 1 — Measure your real scan distance. The distance people will actually be when they scan, not the distance you hope they'll be. Business cards are scanned at arm's length (~20 cm); menus are read from across a table (~30–40 cm); shop windows are scanned from the pavement side (~2–3 m). Walk the placement, hold out your arm, and write the number down.
Step 2 — Generate the real payload at a sensible level. Use this site's free QR generator with the final URL or text and error correction set to M, or H if you plan a logo or rough treatment (see our damage-tolerance data for why H matters). Keep the payload short — every extra character adds modules, and shorter payloads let you print smaller. A short elegant URL beats a long UTM-riddled one for print purposes.
Step 3 — Fetch the module count and apply the rule. Read the measured grid for your payload length and level from the table above (or generate and count). The required width is your scan distance divided by 10; if that width divided by your module count falls below 0.5 mm per module, step up to the 2 cm floor before accepting the size.
Step 4 — Export at the right resolution. Download SVG and set the physical dimensions in your design tool — a vector file redraws perfectly at any print size. If you must use a raster, export at 300 DPI minimum for small codes; large-format print can drop to 150 DPI because the viewing distance compensates.
Step 5 — Add quiet zone and verify at distance. Keep at least four modules of clear space on every side (roughly 15% of the width) — scanners need it to find the code's edge. Then print one test copy, stick it in place, and scan from the distance you measured in step 1. That single physical test catches more failures than any formula.
Troubleshooting
The code looks fine on screen but dies on paper. You printed the exact template size instead of measuring the scan distance. Take the printed width, multiply by 10; if your scan distance exceeds that number, the size was never viable. Re-export at the rule-demanding width.
My code scanned from the editor at 1.5 cm. Screen preview at arm's length is a flattering liar: the display shows modules crisp against a bright backlight and zero glare. Paper has no backlight; glossy stock blanks modules with reflection. Re-test on the real material before production.
The QR on the glossy box won't scan. Glossy and laminated surfaces cost you 15–30% in contrast. Either enlarge the code by that margin, switch to a matte finish for the code area, or add a small flat matte panel under the code.
A curved bottle or can is causing failures. Curvature distorts the module grid. Place the code on a flat panel (lid, bottom, or a straight section) and never across an edge seam — modules spanning a seam shatter two code areas at once.
FAQ
What is the absolute minimum QR code size? About 2 cm, established by the 0.5 mm module floor and camera focus limits — even though the 10:1 rule at 10 cm says 1 cm. Below roughly 2 cm, reliability collapses and no contrast tricks rescue it.
How do I find the maximum scan distance of an existing code? Multiply its printed width by 10. A 5 cm code is reliable to ~50 cm; a 2 cm business card code to ~20 cm.
Does a higher error-correction level make the printed size bigger? Yes, because it adds modules. At 50 characters, L measured 29×29 and H measured 41×41 (see the error-correction guide) — roughly double the surface at the same print density.
What DPI do I need when exporting a raster QR? At least 300 DPI at final print size for codes under ~8 cm; 150 DPI is acceptable for large signage where viewing distance compensates. SVG avoids the question entirely.
Where on a package should the code go? A flat, uncurved panel a reader can approach at 15–30 cm, oriented the same way as the surrounding text, with its quiet zone clear of perforations and seams.
Size it before you print it
Under-sizing is the cheapest failure you can design out: it costs nothing to print a code 20% larger, and everything to reprint a campaign because a 3 cm sticker was scanned from a metre. Measure the distance, fetch the module count, apply the rule and the floor, and confirm with one physical test scan before the plates are made.
Generate your QR code at the right size — export SVG, set the physical dimensions from the 10:1 rule, and print with confidence.