How big should a QR code be?
· 2 min read
A code printed too small is the most common reason a QR code won’t scan. Getting the size right is mostly arithmetic.
The rule of thumb
Make the code at least a tenth as wide as the distance people will scan it from. A poster read from 2 meters needs a code about 20 cm wide. A sign read from across a room, at 5 meters, needs about 50 cm.
For anything held in the hand, don’t go below 2 cm (0.8 in). A phone held close can read smaller codes, but people rarely hold a card that close to their camera.
| Where it goes | Scanned from | Code width, at least |
|---|---|---|
| Business card, product label | 10–20 cm | 2 cm (0.8 in) |
| Flyer, menu, table tent | 20–30 cm | 3 cm (1.2 in) |
| Shop window, poster | 1–2 m | 10–20 cm (4–8 in) |
| Sign across a room | 3–5 m | 30–50 cm (12–20 in) |
| Billboard, side of a truck | 10 m or more | 1 m or more |
What matters as much as size
How much is in the code. Every character adds to the pattern. A short link makes a coarse code with big squares that reads easily at any size. A long address full of tracking parameters, or a contact card with every field filled in, makes a dense code that needs more room. If a code looks busy, shorten what’s in it before you make it bigger.
The empty margin. Readers need a blank border around the code to find it. The QR standard asks for four modules, the small squares, on every side. A code printed right against a photo or a frame can fail even when it’s large.
Contrast. Dark code on a light background. Many phones can read light-on-dark codes, but not every reader can, and pale colors fail first in dim light. Brand colors are fine if the code stays clearly darker than what’s behind it.
The surface. Gloss and lamination throw glare into the camera. Curved surfaces like bottles and cups bend the pattern, so keep the code small relative to the curve or put it on a flat label.
Error correction. QR codes carry spare data so they can be read with part of the pattern missing. The highest level, H, recovers about 30% of the data. Use it for codes with a logo, on rough surfaces or anywhere they’ll get scratched. It makes the code denser, so give it a little more size.
Test it like a customer would
Print one copy at the final size on the final material. Then scan it with two different phones, in the light where it will hang, from where people will actually stand. A code that scans on your desk under a lamp can fail on a dim restaurant table.
Our generator reads every code back before you download it and warns you when a design looks risky for print. That catches broken designs. It can’t catch a code printed too small or on the wrong paper, which is why the test print still matters.