The short answer
For a short link scanned from arm's length, about 2 to 3 cm (0.8 to 1.2 inches) wide is a common minimum, and anything under 2 cm is a gamble. For posters, signs and anything read from further away, use the distance rule below.
The distance rule of thumb
A widely used rule of thumb is that the code should be at least one tenth of the scanning distance. Someone standing 1 metre from a poster needs a code of about 10 cm. Someone reading a shop window from 3 metres away needs about 30 cm.
| Where it is printed | Typical scanning distance | Suggested code width |
|---|---|---|
| Business card, label, packaging | 15 to 25 cm | 2 to 3 cm |
| Flyer, table tent, menu | 25 to 40 cm | 3 to 4 cm |
| A4 or letter poster on a wall | 50 cm to 1 m | 5 to 10 cm |
| Shop window, large poster | 1 to 3 m | 10 to 30 cm |
| Banner, billboard, vehicle | 5 m or more | 50 cm or more |
Treat these as starting points and test at the real distance. Lighting, the phone and the angle all make a difference.
Why more content needs a bigger code
A QR code is a grid of small squares called modules. The more characters you put in, the more modules the grid needs. The smallest QR code is 21 by 21 modules; the largest is 177 by 177. At the same printed width, a code with more modules has smaller squares, and small squares are harder for a camera to pick out.
So a long web address with tracking parameters needs to be printed larger than a short one. A vCard with a full address, several phone numbers and a website is denser still. If a code has to be small, shorten what goes into it.
Error correction adds modules too. Level H (needed with a logo) makes the code denser than level M. That is a fair trade when there is a logo, but for a tiny label without one, M or even L gives bigger squares.
How many pixels do you need?
If you print from an SVG file, you do not need to think about pixels at all: vectors scale cleanly. If you use a PNG, aim for at least 300 pixels per inch (300 DPI) at the final size. The maths is: width in cm ÷ 2.54 × 300.
| Printed width | Pixels at 300 DPI | Download size to pick |
|---|---|---|
| 2 cm (0.8 in) | about 236 px | 512 px |
| 3 cm (1.2 in) | about 354 px | 512 px |
| 5 cm (2 in) | about 591 px | 1024 px |
| 10 cm (3.9 in) | about 1181 px | 2048 px |
| 20 cm (7.9 in) | about 2362 px | 4096 px or SVG |
Never enlarge a small PNG in a design tool to fill a bigger space. The edges get blurry and the scanner struggles. Download the size you need, or use SVG.
Do not forget the quiet zone
The white margin around the code counts toward its size. The standard asks for four modules of empty space on every side. If your layout places text, a photo or the edge of the paper right up against the pattern, the phone may not find where the code starts. The downloads from mqrlink include this margin by default; keep it when you place the code in your design.
Surfaces and finishes
- Glossy lamination reflects light straight into the camera. Matte finishes scan more reliably.
- Curved surfaces like bottles and cups distort the grid. Print the code a bit larger and keep it where the curve is gentlest.
- Textured paper and fabric soften edges. Increase the size and stick to plain square modules.
- Coloured backgrounds reduce contrast. Put the code on a white or very light panel.
Whatever you choose, print one test copy at the final size and scan it from the real distance before you order the full run.