Design & Best Practices
Print vs. Digital QR Code Sizing Guide
The right size for a QR code isn't about what looks proportional in a layout — it's a function of how far away it will be scanned from. A code sized correctly for a phone screen at arm's length will fail completely on a billboard, and a code sized for a billboard would look absurdly oversized on a receipt. This guide gives concrete sizing targets by distance and medium.
The general rule: size to scan distance
A widely used rule of thumb is that a QR code should be printed at roughly one-tenth of its intended scan distance. A code meant to be scanned from 10 feet away needs to be roughly 1 foot (12 inches) per side; a code meant to be scanned from 3 feet needs to be roughly 3.6 inches per side. This isn't an exact physical law — camera quality, lighting, and code density (how much data is encoded, which affects module count) all shift the real-world minimum somewhat — but it's a reliable starting point for almost any sizing decision.
Sizing by common use case
- Business cards, product labels (close, deliberate scan, ~6-12 inches): minimum ~0.8-1 inch per side. Smaller than this becomes unreliable for many phone cameras, especially on matte or textured card stock.
- Table tents, menus, receipts (~1-2 feet): minimum ~1.5-2 inches per side.
- Posters, flyers, retail shelf signage (~2-4 feet): minimum ~2.5-4 inches per side.
- Storefront windows, indoor banners (~5-10 feet): minimum ~6-12 inches per side.
- Yard signs, outdoor banners, vehicle signage (~10-20 feet): minimum ~1-2 feet per side.
- Billboards, building signage (30+ feet): several feet per side at minimum — billboard QR codes are usually sized closer to 3-5+ feet per side to be scannable from a moving vehicle at typical highway distances.
These are minimums, not targets — sizing above the minimum, when space allows, gives a wider margin for imperfect lighting, off-angle scanning, or older phone cameras with less capable autofocus.
On-screen sizing is a different problem
Digital placement — a code embedded in a web page, an email, or a presentation slide — has different constraints than print. There's no "distance" in the same sense, but there is a device and viewport to account for:
- On a webpage meant to be scanned from a second device (someone viewing your site on a laptop and scanning with their phone), size the code to at least 150-200 pixels per side at typical display resolution — smaller codes on a screen suffer more from screen glare and pixel-level rendering artifacts than an equivalent-density print code does.
- Never place an on-screen code inside a scrollable area where it might render partially off-screen or get compressed by a responsive layout at smaller viewport widths — test on an actual mobile viewport, not just desktop.
- For codes in a video or presentation slide meant to be scanned by an audience, apply the same 1:10 distance rule as print — a code shown for a few seconds on a conference room screen needs to be sized for the actual distance of the farthest audience member, not the person sitting in front.
Higher error correction needs slightly more size margin
Because higher error correction levels increase module count for the same data, a code with H-level correction will be denser — and therefore need to be printed slightly larger than the same content at L-level correction to keep individual modules easily resolvable. When in doubt, size up rather than down, since an oversized code has essentially no downside beyond using more space, while an undersized one fails outright.