# 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, 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
