Skip to content

What size should a QR code be?

There is no single answer, but there is a reliable rule. Size depends on two things: how far away it will be scanned, and how much data it holds. Get either wrong and the code fails in ways that are invisible until someone tries it.

On this page

The ten-to-one rule

The most useful rule of thumb in printing QR codes:the code should be about one tenth of the distance it is scanned from.

Scanned fromMinimum sizeTypical use
20 cm2 cmBusiness card, receipt
30 cm3 cmTable tent, menu, packaging
1 m10 cmCounter sign, poster at close range
3 m30 cmWall poster, shop window
10 m1 mBillboard, building signage

It is deliberately conservative. Phone cameras vary enormously, lighting is rarely ideal, and people hold devices at odd angles. Building in margin costs nothing; discovering the code is too small costs a reprint.

Work out your minimum size

Nothing is sent anywhere — this runs in your browser, and it uses the same figures the generator does.

17 bytes

cm away

Higher levels survive more damage but hold less, so the code grows. FigQR uses H.

2.5 cm(1.0 in)

Set by the reading distance. The content would fit at 1.5 cm, but a code read from 25 cm away needs to be about a tenth of that across.

Version
3
Modules
29 × 29
Each module
0.86 mm
With quiet zone
3.2 cm

A floor, not a promise. Ink spread on uncoated paper, glare behind glass and a phone held at an angle all cost you margin that no calculation can see — print a test at the real size on the real material before you commit to a run.

Data changes everything

The rule above assumes a short link. Content length changes the picture, because a QR code is a grid of modules — the individual squares — and more data means more of them.

  • Version 2 (25×25 modules) — a short link like figqr.com
  • Version 6 (41×41) — a typical URL with a few parameters
  • Version 10 (57×57) — a WiFi network or a short vCard
  • Version 15 (77×77) — a full contact card

At a fixed physical size, a version 15 code has modules roughly a third the width of a version 2 code. The practical floor is about 0.5 mm per module in print — below that, ordinary cameras start failing.

So a dense code needs to be physically larger, not just technically valid. Our generator shows the version and a suggested minimum size as you type, which is the number to trust over any general rule.

The quiet zone is part of the code

Every QR code needs a clear margin around it — at least four modules wide on all sides. This is in the specification, not a design preference. Scanners use the blank area to work out where the pattern begins.

Cropping it is one of the most common causes of a code that "sometimes works":

  • Text or a border running right up to the edge.
  • The code placed tight into a corner of a design.
  • A background image showing through the margin.

Contrast, and why inverted codes fail

Scanners look for dark modules on a light background. That expectation is baked into a lot of decoding software.

  • Dark on light — always works.
  • Light on dark — many scanners handle it, plenty do not. Avoid on anything printed at volume.
  • On a photo or pattern — unreliable. If the design demands it, put the code in a solid light panel.
  • Low contrast pairs — mid-grey on beige may look elegant and scan badly. Aim for a strong difference in lightness, not just in colour.
  • Thermal receipt paper — low contrast to begin with and it fades. Print larger than the rule suggests, at least 2.5 cm.
  • Matte and textured stock — scatters light. Add 20% to the size.
  • Glossy surfaces — reflections can wipe out part of the code under overhead lighting. Matte laminate is safer than gloss.
  • Fabric and curved surfaces — distort the grid. Go significantly larger and test on the real object.

Use SVG for anything printed

A PNG is a fixed grid of pixels. Scale it up and edges soften; soft edges on small modules are exactly what makes a scanner give up. An SVG is a mathematical description, so it prints sharp at any size, from a business card to a billboard.

PNG is for screens — emails, slides, web pages — where the size is already known.

Test on the real thing

The only test that counts:

  1. Print it at the actual final size, on the actual material.
  2. Scan it from the actual distance people will stand at.
  3. Try an older phone, not just a current one.
  4. Try it in the real lighting — dim restaurants and bright sun both cause failures.
  5. Have somebody else try it, without telling them where to aim.

Checking on screen proves almost nothing. Nearly every failed QR code in the wild scanned perfectly on the designer's monitor.

Short of printing one, the QR code checker will read the minimum width straight off an image — along with its contrast, its quiet zone, and whether it still decodes once it has been shrunk and softened the way a phone camera sees a small print.

Common questions

What is the minimum size for a QR code?

About 2 cm square for a short link read from arm’s length, and that is a floor rather than a recommendation. The honest answer depends on how much data the code holds and how far away it is read from — a dense code at 2 cm often fails where a simple one succeeds.

Is there a simple rule I can use?

Divide the scanning distance by ten. A code read from 30 cm needs to be about 3 cm wide; from 3 metres, about 30 cm. It is approximate and conservative, which is what you want when the alternative is reprinting.

Why does more text make the code bigger?

More data means more modules — the small squares that make up the pattern. At a fixed physical size, more modules means each one is smaller, and once a module drops below roughly half a millimetre in print, cameras start to fail.

Should I use PNG or SVG for printing?

SVG, always, for anything printed. It is vector, so it stays perfectly sharp at any size. A PNG scaled up gains soft edges, and soft edges on a small dense code are exactly what stops it scanning.

How much white space does a QR code need?

A margin of at least four modules on every side — the quiet zone. It is part of the specification, not decoration. Scanners use it to find where the code begins, and cropping it is one of the most common reasons an otherwise perfect code fails.

Make one that never expires

Free, no account, and generated entirely in your browser. Your destination goes straight into the pattern.

Open the generator

Keep reading

Or make a code