# The 10:1 QR code distance rule, derived

> Print a QR code at least one tenth as wide as its scanning distance. At that ratio the code fills roughly 8% of a phone camera's frame, giving the decoder around 4 pixels per module on a mid-density code. Switch to 8:1 in poor light, at an angle, or for dense codes.

Source: https://useqr.app/docs/print/the-10-to-1-distance-rule · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

## The rule

```
minimum printed width = scanning distance ÷ 10
```

A code read from 50 cm needs 5 cm; from 2 m, 20 cm; from 10 m, 1 m. The width is the code
itself — the [quiet zone](/glossary/quiet-zone) is additional clear space, not part of the
measurement.

## Where the ten comes from

The rule is camera arithmetic, not folklore.

A phone's main camera has a horizontal field of view of roughly 65–70°, which means the
frame spans about **1.2–1.4 × the distance** to the subject. A code sized at distance ÷ 10
therefore occupies roughly 7–8% of the frame width.

Detection does not run on the full 12-megapixel sensor. Scanners typically process a
preview stream of 1080–1920 pixels across, so that 7–8% slice of frame is **90–160 pixels
across the code**. Spread those pixels over a version 4 symbol — 33 modules per side — and
each [module](/glossary/module) gets about **3–5 pixels**.

A decoder needs roughly 2–3 pixels per module to threshold dark from light reliably. So
ten-to-one lands a mid-density code just above the sampling floor, with margin left for
imperfect focus, hand shake and lighting. That is the whole derivation: field of view,
preview resolution, pixels per module.

## The table, at 10:1 and 8:1

| Scanning distance | 10:1 width | 8:1 width |
|---|---|---|
| 30 cm | 3 cm | 3.8 cm |
| 50 cm | 5 cm | 6.3 cm |
| 1 m | 10 cm | 12.5 cm |
| 2 m | 20 cm | 25 cm |
| 3 m | 30 cm | 37.5 cm |
| 5 m | 50 cm | 62.5 cm |

## When to use 8:1

Moving to 8:1 buys 25% more pixels per module. Spend that margin whenever the derivation's
assumptions fail:

- **Low light.** Sensor noise eats the contrast the thresholder relies on — common for
  [outdoor and evening placements](/docs/print/qr-codes-outdoors-durability).
- **Steep angles.** Beyond about 30° off axis, modules foreshorten in one dimension.
- **Dense codes.** Version 6 and above spread the same pixels over more modules.
- **Glare-prone surfaces** — laminated menus, glass, gloss posters.
- **Older or budget phones** with lower preview resolution.

## What the rule assumes

It assumes a moderate payload, roughly version 2–4. A 40-character URL at error correction
M qualifies; a vCard does not. For dense payloads the per-module maths takes over, which is
exactly what the [size calculator](/size-calculator) computes — it returns a larger answer
than 10:1 whenever density demands it, as explained in
[how the calculator works](/docs/print/qr-code-size-calculator-explained).

The rule also says nothing about print quality. Each module still has to clear the
substrate's floor — 0.4 mm for coated offset, 0.5 mm for thermal at 203 dpi — covered in
the [size pillar](/docs/print/qr-code-size-for-print). And no ratio rescues artwork that
does not decode in the first place, so run it through the [validator](/validate) before
committing to print.

## FAQ

### What is the 10:1 rule for QR codes?
Printed code width should be at least one tenth of the scanning distance. A code scanned from 1 m should be at least 10 cm wide. It is a sizing floor derived from phone camera field of view and the decoder's need for a few pixels per module.

### How far away can you scan a QR code?
About ten times its width in good conditions: a 10 cm code from roughly 1 m, a 1 m code from roughly 10 m. Poor light, steep angles and dense payloads shorten that range, which is why conservative designs use eight times the width.

### When should I use 8:1 instead of 10:1?
In dim light, on glossy or glass surfaces, when readers approach at an angle, when the code is version 6 or denser, or when your audience skews toward older phones. The extra size buys 25% more pixels per module.

### Does the quiet zone count toward the 10:1 width?
No. The ratio applies to the code pattern itself. The four-module quiet zone is required clear space on top of that width, on every side.

## Try it

- https://useqr.app/size-calculator
- https://useqr.app/validate
- https://useqr.app/url
