Blog
QR code size and scan distance: the numbers, not the guesses
The 10:1 rule, why module size is the real measurement, and how a shorter URL buys you a physically larger square at the same print size.
By Wasim Idrishi · Updated · 4 min read
Every conversation about QR size ends up in the wrong units. People ask how many centimetres the code should be. The scanner does not measure centimetres — it measures modules, the small squares the symbol is built from, and it needs each one to land on enough camera pixels to be resolved.
Get the module size right and the centimetres follow.
The rule that actually works
Width of the code is about one tenth of the distance it will be scanned from. It is a rule of thumb rather than a clause in the standard, and it holds up because it encodes something real: a phone camera at distance D resolves roughly a fixed angular size, and a ten-to-one ratio keeps a typical symbol's modules above that threshold.
| Where it lives | Scanned from | Minimum width | Comfortable width |
|---|---|---|---|
| Business card, receipt | 20 cm | 2 cm | 2.5 cm |
| Table tent, menu, packaging | 40 cm | 4 cm | 5 cm |
| A4 poster in a lift | 1 m | 10 cm | 12 cm |
| Shop window, seen from the pavement | 3 m | 30 cm | 35 cm |
| Trade show banner | 5 m | 50 cm | 60 cm |
The comfortable column is what to actually print. The minimum column assumes a good camera, even lighting and a clean print, and real environments rarely give you all three.
Why the payload changes the physical size
A QR symbol comes in versions. Version 1 is 21 modules a side, and each version adds four modules. The version is chosen by how much data you put in and how much error correction you ask for.
| Version | Modules a side | Characters at level M |
|---|---|---|
| 1 | 21 | 14 |
| 2 | 25 | 26 |
| 3 | 29 | 42 |
| 4 | 33 | 62 |
A gc.mw QR encodes https://gc.mw/abcd?qr — 21 characters, including the marker that lets us count scans
separately from clicks. That fits version 2 at level M: 25 modules a side.
A typical campaign URL with UTM tags is 60 to 120 characters, which is version 4 or 5. Print both at 3 cm and the short link gives you 1.2 mm modules while the long URL gives you 0.8 mm or less. In a shop with fluorescent lighting and a two-year-old phone, that difference is the entire scan rate.
Error correction, and the trap inside it
Four levels exist: L recovers about 7 per cent of the symbol, M about 15, Q about 25, H about 30. Higher levels survive more damage — a scratch, a fold, a coffee ring, a logo.
The trap is that error correction data occupies the same symbol. Raise the level and the same content needs a higher version, so at a fixed print size every module shrinks. A code at level H printed small can be measurably harder to scan than the same content at level M, because you traded resolution for redundancy you did not need.
Our default is level M, which is the right answer for almost every printed link. It goes to H automatically when a centre logo is placed, because then you genuinely are destroying a quarter of the symbol on purpose.
QR Code Generator
Open the full toolTesting it properly
Print at final size on final stock
A code on office paper and a code on matte laminate behave differently. Laminate reflects; uncoated stock spreads ink. Test what you will actually produce.
Use the worst phone in the office
A three-year-old mid-range Android with a smudged lens is the median scanner, not your new iPhone.
Stand where the customer stands
Not leaning over the desk. If it is a window decal, go outside on a sunny day and try it from the pavement, at an angle, with the reflection.
Check the quiet zone survived
Layout tools crop. Confirm four modules of white on every side in the final PDF, not in the source file.
When to stop using a QR code
If the reader is more than about 5 m away, or moving, or the code will be printed under 1.5 cm, a QR code is the
wrong tool. Print a short link people can read and type instead — gc.mw/menu is ten characters and works from a
moving bus, which no QR code does.
Questions people ask
What is the smallest QR code that still works?
About 2 cm across for a code scanned at arm's length, and that assumes a short payload, good contrast and clean printing. Below roughly 1.5 cm the modules on a typical version 2 or 3 symbol fall under 0.5 mm, which is where ordinary phone cameras and ordinary printing start to fail together.
Does higher error correction make a code more reliable?
Only against damage, and it costs you data capacity. Going from level M to level H on the same content usually pushes the symbol up a version or two, so each module gets smaller at the same print size — which makes it harder to scan, not easier. Use H when the centre is covered by a logo, or when the code will be printed on something that gets scuffed.
Why does a shorter link make a better QR code?
Fewer characters means fewer modules. A gc.mw short link encodes as a 25-by-25 module symbol; a 60-character campaign URL needs 37 by 37. Printed in the same 3 cm square, the first has 1.2 mm modules and the second has 0.8 mm. Same paper, same camera, very different scan rate.
How much quiet zone do I need?
Four modules of clear space on every side, per ISO/IEC 18004. On a 25-module symbol that is roughly a sixth of the code's width in blank space around it. The SVG from gc.mw includes two modules; add the rest in your layout.
Is there a maximum useful size?
Practically, yes. Beyond about 60 cm the limit stops being the code and becomes the phone camera's ability to focus and the person's willingness to walk closer. For billboards, a short readable URL printed in large type outperforms a giant QR code.
Sources
- ISO/IEC 18004:2015 — QR Code bar code symbology specification — checked 5 September 2026
- Denso Wave: QR Code versions and data capacity — checked 5 September 2026
Keep going
Try it with your own link
Paste a long link and get a 10-character gc.mw link with a QR code. No account needed for 30 days; free forever with one.