QR code size guide: minimum size that actually scans
If you have ever shipped a flyer, label, or poster and watched people point their phone at your QR code and give up, you know the truth:
QR codes are not magic. They are a physical object.
And in the physical world, size matters.
This guide gives you practical sizing rules you can use for:
- flyers and business cards
- product packaging and labels
- posters, windows, and signage
No theory. Just what prevents scan failure.
TL;DR
- Choose size based on scan distance. The farther away, the larger the code.
- Leave a proper quiet zone (blank border) on all sides.
- Use high contrast (dark code on light background).
- Avoid putting a QR code on glossy, curved, or wrinkled surfaces without testing.
- Test on at least one iPhone and one Android, in the real lighting.
The simplest rule: size scales with distance
A QR code needs enough pixels in the camera frame to be decoded. That means the best sizing rule is based on distance.
A practical starting point:
- 1 cm of QR code width per 10 cm of scan distance
Examples:
- 30 cm scan distance (handheld flyer) → 3 cm wide QR code
- 1 meter scan distance (window sign) → 10 cm wide QR code
- 3 meters scan distance (poster on a wall) → 30 cm wide QR code
Is that always required? No.
But if you want a code that works for tired humans in bad lighting, oversize it.
Minimum sizes by use case
These are conservative defaults that scan well for most phones.
Business cards
- recommended: 2.0 to 2.5 cm
- only go smaller if the encoded URL is short and the print is crisp
Flyers, menus, tabletop cards
- recommended: 2.5 to 4.0 cm
Packaging labels (close scan)
- recommended: 2.0 to 3.5 cm
- consider the surface: curves and seams reduce reliability
Posters and window signs
- recommended: 8 to 15 cm depending on distance
If you are guessing, choose the bigger number.
Quiet zone: the invisible reason your code fails
Every QR code needs a blank border around it. This is called the quiet zone.
If you cram your code into a corner, put it on top of a busy photo, or let a design element touch the edge, you break the decoder.
Practical rule:
- keep a quiet zone that is at least 4 modules wide on all sides
If you do not know what a module is, the safe design answer is:
- do not let anything touch the code, ever
- keep a clean margin that looks "too big"
Related read:
Contrast: dark on light wins
The most reliable combination:
- near-black code
- white background
Avoid:
- light gray codes
- glossy gradients inside the modules
- color reversals (light code on dark background)
Related read:
Error correction: higher is not always better
QR codes have error correction levels (L, M, Q, H). Higher error correction can tolerate more damage, but it also makes the pattern denser.
Denser pattern means:
- smaller modules
- harder to scan when you downsize the code
Practical default:
- use M or Q for most marketing QR codes
- use H only when you expect real damage (outdoor stickers, rough handling)
If you need a tiny QR code, keep the encoded data short instead of cranking error correction.
Print details that matter (more than you think)
1) Resolution
If you are printing, use:
- vector (SVG) when possible
- or a high-resolution PNG at the final physical size
Avoid exporting a tiny bitmap and scaling it up in a design tool.
2) Surface and finish
Scan reliability drops on:
- glossy laminate with glare
- curved bottles
- wrinkled stickers
- textured cardboard
If your surface is tricky, increase size and contrast.
3) Placement
Make it easy for the camera:
- flat surface
- not near a fold or edge
- not behind reflective glass
The scan funnel: size is only step one
Even a perfectly sized QR code can fail to convert if the landing is slow or confusing.
After scan success, your funnel is:
- redirect resolves fast
- landing page loads fast on 4G
- the first screen answers "what do I do next"
If you care about conversions, do not stop at "it scans".
Related reads:
Quick testing checklist (before you print)
- Test on iPhone and Android
- Test in the real lighting (indoor, outdoor, evening)
- Test at the real distance people will scan from
- Verify quiet zone survives trimming and bleed
- Confirm the URL resolves instantly
- Confirm the landing page loads fast
CTA: generate scan-safe QR codes
QRShuffle is built for QR codes that do not break campaigns:
- create a QR code
- keep the design scan-safe
- use editable links when you need flexibility
Create your QR code here:
