What size should a QR code be?
As a starting point, a QR code needs to be about one tenth of the distance it will be scanned from — so 40mm for a code read across a table, and 300mm for one read from three metres away. Denser codes need to be larger still.
Work out your size
The length matters: more data means more modules, which means a larger code.
- Print it at least
- 47 mm
- Absolute minimum
- 36 mm
- Each module
- 1.42 mm
- At 300 DPI
- 556 px
- Code density
- version 2, 25×25
The rule, and why it is only a starting point
The widely quoted guidance is that a QR code should be at least one tenth of the distance it will be scanned from. A code read from 400mm — across a café table — needs to be about 40mm wide. One read from three metres, on a vehicle, needs about 300mm.
That rule quietly assumes a code of moderate density. It is the part most people miss, and it is why two codes printed at the same size can behave completely differently.
What a camera actually has to resolve is not the code but the individual modules — the small squares the pattern is made of. A code holding a short link might be 29 modules across; one holding a full contact record might be 57. At the same printed width, the second has modules less than half the size, and a phone that reads the first easily will fail on the second.
The floor nobody mentions
Below roughly 0.4mm per module, phone cameras stop resolving modules reliably regardless of distance — the limit becomes the optics and the sensor rather than how far away you are stood.
This is why a very dense code on a business card often cannot be made to work at all. The answer is not a bigger card; it is less data. A short dynamic link encodes in a fraction of the modules a long URL needs, which is the practical reason to use one on small print surfaces.
Distances that actually apply
The distance to design for is not where the code is, but where the person will be standing when they decide to scan it.
- Business card, held in the hand — about 200mm
- Menu or flyer, held while seated — 300 to 350mm
- Table tent or counter card, across a table — about 400mm
- A4 poster, standing in front of it — about 800mm
- Shop window, from the pavement — about 1.2m
- Estate agent board, from the kerb or a car — about 2m
- Vehicle graphics, from another lane — 3m or more
- Billboard, glanced at briefly — 10m or more
The other things that decide whether it scans
Size is the most common failure, but it is not the only one, and the others are cheaper to get right.
Keep the quiet zone — the blank margin around the pattern — completely clear. It is part of the code, not decoration: scanners use it to find the edges. Placing a border or a caption inside it is probably the single most common design mistake.
Avoid gloss lamination where you can. It reflects overhead light straight back into the camera and washes out the pattern, which is why a code that scans perfectly in the design studio can fail under a restaurant's ceiling lights.
Keep contrast high and the pattern darker than the background. Inverted codes look striking and many scanners simply cannot read them.
Finally, test the physical proof rather than the screen, at the real distance, in the real lighting, ideally with an older phone. Every generator page here decodes your finished code before you download it, which catches the digital half of the problem — but only paper catches the paper half.
Questions
- What is the smallest a QR code can be?
- In practice, about 20mm for a code holding a short link, and that is already at the limit of what older phone cameras handle comfortably. The binding constraint is module size rather than overall width: below roughly 0.4mm per module, scanning becomes unreliable no matter how close you hold the phone.
- Does a bigger code scan from further away?
- Yes, roughly linearly. Doubling the printed width roughly doubles the distance it can be read from, all else being equal. The complication is that error correction and data length change the module count, so two codes of the same physical size do not necessarily perform the same.
- Does high error correction help scannability?
- Only for damage. Higher error correction lets a code survive being scratched, smudged or partly covered by a logo — but it also adds modules, which makes each one smaller at the same printed width. If your problem is distance rather than damage, raising error correction makes it worse, not better.
More guides
- Static vs dynamic QR codes: the honest differenceStatic codes contain the destination and work forever. Dynamic codes contain a redirect you can change and can be tracked. Here is what each actually costs you.
- Why QR codes fail to scanSix reasons a printed QR code does not work, in the order they actually occur, and how to tell which one you have.