The distance rule
The camera needs to tell each module of the code apart. If a module measures less than a pixel in the captured image, there is no possible decoding. That is why the size comes from the distance: the more meters, the larger the side. The 1:10 ratio is conservative and works indoors under normal light.
| Distance | Suggested size | Typical use |
|---|---|---|
| 15–20 cm | 2 cm | Receipt, card, label |
| 30–50 cm | 3–5 cm | Table, counter, flyer |
| 1–2 m | 10–20 cm | Shop window, room poster |
| 3–5 m | 30–50 cm | Entrance, booth, wall menu |
| 10 m | 1 m | Billboard, facade, venue |
Data, modules and readability
A QR code with a short URL uses few modules; one with a long URL or a long text uses more. At the same printed size, more modules means smaller squares and less tolerance for blur. If you can, shorten the URL or use a short link of your own.
The white margin (quiet zone) is not optional: at least four modules around it. If the design crops the margin or puts the QR code over a photo, the reader loses the position pattern.
Print resolution
Export as SVG whenever you can: it is vector and scales without loss. If you need PNG, work out 300 dpi at the final size. A 2 cm QR code at 300 dpi is about 236 px per side; a 10 cm one is about 1,181 px. Enlarging a small PNG produces soft edges and reading failures.
For screens, 1024 px per side is enough; for video or presentations, export at a larger size and do not stretch it.
Real test: print the final size, stick it where it will go and scan it with two phones at the planned distance, with and without direct light.
Common size mistakes
- A tiny QR code on a billboard with lots of white space.
- A giant QR code on a card, eating into the useful text space.
- A logo that covers more than 20% and reduces error correction.
- Light colors on a light background, or an inverted QR code (light on dark).
- Printing on a curved or glossy surface without testing.
Frequently asked questions
Minimum size?
About 2 cm to read at 20–30 cm.
And for a billboard?
Side ≈ distance ÷ 10; 1 m for 10 m.
Does the content affect it?
Yes: more data, smaller modules.
What resolution?
300 dpi or a vector SVG.