
A QR code that's too small won't scan. A QR code that's too big wastes expensive real estate on your business card or product packaging. This guide gives you the actual formulas and dimensions for every common format.
The golden rule
Scan distance is roughly 10× the QR code width. A 3 cm QR code reliably scans from about 30 cm away. A 30 cm code reads from 3 meters. This rule holds for modern phone cameras under reasonable lighting.
The 10× rule in reverse. Take the farthest realistic scan distance, divide by 10, and you've got the minimum code size. Phones held at arm's length? 30 cm ÷ 10 = 3 cm code. Scanned from across a room? 300 cm ÷ 10 = 30 cm code.
Sizes for common print formats
Business cards (scanned from 20 cm)
- Minimum: 2 × 2 cm (0.8 × 0.8")
- Recommended: 2.5 × 2.5 cm with clear margin
- Common mistake: cramming a 1 × 1 cm code into a corner to save space. Phone cameras struggle below 1.5 cm.
Menus, table tents, flyers (scanned from 30–40 cm)
- Minimum: 3 × 3 cm (1.2 × 1.2")
- Recommended: 4 × 4 cm on matte paper for guaranteed scans in low light
Posters, window decals (scanned from 1–2 meters)
- 1 meter distance: 10 × 10 cm minimum
- 2 meter distance: 20 × 20 cm minimum
- Store windows: test from the sidewalk — phone autofocus struggles through glass reflections.
Billboards and vehicle wraps (scanned from 3–10 meters)
- 3 meter distance: 30 × 30 cm
- 5 meter distance: 50 × 50 cm
- Highway billboards: usually not scannable while driving. If you want scans, put the URL in big type and skip the QR code.
Packaging and product tags (scanned from 15–25 cm)
- Minimum: 1.5 × 1.5 cm
- Recommended: 2 × 2 cm on white or very light background
- Avoid: printing directly on shrink wrap or curved plastic that distorts the pattern.
Receipts (scanned from 15–20 cm)
- Minimum: 1.5 × 1.5 cm — thermal paper has high contrast so codes scan small.
- Always test on a freshly printed receipt, not a PDF mockup.
Quiet zone: the forgotten requirement
Every QR code needs a quiet zone — a white margin around the pattern. The spec says at least 4 "modules" wide (each module is one of the little squares in the code). In practice: leave at least 10% of the code's width as clear space on all four sides.
Codes printed flush against text, borders, or colored backgrounds fail to scan far more often than codes with proper quiet zones. This is the single most common reason a well-designed QR code doesn't work.
Print format matters
- SVG or PNG at 300 DPI — always use one of these two. SVG is better for large prints (it scales infinitely); PNG at 300 DPI is fine for most offset printing.
- Vector, not raster — when printing anything over 5 cm wide, request an SVG from your QR generator. A PNG blown up looks pixelated and can break scanning.
- Matte, not glossy — glossy paper reflects overhead light and confuses autofocus. Matte almost always scans better.
Color choices
Stick to dark-on-light. The QR spec requires high contrast between the pattern and background. Safe choices:
- Black on white (universal, foolproof).
- Dark brand color (navy, dark green, dark red) on white — works 95% of the time; test with 3 different phones before mass printing.
- Inverted (light code on dark background) — scanners are supposed to handle this but older Android phones often can't. Avoid for critical use cases.
Common mistakes that kill scan rates
- Shrinking below 1.5 cm.
- Printing on curved surfaces (cans, bottles, helmets).
- Placing against a dark or patterned background.
- Forgetting the quiet zone.
- Using a low-res PNG scaled up for a poster.
- Putting it under plastic, shrink wrap, or reflective lamination.
Before you print: a 60-second test
Print a mock at your target size on the actual paper stock, then scan it from the realistic distance with two different phones. If either phone struggles, go 25% larger. This test takes one minute and saves you a reprint.
Need a QR code to test? Generate one free on QRDyno — the static QR types have no scan limits, so you can print and test as many as you like.
Ready to try it?