QR Size & Scan Distance Calculator
Work out how large a QR code has to be printed to actually scan.
What you provide
The length of the URL or text. Shorter payloads make larger, more readable modules.
Result
200 mm code for scanning at 2 m
Two things sink more printed QR codes than size does. The quiet zone is the first: four modules of blank space on every side is part of the specification, and a code printed hard against a border or a coloured background often will not scan at all. The second is payload length, since every extra character adds modules and each module gets smaller at a fixed physical size. Shortening the URL, using a redirect, and keeping error correction at M rather than H all buy back readable module size. Print a test at final size and scan it from the real distance before ordering anything.
- Scanning distance
- 2 m
- Minimum code sizeRoughly one tenth of the scanning distance
- 200 mm
- Estimated modulesFor about 40 characters at error correction M
- 33 × 33
- Module size
- 6.06 mm
- Quiet zone each sideFour modules of blank space, and not optional
- 24.2 mm
- Total space needed
- 248 mm
- At 300 dpi
- 2362 × 2362 px
What this cannot tell you
- Sizing arithmetic from established printing rules. It does not generate or read a QR code.
- Module counts are approximate, since real capacity depends on whether the payload is numeric, alphanumeric or mixed. Print a test at final size and scan it from the real distance before ordering anything.
Take this with you
How this calculation works
The working rule across the printing industry is that a QR code needs to be about a tenth of the intended scanning distance across, so a code read from two metres wants to be around 200 mm. That is then checked against a second constraint: each module should be at least 0.4 mm to survive ordinary printing, and a longer payload means more modules packed into the same area. The larger of the two requirements wins, and the quiet zone is added on top.
What the results mean
- Minimum code size
- The printed width of the code itself, before the blank border. Larger is always safer, and the tenth-of-distance rule is a floor rather than a target.
- Module size
- The width of one square in the pattern. Below about 0.4 mm, ordinary printing starts to blur modules together and scanning becomes unreliable.
- Quiet zone
- Four modules of blank space on every side. It is part of the specification, not decoration, and a code printed against a border frequently will not scan at all.
Common problems and fixes
- The code scans on screen but not when printed
- Check the quiet zone and the print resolution. A code placed hard against a coloured background or a frame loses the blank border the scanner needs to find its edges. Then check what the code was exported at: a low-resolution image scaled up for print produces soft module edges that a camera cannot resolve cleanly.
- The code only scans from very close up
- The modules are too small for the distance, which usually means the payload is too long. Every extra character adds modules, and at a fixed physical size each one gets smaller. Shorten the URL, use a redirect so the encoded address is brief, and drop error correction from H to M, which alone removes a noticeable number of modules.
Frequently asked questions
What error correction level should I use?
M for most printed material, which recovers from 15% damage and keeps the code compact. Level H is worth it only where the code will be dirtied, scuffed or partly covered by a logo, and it costs real module density: the same payload at H needs a meaningfully larger code to stay readable.
Can I put a logo in the middle?
Yes, within limits, and it works because of error correction rather than in spite of it. Keep the logo under about 20% of the code area even at level H, leave the three corner markers completely clear, and test the result from the actual scanning distance rather than on a screen.
Does colour matter?
Contrast matters, direction matters, and colour barely does. The code must be darker than its background, never the reverse, since scanners expect dark modules on light. Aim for a strong contrast ratio, avoid gradients across the code, and remember that a glossy laminate can reflect enough light to defeat a scanner entirely.
Put this on your own site
Free to embed, no attribution required beyond the source link the frame carries itself. It runs entirely in your visitor's browser, sets no cookies and loads no third-party script.
<iframe src="https://runthetests.com/embed/qr-size-calculator/" width="100%" height="560" style="border:1px solid #e5e5e5;border-radius:8px" title="QR Size & Scan Distance Calculator" loading="lazy"></iframe>
Preview it at https://runthetests.com/embed/qr-size-calculator/. Embedded pages are marked noindex, so yours stays the canonical copy — not this one.