The minimum QR code size for printing is 2 x 2 cm (0.8 x 0.8 in), for scanning from about 20cm (8in) away — following the 10:1 distance-to-size ratio. Every other distance, material, and error correction level changes that number; the exact figures are below.
That single number is where most guides on this topic stop, and it's genuinely useful as a rule of thumb. But it answers only one specific case: a small code, scanned up close, printed on flat matte paper, with no logo and default error correction. Change any one of those four variables — the distance, the material, whether you're embedding a logo, or the error correction level — and the "minimum size" shifts, sometimes by a lot. This guide gives you the actual numbers for each variable, plus the reverse calculation almost nobody publishes: if you already know your printed size, how far away can it still be scanned?
The 10:1 Distance-to-Size Formula (And How to Reverse It
QR codes are read by camera-based scanners that need enough resolved detail to distinguish individual modules (the small black-and-white squares) from each other. The relationship between how far away a scanner sits and how large the code needs to be is commonly expressed as the 10:1 rule: the code's minimum width should be about 1/10th of the maximum scanning distance.
Forward calculation (you know the distance, need the size):
Minimum size = Scanning distance ÷ 10
Reverse calculation (you know the size, need the max distance) — this is the version almost no competing guide publishes, even though it's the more common real-world question once something is already printed
Maximum scan distance = Printed size × 10
Both directions of that formula, laid out side by side across the distances and sizes you're most likely to actually need
| Scan Distance | Minimum Code Size (forward) | Printed Code Size | Max Scan Distance (reverse) |
|---|---|---|---|
| 10 cm (4 in) | 1 cm (0.4 in) | 1 cm (0.4 in) | 10 cm (4 in) |
| 20 cm (8 in) | 2 cm (0.8 in) | 2 cm (0.8 in) | 20 cm (8 in) |
| 30 cm (1 ft) | 3 cm (1.2 in) | 3 cm (1.2 in) | 30 cm (1 ft) |
| 50 cm (20 in) | 5 cm (2 in) | 5 cm (2 in) | 50 cm (20 in) |
| 1 m (3.3 ft) | 10 cm (4 in) | 10 cm (4 in) | 1 m (3.3 ft) |
| 2 m (6.6 ft) | 20 cm (8 in) | 20 cm (8 in) | 2 m (6.6 ft) |
| 3 m (10 ft) | 30 cm (12 in) | 30 cm (12 in) | 3 m (10 ft) |
| 5 m (16 ft) | 50 cm (20 in) | 50 cm (20 in) | 5 m (16 ft) |
| 10 m (33 ft) | 1 m (3.3 ft) | 1 m (3.3 ft) | 10 m (33 ft) |
Because the ratio is symmetric, this is really one table read in two directions — but the reverse direction is the one you need after the fact. Worked example: you find a QR code sticker in a warehouse, roughly 4cm (1.6in) square, and want to know if it can be scanned from a forklift seat about 1.5m away. Reverse formula: 4cm × 10 = 40cm max distance. At 1.5m, that sticker is too small — it needs to be at least 15cm to be reliably scanned from that distance. This reverse check is exactly the calculation to run before you assume a printed QR code is "broken" — undersized-for-distance is one of the most common causes of scan failures reported on print materials that were never re-checked against the actual viewing distance.
The 10:1 ratio is an industry consensus figure, not an ISO/IEC 18004 clause — the standard defines the module grid and error correction math but doesn't mandate a distance ratio, since that depends on scanner optics and lighting. Treat 10:1 as a reliable planning baseline, not a hard physical law; codes with excellent contrast and a clean printing surface can sometimes be scanned at 12:1 or 15:1, while low-contrast or heavily branded codes may need to stay closer to 7:1 or 8:1 to scan consistently.
QR Code Size by Use Case and Print Material
The 10:1 formula assumes ideal printing conditions: flat, matte, non-reflective material with high contrast. Real print materials rarely meet that bar. A glossy magazine page reflects light back into the camera lens; a corrugated cardboard box has a bumpy surface that distorts sharp module edges; laser-etched metal has low inherent contrast between etched and non-etched areas. Each of those needs a size increase on top of the base 10:1 number.
The table below merges two things competing guides publish separately — a size-by-use-case table and a size-by-material table — into one matrix, so you can read the actual number for your situation directly instead of doing the math yourself.
| Use Case | Typical Scan Distance | Base Minimum (10:1) | Material Adjustment | Recommended Print Size |
|---|---|---|---|---|
| Business card | 20 cm (8 in) | 2 cm (0.8 in) | Glossy/laminated: +15-20% | 2.3-2.4 cm (0.9-0.95 in) |
| Flyer / brochure (matte) | 30 cm (12 in) | 3 cm (1.2 in) | None (matte paper) | 3 cm (1.2 in) |
| Product label on box | 20 cm (8 in) | 2 cm (0.8 in) | Corrugated cardboard: +25% | 2.5 cm (1 in) |
| Glossy product label | 20 cm (8 in) | 2 cm (0.8 in) | Glossy: +15-20% | 2.3-2.4 cm (0.9-0.95 in) |
| Magazine ad (glossy stock) | 35 cm (14 in) | 3.5 cm (1.4 in) | Glossy: +15-20% | 4-4.2 cm (1.6-1.65 in) |
| Indoor poster | 1 m (3.3 ft) | 10 cm (4 in) | None (matte print) | 10 cm (4 in) |
| Trade show banner/backdrop | 2.5 m (8 ft) | 25 cm (10 in) | Fabric/mesh: +10-15% | 28-29 cm (11-11.5 in) |
| Outdoor billboard/banner | 10 m (33 ft) | 1 m (3.3 ft) | Vinyl/mesh: +10-15% | 1.1-1.15 m (3.6-3.8 ft) |
| Vehicle wrap / delivery bag | 3 m (10 ft) | 30 cm (12 in) | Curved surface: +20-25% | 36-38 cm (14-15 in) |
| Laser-etched metal nameplate | 20 cm (8 in) | 2 cm (0.8 in) | Laser-etched metal: +30-40% | 2.6-2.8 cm (1-1.1 in) |
Two things worth being explicit about with this table. First, the material adjustment percentages are industry practical guidance derived from how each surface behaves under a phone camera — reduced contrast, curvature, glare, or texture — rather than a number specified in ISO/IEC 18004 itself, which does not regulate substrate. Second, "recommended" here means the safer number to actually print at, not the theoretical absolute floor; if you're working with limited label space, the base minimum column is your hard floor, and the adjusted column is your comfortable target. For a broader set of placement and material rules beyond just sizing, see this site's print best practices guide.
Does a Higher Error Correction Level Need a Bigger QR Code?
Yes — but indirectly, and by a specific, calculable amount. Error correction level doesn't change how many modules a given QR version has; Version 2 is always 25×25 modules regardless of whether you set error correction to L or H. What changes is how much of that fixed grid is usable for your actual data versus redundancy data used for damage recovery. Higher error correction levels reserve more of the grid for redundancy, which means less room for your payload — and if your payload doesn't fit anymore, the generator silently bumps you up to the next QR version, which does add more modules and therefore does make the printed code physically larger.
Here's that relationship made concrete with a realistic example: encoding a typical 25-character short URL (about the length of https://oqr.link/xY12ab9, a common format for OwnQR-style short links) in byte mode, across all four error correction levels, per the ISO/IEC 18004 capacity specification
| Error Correction Level | Recovery Capacity | Byte-Mode Capacity at Min. Version | Version Required for 25 Characters | Module Grid | Min. Print Size (0.5mm/module + quiet zone) |
|---|---|---|---|---|---|
| L (Low) | ~7% | 32 chars (Version 2) | Version 2 | 25×25 | 1.65 cm (0.65 in) |
| M (Medium) | ~15% | 26 chars (Version 2) | Version 2 | 25×25 | 1.65 cm (0.65 in) |
| Q (Quartile) | ~25% | 32 chars (Version 3) | Version 3 | 29×29 | 1.85 cm (0.73 in) |
| H (High) | ~30% | 34 chars (Version 4) | Version 4 | 33×33 | 2.05 cm (0.81 in) |
Reading that table left to right: the same 25-character URL scans out of Version 2 at both L and M error correction, but jumps to Version 3 at Q and Version 4 at H. In physical terms, that's the difference between a 1.65cm code and a 2.05cm code for identical data — a real but modest 4mm increase, not the dramatic size jump some guides imply. The minimum print size in the right-most column assumes a practical 0.5mm module floor, which is industry practical guidance for reliable smartphone scanning, not an ISO-specified figure — ISO/IEC 18004 defines the module grid itself but leaves physical module size to depend on your printer resolution and the scanner's optics. For the full mechanics of what L, M, Q, and H actually protect against and which one to pick for your use case, see the companion guide covering how QR codes are structured and read.
The practical takeaway: if you're embedding a logo (which requires Q or H error correction to survive the coverage), budget an extra 2-4mm of minimum size versus a plain code at the same data length — it's a small adjustment, but it's the one most "minimum size" articles skip because they only quote a single flat number regardless of error correction level.
DPI and Pixel Requirements for Printing
Distance and material tell you the physical size a code needs to be. DPI (dots per inch) tells you how many pixels your source file needs to contain to print that physical size cleanly, without blurring or pixelating the module edges — a failure mode distinct from "too small," but just as common in practice, especially when a code is exported from a web tool at screen resolution (typically 72-96 DPI) and then scaled up for print.
| Printed Size | 150 DPI (minimum acceptable) | 300 DPI (standard print quality) | 600 DPI (fine detail / small codes) |
|---|---|---|---|
| 2 cm (0.79 in) | 118 x 118 px | 236 x 236 px | 472 x 472 px |
| 5 cm (1.97 in) | 295 x 295 px | 591 x 591 px | 1,181 x 1,181 px |
| 10 cm (3.94 in) | 591 x 591 px | 1,181 x 1,181 px | 2,362 x 2,362 px |
| 30 cm (11.8 in) | 1,772 x 1,772 px | 3,543 x 3,543 px | 7,087 x 7,087 px |
The rule that follows from this table: 300 DPI is the safe floor for standard print, and it's worth checking against the pixel dimensions above before sending a file to a printer — if your 5cm code's source file is smaller than roughly 591×591 pixels, it will print blurry regardless of how correct your physical sizing math was. Below 150 DPI, module edges blur into their neighbors badly enough that even a correctly-sized code can fail to scan, because the scanner can no longer distinguish where one module ends and the next begins.
The cleanest way to sidestep this entire problem is to export QR codes as vector files (SVG or EPS) rather than raster images (PNG or JPG) whenever your printer or print shop accepts them — a vector file has no fixed pixel count, so it prints crisply at any size from a business card to a billboard without a DPI calculation at all. Most QR generators, including free ones, offer an SVG export option; it's worth using by default for anything going to a professional printer, and reserving PNG for on-screen or quick desktop-printer use where a specific resolution is fine.
Why "Big Enough by the Formula" Doesn't Always Mean "Scans Reliably"
The 10:1 rule, the material adjustments, and the DPI table all assume the scanner can physically focus on the code in the first place — and that assumption breaks down at both extremes of distance. Most phone cameras have a minimum macro focus distance of roughly 3-5cm; a code printed correctly at 1cm for a 10cm scan distance can still fail if someone tries to scan it from 4cm away instead, because the camera simply can't focus that close, regardless of how correctly sized the code is on paper. This is a common failure mode on very small print items — pin badges, jewelry tags, small stickers — where the "correct" size by the formula is smaller than the camera's minimum focus range allows. As a practical floor beneath the 10:1 formula, avoid designing for scan distances under 10cm unless you've tested the actual target devices; below that, focus distance becomes the binding constraint, not module resolution.
At the far end, the limiting factor shifts to camera resolution and hand stability rather than optics. A phone held at arm's length has natural micro-movement that a tripod-mounted scanner wouldn't; this is part of why the 10:1 ratio is a conservative planning number rather than the theoretical maximum a lab test might achieve. Motion blur, ambient lighting angle relative to a glossy surface, and the phone's autofocus speed all interact with distance in ways a static formula can't fully capture — which is exactly why the physical test-print-and-scan step later in this guide isn't optional busywork. It's the only step that accounts for all of these variables at once, in the actual conditions the code will be used in.
Micro QR Codes: When a Smaller Format Actually Helps
Standard QR codes aren't the only option when space is genuinely constrained. Micro QR Code is a related but distinct format defined in the same family of standards, built specifically for applications where a full-size QR code's minimum footprint — even at Version 1 — is still too large. Micro QR codes use a 2-module quiet zone instead of the standard 4-module requirement and top out at a much smaller maximum data capacity (roughly 35 numeric digits at the largest Micro QR version), trading capacity for a meaningfully smaller physical footprint at the same module size.
The catch, and the reason Micro QR codes aren't a general substitute for standard QR codes despite the smaller footprint: scanner support is far less universal. Most modern phone camera apps recognize standard QR codes natively, but Micro QR support varies by device and app — some default camera apps don't recognize the format at all. That makes Micro QR a reasonable choice only for closed, controlled environments where you also control the scanning hardware or app — component-level electronics labeling, internal industrial asset tags scanned with a dedicated app, or similarly constrained use cases — and a poor choice for anything aimed at a general consumer audience with an unknown mix of phones. For consumer-facing print of any kind, a correctly-sized standard QR code following the tables above remains the safer default.
A Worked Example: Sizing a QR Code for a Storefront Window
To make the whole process concrete end to end, walk through an actual sizing decision. A retail store wants to put a QR code on its storefront window, visible to people walking by on the sidewalk roughly 2 meters (6.6ft) away, printed as a matte vinyl decal.
- Scan distance: 2m (6.6ft) — measured from the sidewalk to the window, not from directly in front of the glass.
- Base minimum (10:1 forward): 2m ÷ 10 = 20cm (8in).
- Material adjustment: matte vinyl decal has no meaningful adjustment versus the base matte-paper assumption, so the base minimum stands at 20cm.
- Logo decision: the store wants its small logo in the center, so error correction is set to H, and the code is generated at a version that comfortably fits both the destination URL and the reserved logo space — in practice, this rarely changes the physical size decision at this scale, since 20cm already has enormous margin above the 1-2cm sizes where version bumps matter visibly.
- DPI check: at 20cm (7.9in), a 300 DPI source file needs to be roughly 2,362×2,362 pixels — well within range for a vector SVG export, which the store's sign shop requests directly, sidestepping the pixel calculation.
- Physical test: the shop prints a single decal, sticks it in the window, and scans it from the sidewalk at 2m with two different phones before ordering the full production run.
The result: a 20cm code, comfortably above the 10:1 minimum, that a passerby can scan without breaking stride — and because the shop tested the physical decal rather than trusting the formula alone, it also caught that afternoon glare off the glass required repositioning the decal a few inches lower, out of direct reflection, something no size calculation would have surfaced.
How to Determine Your Minimum QR Code Size (Step-by-Step
Run through these seven steps before finalizing artwork for any print run larger than a handful of units
- Identify the realistic scan distance. Not the distance you'd like people to stand at — the distance they'll actually be at. A business card is read at arm's length (~20cm); a poster is usually read from a full step back (~1m).
- Apply the 10:1 forward formula to get your base minimum size (distance ÷ 10).
- Check the material adjustment table above and add the relevant percentage for your substrate — glossy, corrugated, fabric, curved, or etched.
- Decide if you need a logo, and if so, what error correction level. Q or H is required for any embedded logo; budget the corresponding version bump from the error-correction table above.
- Confirm your source file's pixel dimensions match at least 300 DPI for the final physical size, using the DPI table above, or export as SVG to avoid the calculation entirely.
- Print one physical test copy on the actual material and at the actual size — screen previews and desktop-printer proofs don't reliably predict how glare, ink saturation, or texture will behave on the final substrate.
- Scan the physical test copy from the real distance, on at least two phones (one iOS, one Android), before committing to the full print run.
Common Mistakes That Shrink Your QR Code Below Minimum
Most undersized QR codes aren't the result of someone deliberately choosing too small a size — they're the result of a design decision made for an unrelated reason that shrinks the code as a side effect. The most common ones, in order of how often they actually cause failed print runs
- Fitting the code into a pre-set design box. Templates in Canva, InDesign, or packaging dielines often have a fixed-size logo or badge area; dropping a QR code into that box scales it to whatever the box size is, not to the size the scan distance requires. A code sized for a 3cm business card badge slot printed at 20cm poster distance is scanning at roughly a third of the size the 10:1 rule calls for.
- Exporting at screen resolution for a print job. A PNG downloaded at the default 72-96 DPI web resolution, then scaled up in a page layout tool to fill a larger printed area, doesn't gain real detail — it just stretches existing pixels, producing exactly the blur described in the DPI section above. A 2cm code exported at 72 DPI contains only about 57×57 pixels, well under the ~236×236 pixels needed at 300 DPI for the same physical size.
- Adding a logo without upsizing to compensate. A logo covering roughly 20-25% of a code's area is safe at H error correction, but only if the underlying code was sized generously to begin with. Adding the same logo to a code already at the bare 10:1 minimum effectively shrinks the usable scan area below what the formula assumed.
- Rotating or skewing during page layout. A QR code rotated even slightly off-axis during a PDF export can distort module proportions just enough to push a borderline-sized code below reliable scan thresholds — this is rare but shows up in wraparound packaging and curved-surface prints specifically.
- Copy-pasting a size that worked on one placement to a different one. A code sized correctly for a business card doesn't automatically work at poster distance; treat every new placement as a fresh calculation, not a reuse of whatever size worked last time.
Free vs. Paid Tools for Getting the Size Right
Every major QR generator, free or paid, will let you set a specific pixel or physical size and export a PNG or SVG — sizing itself isn't a feature gated behind a paywall anywhere in this market, and it shouldn't be. Where tools genuinely differ is in what happens after you've picked a size: whether you can preview the print-size rendering before downloading, whether SVG export is available on the free tier or locked behind a subscription, and whether you can still adjust the destination later if the printed size turns out to need a design change. A one-time-purchase tool like OwnQR ($15, no subscription) includes SVG export and size preview on the same basic tier as everything else — there's no reason to pay extra just to get a correctly-sized file, and any tool that gates plain sizing and export behind a paywall is worth skipping in favor of one that doesn't. The pricing question that actually matters — tracking, logo styling, and editable destinations after printing, none of which are about sizing — is covered separately in this site's breakdown of free versus paid QR generators.
The Bottom Line
The minimum QR code size for printing starts at 2×2cm (0.8×0.8in) for close-range scanning, using the 10:1 distance-to-size rule — but that single number only holds for flat matte paper, no logo, and default error correction. Adjust upward for glossy or textured materials (+15-40% depending on the surface), for any embedded logo (which forces Q or H error correction and a version bump of roughly 2-4mm), and always verify your source file meets at least 300 DPI at the final physical size, or skip the calculation entirely by exporting as SVG. Run the reverse formula (printed size × 10) on anything already in the world to check whether it's actually failing because it's undersized, rather than guessing. And whatever size you land on, the same rule from the checklist above applies regardless of budget or tool: print one physical test copy and scan it from the real distance, on real material, before committing to the full run — that single step catches more real-world failures than any formula in this guide. If your printed materials outlive a single campaign and you expect to need a different destination later without reprinting, that's a separate decision from sizing — see the comparison of [dynamic vs. static QR codes](/blog/dynamic-vs-static-qr-codes) for how that trade-off works once the physical code is already out the door.
Frequently Asked Questions
What is the absolute minimum QR code size according to ISO 18004?
ISO/IEC 18004 sets the structural floor at Version 1 (21×21 modules), the smallest grid the standard defines. At a practical module width of 0.5mm — an industry guideline for reliable smartphone scanning, not an ISO-mandated figure — that works out to roughly 1.45cm (0.57in) including the required 4-module quiet zone on each side. Going smaller than that risks scan reliability even under good lighting.
How do I calculate QR code size from scanning distance?
Divide the expected scanning distance by 10 — the 10:1 rule. A code meant to be scanned from 50cm away should print at least 5cm wide. To reverse the calculation on a code that's already printed, multiply its physical size by 10 to find the maximum distance it can reliably be scanned from.
What size QR code do I need for a business card?
At least 2×2cm (0.8×0.8in), based on the typical 20-25cm reading distance for a card held at arm's length. If the card has a glossy or laminated finish, add 15-20% to account for glare, bringing it to roughly 2.3-2.4cm.
What size QR code do I need for a billboard or banner?
For a 10m (33ft) viewing distance — a reasonable assumption for roadside signage — print at least 1m (3.3ft) wide following the 10:1 rule. Outdoor vinyl or mesh material typically needs an additional 10-15% margin on top of that base size.
Does a higher error correction level require a bigger QR code?
Yes, for identical data, though the increase is modest. A 25-character URL fits in a Version 2 grid (25×25 modules) at both L and M error correction, but requires Version 3 at Q and Version 4 at H — a difference of roughly 4mm in minimum printed size between the lowest and highest levels.
What DPI should I use when printing a QR code?
300 DPI is the standard floor for reliable print quality. A 5cm code needs approximately 591×591 pixels at that resolution. Below 150 DPI, module edges blur enough to cause intermittent or total scan failures, even if the physical size itself is correct. Exporting as SVG avoids the DPI calculation entirely.