Most QR codes that fail in the real world fail for one boring reason: they were printed too small for the distance people scan them from. The good news is that sizing a QR code correctly isn't guesswork — there's a simple formula, a few minimum sizes worth memorizing, and a handful of factors that change the math. This guide covers all of them.

The absolute minimum: 2 x 2 cm

For close-range scanning — a business card, a flyer held in the hand, a product label — the widely accepted minimum is 2 x 2 cm (about 0.8 x 0.8 inches). Below that, many phone cameras struggle to lock focus, especially older devices or cameras with fixed focal lengths.

That minimum assumes a simple code: a short URL, standard error correction, decent contrast. If your code packs in a full vCard or uses high error correction, treat 2.5–3 cm as your floor instead.

The 10:1 distance rule

For everything beyond arm's length, use this rule of thumb:

QR code size = scanning distance ÷ 10

If people will scan from 1 meter away, the code should be at least 10 cm wide. From 5 meters, 50 cm. It scales in both directions and works in any unit — a code scanned from 20 inches away should be at least 2 inches wide.

The rule exists because a phone camera needs the code to occupy a meaningful share of the frame to resolve individual modules (the small squares). Halve the size and you've halved the effective resolution the camera has to work with.

Size chart by use case

PlacementTypical scan distanceMinimum size
Business card15–20 cm2 x 2 cm (0.8 in)
Flyer / brochure20–30 cm2.5 x 2.5 cm (1 in)
Product packaging20–30 cm2.5 x 2.5 cm (1 in)
Table tent / menu card30–50 cm3–5 cm (1.2–2 in)
A4 poster on a wall0.5–1 m5–10 cm (2–4 in)
Storefront window1–3 m10–30 cm (4–12 in)
Trade show banner2–5 m20–50 cm (8–20 in)
Billboard15–25 m1.5–2.5 m (5–8 ft)

These are minimums, not targets. Printing 20–30% larger than the minimum costs nothing and buys you tolerance for bad lighting, shaky hands, and scratched laminate.

Three factors that change the math

1. Data density

QR codes come in versions from 1 to 40. More data means more modules crammed into the same square: a short URL might produce a 25 x 25 module code, while a full contact card can push past 45 x 45. At the same print size, denser codes have physically smaller modules — and it's module size, not overall code size, that the camera actually needs to resolve.

Practical consequences:

  • Keep encoded URLs short. A dynamic QR code helps here, since it always encodes a short redirect link regardless of how long the destination is.
  • If you must encode a lot of data (a static vCard, for example), bump the print size up a step from the table above.

2. Error correction level

Every QR code includes redundancy so it still scans when partially damaged or obscured. There are four levels:

  • L — recovers up to ~7% damage, lowest density
  • M — ~15%, the sensible default for most print
  • Q — ~25%, good when adding a center logo
  • H — ~30%, needed for large logos or harsh environments

Higher levels are more robust but add modules, making the code denser. If you put a logo in the middle of your code — which QR Studio Lab supports alongside color and theme customization — use Q or H so the covered modules can be reconstructed, and size the print accordingly.

3. Quiet zone

The quiet zone is the empty margin around the code — the spec calls for at least 4 modules of clear space on every side. Designers love to crop it or run a background pattern right up to the edge, and scanners hate them for it. When you measure your code against the size chart, measure the dark pattern itself and then add the quiet zone on top; don't let the margin eat into your minimum size.

QR code versions: from 21 x 21 to 177 x 177 modules

Every QR code is a square grid between 21 x 21 modules (version 1) and 177 x 177 modules (version 40) — each version adds 4 modules per side. The version is chosen automatically by the generator based on how much data you encode and the error correction level you pick.

VersionModulesMax capacity (level L)Typical content
121 x 2125 alphanumeric charsVery short code or ID
225 x 2547 alphanumeric charsShort URL
537 x 37154 alphanumeric charsFull-length URL
1057 x 57395 alphanumeric charsLong URL with UTM tags
2097 x 971,249 alphanumeric charsStatic vCard with all fields
40177 x 1774,296 alphanumeric / 7,089 digits / 2,953 bytesMaximum possible payload

A 177 x 177 QR code is the largest the standard allows — version 40, holding up to 7,089 digits, 4,296 alphanumeric characters, or 2,953 bytes. You almost never want one in print: with 177 modules plus the quiet zone squeezed into the same square, each module gets tiny. At a practical minimum of about 0.5 mm per module, a version 40 code needs to be printed at least 9–10 cm wide to scan reliably at close range — versus 2 cm for a simple version 2 code. If your generator is producing a very dense grid, that's a sign to shorten the payload or switch to a dynamic code, not to print bigger.

What is the maximum size of a QR code?

In data terms the maximum is version 40 — a 177 x 177 module grid holding 2,953 bytes; in print terms there is no maximum at all. A QR code is vector geometry, so it scales to a billboard or a building wrap without losing scannability, as long as the size-to-distance ratio (size = distance ÷ 10) holds and you export it as SVG rather than stretching a small PNG.

How small can a QR code be and still work?

The practical floor for print is 2 x 2 cm (0.8 in) for a simple code; the theoretical grid minimum is 21 x 21 modules (version 1). Smaller codes — down to about 1 x 1 cm — can technically be produced with laser etching or high-resolution offset printing, but ordinary phone cameras struggle to focus on them, so treat anything under 2 cm as a gamble.

There is also Micro QR, a separate compact format with grids from 11 x 11 to 17 x 17 modules holding at most 35 digits. It's used in industrial marking and electronics, but most phone camera apps don't decode it natively — for anything meant to be scanned by the public, stick to a standard QR code at 2 x 2 cm or larger.

Print resolution: PNG vs SVG

Size on paper is only half the story — the file needs enough resolution to render sharp edges:

  • Small print (cards, flyers): a PNG works if it's exported large enough. Aim for at least 300 DPI at final size — for a 3 cm code that means roughly a 360 x 360 pixel image, and more headroom never hurts.
  • Large format (posters, banners, vehicle wraps): use SVG. Vector files scale to any size with perfectly crisp edges and are what professional printers ask for anyway. QR Studio Lab exports both PNG and SVG on every code, free.

Never enlarge a small PNG in a layout tool — the anti-aliased, slightly blurry edges that result are a classic cause of failed scans.

How to verify before you print

  1. Print a test page at actual size on a regular office printer.
  2. Tape it up at the real placement distance.
  3. Scan it with at least two phones — ideally one older Android and one iPhone — in the actual lighting conditions.
  4. Try scanning from 1.5x the expected distance. If it still reads, you have margin.

Five minutes of testing beats reprinting a banner. And if a correctly sized code still won't read, size usually isn't the culprit — check contrast, quiet zone, and the link itself in our guide to fixing QR codes that won't scan.

Quick reference

  • Never smaller than 2 x 2 cm.
  • Size = scan distance ÷ 10.
  • Less data = easier scans; keep URLs short.
  • Grid sizes run from 21 x 21 (version 1) to 177 x 177 (version 40) modules.
  • Logo in the middle? Use error correction Q or H.
  • Keep a 4-module quiet zone.
  • SVG for anything bigger than a flyer.

Get those six right and your code will scan on the first try — which, for the person standing in front of your poster, is the only try you get.