QR Code Size Guide: How Big Should a QR Code Be?
Print a QR code too small and it never scans. Print it too big and you waste space. This is the size guide that gets your code scanned the first time, on every surface from a business card to a billboard.

The One Rule That Decides QR Code Size
Almost every QR code that fails in the wild fails for the same reason: it was printed too small for the distance people try to scan it from. The fix is a single ratio you can do in your head. This guide turns that ratio into exact sizes for business cards, flyers, posters, event signage, packaging, and billboards, then covers the quiet zone, error correction, and print resolution that decide whether your code reads on the first try.
If you only remember one thing, remember the 10:1 rule: the width of a QR code should be at least one-tenth of the distance from which it will be scanned. Someone scanning from 1 metre away needs a code that is at least 10 cm wide. Someone scanning a billboard from 12 metres needs a code at least 1.2 metres wide. The ratio holds at every scale.
Why distance, not surface, drives the size
People size QR codes by the object (a business card is small, a poster is big) when they should size by the scan distance. A poster on a train platform read from 4 metres needs a much bigger code than a poster on a café wall read from 50 cm, even though both are "posters". Start from how far the phone will be, then apply 10:1. Every code you make in the free QR Code Generator can be exported at any size, so the size decision is yours to get right.
The 10:1 figure is a floor, not a target. Going bigger almost never hurts a scan, while going even slightly under the floor is where failures cluster. When in doubt, round up.
Minimum QR Code Size for Print
The smallest QR code that scans reliably at arm's length (roughly 30 to 40 cm) is 2 cm by 2 cm, which is about 0.8 inches square. That is the practical floor for anything a person holds and reads up close: a business card, a packaging label, a product insert. Go below it and you start losing scans on older phone cameras and in poor lighting.
The numbers worth memorising
- 2 cm (0.8 in) square: absolute minimum for a held, arm's-length scan.
- 2.5 to 3 cm (1 to 1.2 in) square: the safe default for business cards and packaging in production.
- 4 to 5 cm (1.6 to 2 in) square: comfortable for flyers, restaurant menus, and table tents people scan while seated.
- Never assume your design proof is the print size. A code that looks fine at 100% on screen can land at 1.5 cm after layout scaling.
Why the minimum is not zero
A QR code is a grid of small squares called modules. The camera has to resolve each module as a distinct dot. Below about 2 cm, the modules on a standard-density code get small enough that camera blur, paper texture, and ink spread start merging neighbouring dots, and the decoder gives up. The denser the data you encode, the more modules you pack in, and the larger the minimum becomes.
The single best way to keep your minimum size small is to keep the encoded data short. A long raw URL forces a denser grid; a short link like flyn.to/menu needs far fewer modules, so the same physical code scans from further away. Make the destination a tracked short link in the free QR Code Generator and the code stays simple no matter how messy the real URL is.
The Quiet Zone: The Margin Everyone Forgets
The quiet zone is the empty margin around a QR code, and it is functional, not decorative. The camera uses that blank border to find the edges of the code and lock on. The official spec calls for a quiet zone of at least 4 modules on every side. Crowd it with text, a logo, or a busy background and you break scanning on a meaningful share of phones, even when the code itself is perfect.
How to size the quiet zone
Because the quiet zone is measured in modules, it scales with the code. If your code is 3 cm wide and 29 modules across, each module is about 1 mm, so the quiet zone should be at least 4 mm on each side. The simplest rule of thumb: leave a clear white border roughly equal to one of the three big corner squares. If you are unsure how many modules your design has, decode it with the QR Code Reader and inspect the grid.
- Do keep the border empty white (or a solid light colour with good contrast).
- Do count the quiet zone as part of the space the code occupies in your layout.
- Don't run a photo, gradient, or body text up to the edge of the code.
- Don't let a die-cut, fold, or page trim line cross the quiet zone.
Minimum module size in print
There is a second floor that has nothing to do with the overall size: each individual module should print at 0.4 mm or larger. At 300 DPI that is comfortably achievable; below it, fine modules can drop out during printing. If you ever compute a code size where modules fall under 0.4 mm, the code is too small or too dense, full stop.
Error Correction and How It Affects Size
QR codes have built-in error correction: redundant data that lets a code still scan when part of it is damaged, dirty, or covered. There are four levels, and the level you choose changes how dense (and therefore how big) the code needs to be.
| Level | Recovery capacity | Effect on density | Best for |
|---|---|---|---|
| L (Low) | ~7% of code recoverable | Least dense, smallest | Clean digital screens, pristine print |
| M (Medium) | ~15% recoverable | Slightly denser | General-purpose default |
| Q (Quartile) | ~25% recoverable | Denser still | Print that may scuff, codes with a small logo |
| H (High) | ~30% recoverable | Densest, largest | Harsh environments, codes with a centre logo |
The trade-off in one sentence
Higher error correction makes a code more forgiving but packs in more modules, so at a fixed physical size the modules get smaller, which pushes your minimum print size up. You are buying robustness with space.
Which level to actually use
- Most print campaigns: level M is the sweet spot of robustness versus density.
- Packaging, outdoor, anything that scuffs: step up to Q.
- Any code with a logo in the middle: use Q or H so the redundancy covers the area the logo hides, and keep the logo under about 20% of the code area.
People crank error correction to H "to be safe", then drop in a big logo and shrink the code to fit a tight layout. That combination (denser grid, smaller print, covered centre) is a reliable way to make a code that looks branded and never scans. If you add a logo, raise correction AND keep the physical size up. The full troubleshooting order is in our guide to why a QR code is not scanning.
Resolution and DPI for Print
Size is only half the story. A 5 cm code printed at low resolution can fail just like a 1 cm code. For print, two things matter: print at 300 DPI or higher, and start from vector source art wherever possible.
Always export as SVG for print
A QR code is made of hard-edged squares, which is exactly what vector graphics do best. An SVG scales to any size with perfectly crisp edges and zero pixelation. Hand your print shop the SVG and let them place it at the final size. Only fall back to a high-resolution PNG when a workflow genuinely cannot accept vector. The free QR Code Generator exports SVG so you never ship a blurry raster code, and it sits alongside the rest of the free tool kit for print-to-digital work.
If you must use a raster (PNG)
Calculate the pixel dimensions from the print size and DPI: pixels = inches multiplied by DPI. A 3 cm (about 1.2 in) code at 300 DPI needs at least 360 by 360 pixels. A 5 cm code needs about 600 by 600. Never scale a small PNG up in a layout tool; you will soften the module edges and lose scans.
- Screen / digital only: 72 to 96 DPI is fine because pixels map directly.
- Standard print (flyers, cards, packaging): 300 DPI minimum.
- Large-format (posters, banners) viewed close: 150 to 300 DPI depending on viewing distance.
- Billboards viewed from far: lower DPI is acceptable because the viewer is metres away, but the physical size still has to satisfy 10:1.
Size by Surface: A Reference Table
Here is the 10:1 rule turned into concrete sizes for the surfaces you are most likely to print. Treat these as minimums and round up when the layout allows. The recommended column adds a comfortable margin over the bare minimum.
| Surface | Typical scan distance | Minimum size | Recommended size |
|---|---|---|---|
| Business card | ~30 cm | 2 cm | 2.5 to 3 cm |
| Product packaging / label | ~30 cm | 2 cm | 2.5 to 3 cm |
| Flyer / brochure | ~40 cm | 2.5 cm | 3 to 4 cm |
| Restaurant menu / table tent | ~50 cm to 1 m | 3 cm | 4 to 5 cm |
| Magazine ad | ~40 cm | 2.5 cm | 3 to 4 cm |
| Wall poster (indoor) | ~1.5 to 3 m | 15 to 30 cm | 20 to 35 cm |
| Trade-show backdrop | ~5 m | 50 cm | 60 cm or more |
| Storefront window | ~2 to 4 m | 20 to 40 cm | 30 to 50 cm |
| Billboard / OOH | ~10 to 15 m | 1 to 1.5 m | 1.5 m or more |
Reading the table
Each minimum is just the scan distance divided by 10. The recommended size adds headroom for bad lighting, motion (a passing commuter), and older cameras. For a deeper placement playbook by channel, the QR codes marketing strategy guide covers where each surface earns its scans and how to attribute them.
The teams whose printed QR codes always scan are not using a secret tool. They size from the scan distance, leave a real quiet zone, keep the encoded data short, and test the actual printed code before the run, every single time.
Test Before You Mass-Print
The most expensive QR mistake is discovering a sizing problem after 10,000 flyers are printed. A five-minute test on your desk prevents it. Print the code at the exact final size on the actual stock, then scan it under realistic conditions before you approve the run.
A pre-print test checklist
- Print at 100% scale on the real paper or material, not a screen mockup.
- Scan from the real distance people will use, not from 5 cm away.
- Test on at least three phones spanning new and a few-years-old, iOS and Android.
- Test in realistic light, including the dim or glare-heavy conditions of the real venue.
- Check the destination resolves correctly and the page is mobile-friendly.
Audit the destination, not just the dots
A code can scan perfectly and still fail the customer if it lands on a dead page, a redirect chain, or a desktop-only lander. Before the run, put the encoded URL through the free QR Destination Audit: it resolves the link, checks HTTPS, counts redirects, and flags mobile issues, so you catch a broken destination on your desk instead of on a thousand printed assets. To read what a printed code already encodes, decode it with the QR Code Reader. The same pre-flight discipline is covered in the QR codes marketing strategy playbook.
Scan-testing tells you whether the dots read. The destination audit tells you whether the page works. You want both green before any print run; they catch completely different failure modes.
When a Dynamic QR Code Saves You From a Reprint
Here is the part the sizing tables cannot fix on their own. Suppose you size a code correctly, print 5,000 copies, and then realise the destination page moved, or a later batch was printed slightly too small, or the campaign changed. With a static QR code, the destination URL is baked permanently into the dots, so any of those problems means a reprint.
Static versus dynamic, where size is concerned
A dynamic QR code does not encode your destination at all. It encodes a branded short link (like flyn.to/menu) that redirects to wherever you point it. That has two size-relevant payoffs:
- The code stays simple. A short link is far fewer characters than a full campaign URL, so the grid is less dense and the same physical size scans from further away.
- You fix mistakes by editing the link, not the print. Wrong destination on a printed code? Change the short link's target and every printed code now points to the right place. No reprint.
| Property | Static QR code | Dynamic short-link QR |
|---|---|---|
| Where the destination lives | Baked into the dots (permanent) | In your dashboard (editable) |
| Pattern density at same data | Higher (full URL encoded) | Lower (short link encoded) |
| Fix a wrong destination after printing | Reprint required | Edit the link, no reprint |
| Per-scan analytics | None | Count, location, device, time |
| Cost on Flyn | N/A | Free with every short link |
The data a dynamic code gives you
A static code is invisible after printing: you never learn how many people scanned, from where, or on what device. Point the QR at a Flyn short link instead and every scan becomes a tracked event with geo, device, and time, viewable with Pro analytics. That is the honest core difference: a static code is fixed forever and tells you nothing, while a dynamic one is editable after printing and measures every scan. The full reasoning is in our guides to dynamic QR codes for print and digital and QR codes in your marketing strategy.
Common Sizing Mistakes (and the Fixes)
After watching a lot of codes fail, the same handful of mistakes account for nearly all of them. Each one has a one-line fix.
The five that cause most failures
- Too small for the distance. Fix: apply 10:1 from the real scan distance, then round up.
- No quiet zone. Fix: leave at least 4 modules of empty white on all sides and count it in your layout.
- Too dense for the size. Fix: shorten the encoded data with a short link, or print the code larger.
- Low resolution or upscaled raster. Fix: export SVG, or render a PNG at 300+ DPI at final size.
- Never tested at print size. Fix: print at 100% on real stock and scan it before the run.
The placement mistakes that compound size problems
Even a correctly sized code fails on a curved bottle, a glossy surface with glare, a fold line, or a low-contrast background. Keep codes on flat, matte, high-contrast areas. For a code that still will not read after you have sized it right, work through the diagnosis order in why your QR code is not scanning, which covers contrast, quiet zone, size, damage, and destination in the order they most often break.
If you are encoding something other than a URL, the same size and quiet-zone rules apply. A denser payload simply pushes the minimum size up: a WiFi QR code with a long password, or a vCard QR for a business card with many fields, both need a slightly larger print than a short URL code. And for a high-intent use case like a Google review QR code, sizing it generously on the receipt or table tent is what turns a glance into a scan.
Ready to make one at the right size? Build it free in the QR Code Generator, point it at a tracked short link so you can edit and measure it later, and browse the rest of the free tool kit. To capture scans, create a Flyn account and shorten your destination before you generate the code. Free links show scan counts and timing; the geo, device, and referrer breakdowns are part of Pro analytics.
Frequently Asked Questions
How big should a QR code be?
What is the minimum size for a QR code to scan?
What is a quiet zone and how big should it be?
What DPI or resolution does a QR code need for print?
Does error correction level change the QR code size?
How big should a QR code be on a business card versus a billboard?
Can I fix a QR code that was printed too small?
Free tools for this
Three Flyn tools that pair well with the strategy in this article, all free, no signup needed.
UTM Builder
Build campaign-tracked URLs in seconds.
Broken Link Checker
Scan any page for dead links and 404s.
Open Graph Checker
Preview how URLs unfurl on social.
Keep reading
Three related deep-dives from the Flyn blog.

How to Track Which Posts Drive Sales, Not Just Clicks
19 min read
Email Newsletter Click Tracking: Measure Your Real CTR
12 min read

How to Choose a Branded Short Domain for Your Links
13 min read
Ready to try Flyn?
Free plan includes 25 links/month, full analytics, and access to all 30+ free tools above. No credit card required.
Already a member? Log in

Karan Bhakuni is the founder of Flyn. He writes about branded links, click analytics, and the link-management tooling growth teams and creators actually need, drawn from building Flyn and reading a lot of user feedback.