Best QR Code Size for Posters, Packaging, and App Campaigns
Use practical sizing guidance for posters, packaging, flyers, counters, and retail displays so more scans turn into app installs instead of failed attempts.
The rule most teams should start with
Minimum QR code size = scanning distance / 10
If the user scans from 50 cm away, start around 5 cm. If the user scans from 2 meters away, start around 20 cm. This rule is not perfect, but it is a strong planning baseline for offline app campaigns.
Recommended size by placement
Placement
Product packaging
Distance
10-30 cm
Recommended size
2.5-4 cm
Note
Works when the user holds the product close and lighting is decent.
Placement
Flyers, brochures, direct mail
Distance
20-50 cm
Recommended size
3-5 cm
Note
Good default range for hand-held print materials.
Placement
Counter cards, table tents, shelf talkers
Distance
30-80 cm
Recommended size
4-8 cm
Note
Give users enough quiet-zone margin because glare and angle matter in-store.
Placement
Posters and window signage
Distance
1-3 m
Recommended size
10-30 cm
Note
Most failures here come from making the QR code visually elegant but physically too small.
Placement
Trade show booth graphics or large-format signage
Distance
2-5 m
Recommended size
20-50 cm
Note
Large placement also requires strong contrast and a clear scan CTA.
Size is not enough without good design
Preserve quiet space around the QR code instead of placing text or graphics too close.
Use high contrast between foreground and background.
Do not shrink the code aggressively after adding a brand mark in the center.
Avoid reflective materials or complex backgrounds when possible.
Include a short call to action so users know why scanning is worth it.
A better testing workflow before you print
Print at final size, not only on-screen
A QR code that scans on a laptop preview can still fail once printed on textured stock, glossy packaging, or a distant poster.
Test from realistic distance and angle
Simulate how users will actually approach the placement instead of scanning from ideal conditions.
Test on both iPhone and Android
Different devices and camera behaviors can expose size or contrast issues quickly.
Confirm the full post-scan flow
A successful scan is not enough if the destination, store routing, or fallback experience breaks afterward.
The sizing mistakes that cause failed scans
- • Using the same QR size for packaging and posters
- • Optimizing for layout symmetry instead of real scan distance
- • Adding branding until the code is visually attractive but technically weak
- • Ignoring the quiet zone around the code
- • Testing only in office lighting before a real-world rollout
Pre-print checklist
- Expected scan distance documented
- QR code sized according to the placement context
- Quiet zone preserved on all sides
- Contrast validated against final material background
- iPhone and Android test scans passed
- Smart link or app-store routing verified after scan
Related Appy resources
These pages help once the sizing decision is made.
- Branded QR Code Generator to generate QR assets after choosing the right destination and export format.
- QR Code Best Practices for Mobile App Marketing for design, placement, and campaign optimization guidance.
- QR Code to App Store and Google Play if you need one smart scan flow for both major mobile stores.
Continue exploring
Instagram & TikTok Deep Links for App Installs: Route to App, Store, or Web
Learn how to route Instagram Stories, profile links, and paid ads plus TikTok bio and ad traffic to deeplinks, app stores, or web fallbacks with one smart link.
Deep Linking vs Universal Links: Complete Comparison
Understand the key differences between deep links and universal links, when to use each, and how to implement them effectively.
QR Code to App Store and Google Play: Use One Scan for Both
Create one QR code that routes iPhone users to the App Store and Android users to Google Play, with web fallback and analytics.
Looking for something else? Browse all topics on the Appy blog.
Ship QR campaigns that actually scan
Use print-safe QR sizing and one routing flow so offline placements convert into app installs instead of dead scans.