# The minimum size a QR code can be

> Design to a 2 × 2 cm floor for close-range print. Smaller codes can technically work — a version 2 code is printable at 1 cm — but phone focus limits, module floors of 0.33–0.5 mm depending on the process, and real payload sizes make 2 cm the smallest reliable choice.

Source: https://useqr.app/docs/print/minimum-qr-code-size · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

## Three separate floors

"How small can a QR code be" has three answers, and the binding one is whichever is
largest for your case:

1. **The module floor.** Each [module](/glossary/module) must survive the print process.
   At 300 dpi raster that means **≥ 0.33 mm** (four printer dots); coated offset manages
   0.4 mm; uncoated stock and 203 dpi thermal need 0.5 mm.
2. **The focus floor.** Most phone cameras cannot focus closer than about 5–10 cm, and
   many older ones hunt badly below 10 cm. A tiny code forces the phone into exactly that
   zone.
3. **The distance floor.** Even "in the hand" is 15–25 cm in practice, and the
   [ten-to-one rule](/docs/print/the-10-to-1-distance-rule) turns that into 1.5–2.5 cm.

## The module floor, by version

Minimum printed side at a 0.4 mm module (coated offset), quiet zone excluded:

| Version | Modules | Holds at EC M | Minimum side |
|---|---|---|---|
| 1 | 21 | 14 bytes | 8.4 mm |
| 2 | 25 | 26 bytes | 10.0 mm |
| 3 | 29 | 42 bytes | 11.6 mm |
| 4 | 33 | 62 bytes | 13.2 mm |
| 5 | 37 | 84 bytes | 14.8 mm |
| 7 | 45 | 122 bytes | 18.0 mm |
| 10 | 57 | 213 bytes | 22.8 mm |

Add 3.2 mm of clear [quiet zone](/glossary/quiet-zone) (8 × 0.4 mm) to every figure. The
table is why payload length, not printing, is usually the real constraint: a short URL
fits version 2 and is printable at 1 cm, while a vCard at version 10 cannot legally drop
below about 2.3 cm no matter how good the press is.

## The practical floor: 2 × 2 cm

For anything scanned in the hand, size against the distance people actually hold things
at:

| Holding distance | Minimum code width |
|---|---|
| 10 cm (deliberately close) | 1 cm |
| 15 cm | 1.5 cm |
| 20 cm (typical in-hand) | 2 cm |
| 25 cm | 2.5 cm |

A 1 cm code demands a 10 cm scan distance — precisely where autofocus is least reliable —
and leaves zero margin for print defects. **2 × 2 cm** clears the focus zone, tolerates a
0.4–0.5 mm module at versions 2–4, and is the floor worth designing to. It is the same
floor the [print size pillar](/docs/print/qr-code-size-for-print) uses for close-range
work.

## Shrink the payload, not the code

The failure that produces most unscannable small codes: artwork is finished, then scaled
down to fit a corner of the layout. The version is already fixed, so every module shrinks
below the substrate floor — and the code still
[scans fine on screen](/docs/troubleshooting/qr-code-scans-on-screen-not-in-print), where
pixels are backlit and perfect. If space is tight, shorten what the code encodes so the
version drops and each module grows. That trade is exactly what the
[size calculator](/size-calculator) makes visible, and the
[validator](/validate) will confirm the final artwork still decodes.

For the camera-side theory of how small modules fail, see
[module size vs camera resolution](/docs/spec/module-size-vs-camera-resolution).

## FAQ

### What is the smallest a QR code can be printed?
A version 1–2 code is printable at about 1 cm with a good process, but 2 × 2 cm is the smallest size that scans reliably across phones, because camera focus limits and in-hand distances matter as much as print quality.

### How small can a QR code be and still scan?
Each module must stay above the print floor — roughly 0.33 mm at 300 dpi, 0.5 mm on thermal or uncoated stock — and the whole code should be at least a tenth of the scanning distance. For typical URL payloads that lands at 1.5–2 cm.

### Why does my tiny QR code scan on screen but not in print?
Screens are backlit with perfect pixel edges; print adds ink spread and paper texture. A module that is marginal on screen falls below the readable threshold on paper. Enlarge the code or shorten the payload so modules grow.

### Does a shorter URL let me print a smaller code?
Yes, directly. Fewer characters means a lower version, fewer modules per side, and therefore larger modules at any given size. Dropping from version 10 to version 2 halves the minimum printable width.

## Try it

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