# QR code density and scan distance

> A QR code should be at least one tenth of the scan distance wide, and its module size is that width divided by the module count plus eight quiet-zone modules. Denser codes therefore need more physical width at the same distance — a version 6 code at 2 m needs about 20 cm.

Source: https://useqr.app/docs/spec/qr-code-density-and-scan-distance · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

## Two numbers decide everything

Whether a code scans at a given distance comes down to:

1. **How many modules** it has — set by payload length and error correction level.
2. **How big each module is** — set by the printed width divided across those modules.

The working formulas:

```
minimum code width  ≈ scan distance ÷ 10        (the 10:1 rule)
module size         = code width ÷ (modules per side + 8)
```

The `+ 8` accounts for the [quiet zone](/glossary/quiet-zone) — four clear modules on each
side, which count toward the space the code occupies. The
[10:1 rule](/docs/print/the-10-to-1-distance-rule) is a field heuristic for phone cameras in
decent light, not a law: comfortable margins, difficult conditions and older cameras all push
toward larger.

## The table

Module sizes that result from the 10:1 width at four distances:

| Version (grid) | 0.5 m → 5 cm | 1 m → 10 cm | 2 m → 20 cm | 5 m → 50 cm |
|---|---|---|---|---|
| 2 (25 × 25) | 1.5 mm | 3.0 mm | 6.1 mm | 15.2 mm |
| 4 (33 × 33) | 1.2 mm | 2.4 mm | 4.9 mm | 12.2 mm |
| 6 (41 × 41) | 1.0 mm | 2.0 mm | 4.1 mm | 10.2 mm |
| 10 (57 × 57) | 0.8 mm | 1.5 mm | 3.1 mm | 7.7 mm |

Each cell is `width ÷ (side + 8)`. Read it two ways: at a fixed distance, denser versions
give smaller modules (harder on the camera); for a fixed version, distance scales width
linearly. A fuller matrix lives in the
[size-by-distance table](/docs/reference/qr-code-size-by-distance-table), and the
[size calculator](/size-calculator) runs the numbers for your exact payload.

## Where density actually bites

The 10:1 rule sizes the whole code, but the camera resolves *modules*, not codes. That is
why density matters independently of width: a version 2 and a version 10 code printed at the
same 10 cm are equally "big", yet the version 10 modules are 40% the size, and the phone must
be correspondingly closer or sharper. The camera side of this arithmetic is covered in
[module size vs camera resolution](/docs/spec/module-size-vs-camera-resolution).

Practical floors worth keeping:

- **Module size ≥ 0.4 mm** for close-range print on a decent printer — below this, ink
  spread starts merging modules.
- **Code width ≥ 2 × 2 cm** for anything scanned by hand, whatever the maths says.
- **Distance ÷ 10**, then round up. Nobody has ever complained a QR code was too large.

## Shrinking density instead of growing print

If the width the formula demands does not fit the design, attack the numerator:

- Shorten the payload — [longer URLs step the version up](/docs/spec/why-longer-urls-make-denser-codes)
  four modules a side at a time.
- Drop error correction from H to M if there is no logo and no expected damage; that alone
  can save two or three versions on a long URL.
- Rebalance the layout. A [poster](/qr-codes-on/posters) read at 2 m simply needs its 20 cm;
  a code that cannot have it belongs somewhere the reader stands closer.

## FAQ

### How far away can you scan a QR code?
Roughly ten times the code's width, for a phone camera in reasonable light. A 10 cm code works to about 1 m, a 50 cm code to about 5 m. Dense codes, dim light and older cameras all reduce the range.

### What size QR code do I need for 2 metres?
About 20 cm wide by the 10:1 rule. At that width a version 4 code has 4.9 mm modules — comfortable. A version 10 code at the same width drops to 3.1 mm modules, so keep the payload short for distance scanning.

### Does the amount of data change the scan distance?
Yes, indirectly. More data means more modules in the same width, so each module is smaller and the effective range shrinks. Halving module size roughly halves the distance at which a given camera resolves the code.

### Why does the quiet zone count toward size?
The four blank modules on every side are part of the symbol — decoders need them to isolate the code from its surroundings. When you allocate space in a layout, allocate width ÷ (modules + 8) per module, not width ÷ modules.

## Try it

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