What size should a QR code be for printing?
The minimum reliable print size for a QR code is 2cm × 2cm (about 0.8 inches square) for close-range scanning. For everything else, use the distance rule: divide the expected scanning distance by 10. A code scanned from 1 metre away should be at least 10cm wide; from 3 metres, at least 30cm. Get those two numbers right and almost every sizing question answers itself.
The rest of this guide covers the exceptions — dense codes, print resolution, and the specific sizes that work for common materials.
The distance rule, properly explained
A phone camera needs the QR code to occupy a decent share of its frame to decode it. The further away the code, the bigger it must be to fill that share. Dividing the scan distance by ten gives a comfortable margin for average phone cameras in average lighting:
| Scanning situation | Typical distance | Minimum code width |
|---|---|---|
| Business card in hand | 20–25cm | 2cm (the floor) |
| Leaflet or flyer | 25–40cm | 2.5–4cm |
| Table talker / menu | 40–60cm | 4–6cm |
| Product packaging on a shelf | 50cm | 5cm |
| A4/A3 poster at eye level | 1–1.5m | 10–15cm |
| Shop window | 1.5–2m | 15–20cm |
| Exhibition banner / signage | 2–3m | 20–30cm |
| Vehicle livery | 3–5m+ | 30–50cm+ |
Two practical notes. First, these are minimums — going larger costs nothing and buys tolerance for bad lighting, older phones and impatient scanners. Second, think about the real scanning distance, not the viewing distance. People read a billboard from 20 metres but nobody scans from there; they scan from wherever they can comfortably stand, which caps the useful size of very large formats.
Density: why two codes the same size don’t scan the same
A QR code’s grid grows with the amount of data inside it. A short URL might produce a 25×25 module grid; a fully loaded vCard can produce 50×50 or more. Print both at 2cm and the URL’s modules are twice the size of the vCard’s — and module size, not overall code size, is what the camera actually needs to resolve.
So the 2cm floor assumes a simple code. If you’re encoding a vCard, a long URL with tracking parameters, or a WiFi login with a long password, treat 3cm as your floor on business cards and scale everything else up proportionally. Better still, reduce the data: trim vCard fields to name, number and email, and strip URL parameters you don’t need. Shorter data means a coarser, more forgiving grid at any size.
The quiet zone counts as part of your space
The code needs an empty margin — the quiet zone — of at least four modules on all sides, and that margin must be the background colour, free of text, borders and imagery. When you’re planning layout space, budget the code’s width plus roughly 10–15% margin all round. A “2cm code” on a business card really occupies about 2.5cm of layout. Crushing the quiet zone to fit a tight design is one of the most common reasons correctly sized codes fail; our troubleshooting guide covers it alongside the other usual suspects.
Resolution: print from the right file at the right DPI
Size on paper is only half the job — the file needs enough pixels to print sharply.
- Print at 300 DPI minimum. At 300 DPI, a 2cm code needs roughly 240 pixels; our Medium download (256px) covers it. For anything 4cm and up, use the Large (512px) download.
- Never upscale. Enlarging a small PNG in your design software blurs the module edges, and soft edges defeat scanners faster than small size does. If you need it bigger, regenerate at a larger size rather than stretching the file.
- For very large formats (banners, vehicle wraps), generate at the largest available size and tell your printer it’s a QR code — commercial printers handle them constantly and will flag problems. A test print of just the code at final size costs pennies and saves a reprint.
- Avoid heavy JPEG compression. Compression artefacts speckle the clean black/white edges. PNG, which is what our generator produces, keeps edges crisp at any size.
Sizes for specific jobs
Business cards. 2cm for a simple URL code, 2.5–3cm for a vCard. Corner placement on the back of the card keeps the quiet zone naturally clear. If your vCard code is too dense at that size, cut it to name, mobile and email.
Flyers and leaflets. 3–4cm sits comfortably in most A5/DL layouts and scans from a natural reading hold. Place it away from the trim edge so guillotine tolerance doesn’t shave the quiet zone.
Restaurant menus and table talkers. 4–5cm. These get scanned hundreds of times by every kind of phone in every kind of lighting, often laminated — go matt laminate to kill glare, and bigger than you think you need.
Posters. Match to mounting height and approach distance: 10cm for indoor A3 at eye level, 15–20cm for anything behind glass (windows add reflections; oversizing compensates).
Stickers and packaging. Respect the 2cm floor even when space is tight, and keep codes on flat faces — curvature distorts the grid. On cylindrical packaging, the code should span no more than about a sixth of the circumference.
Test before you print the run
The complete pre-print check takes two minutes: print one copy at final size on the final material, then scan it with the oldest phone you can borrow, under poor light, at the real-world distance, slightly off-angle. If a five-year-old phone in a dim hallway scans it first time, your print run is safe. Test from the printout, not the screen — backlit screens scan more easily than paper and will hide marginal problems.
Download print-ready QR codes up to 512px — free, no sign-up, never expires.
Generate a QR codeFrequently asked questions
0.8 × 0.8 inches for a simple code at close range. Around 1.2 inches for dense codes such as vCards.
No. Scanners read huge codes happily — the limit is practical, not technical. Just keep the whole code within the camera frame at a comfortable scanning distance.
No. Modern cameras on both platforms perform similarly. Sizing for the distance rule covers the realistic range of devices, including older ones.
Indirectly. Lower-contrast colour schemes reduce the scanner’s margin for error, so if you’ve customised colours away from black-on-white, oversize the print by 25–50% to claw that margin back.
Shrinking is fine; enlarging is not. If the code needs to be bigger than the file allows at 300 DPI, regenerate it at the Large (512px) setting instead of stretching.