QR code size calculator
The designer asks how big the QR code has to be, and the honest answer depends on two numbers nobody has written down yet: how far away the phone will be, and how long the encoded content is. This calculator takes both and returns a minimum, a recommended size and the quiet zone, so the code is sized for the reader instead of for the layout.
Calculate the size
How far away the phone will be when it reads the code.
The exact URL or text. Its length decides the module count.
Higher levels add redundancy, which adds modules: the same content becomes a bigger symbol.
Width of the code in your layout, without the quiet zone.
Version 2, 25 × 25 modules, 24 bytes UTF-8
Minimum from distance
3 cm
10:1 rule: distance ÷ 10
Minimum from module count
1 cm
25 modules × 0.4 mm
1.32 cm including the quiet zone
Recommended size
4 cm
Binding floor + 25% headroom, rounded up to the next 0.5 cm
Keep 6.4 mm clear on every side at that size.
The scan distance is the binding constraint: at 3 cm each of the 25 modules is already 1.2 mm, comfortably above what the print process needs.
The same content at typical distances
| Use | Distance | From distance | From modules | Recommended |
|---|---|---|---|---|
| Business card | 20 cm | 2 cm | 1 cm | 2.5 cm |
| Flyer | 30 cm | 3 cm | 1 cm | 4 cm |
| Poster | 1 m | 10 cm | 1 cm | 12.5 cm |
| Window | 3 m | 30 cm | 1 cm | 37.5 cm |
| Billboard | 10 m | 1 m | 1 cm | 1.25 m |
The content is encoded in your browser to count its modules. Nothing is sent anywhere.
How to calculate the print size of a QR code
Work out how large a QR code has to be printed: enter the scan distance and the content, pick error correction and print process, and read the minimum and recommended sizes.
-
Enter the scan distance
Type how far away a phone will be when it reads the code, or pick a preset: business card, flyer, poster, window or billboard. This sets the 10:1 floor.
-
Paste the exact content
Paste the URL or text that will actually be encoded, tracking parameters included. The calculator encodes it and shows the version, the module count and the byte length.
-
Set error correction and print process
Keep M unless something will cover the code. Choose offset or digital print for paper, or the thermal and rough-surface option for labels, which needs larger modules.
-
Read the recommended size
The larger of the two floors plus 25 percent headroom, rounded up to the next half centimetre, together with the quiet zone you have to keep clear on every side at that size.
-
Grade your planned size and test print it
Enter the width the layout allows to see the module size, the verdict and the furthest distance it will scan from. Then print one copy on the final stock and scan it from that distance.
How the calculation works
Two independent constraints set the size, and the code has to satisfy both. The first is the reader: a phone camera resolves a QR code reliably when the code is about one tenth of the distance it is scanned from, so the distance floor is simply the scan distance divided by ten. The second is the print process: a module, one of the small squares, needs about 0.4 mm of ink in offset or digital print and about 0.6 mm on a thermal label or a rough surface, so the module floor is the module count times that figure. The print-size guide explains where both rules come from; the calculator only does the arithmetic.
The module count is not something you choose. It follows from the version the encoder
picks for your content, and a version has 17 + 4 × version modules per side: version 1
is 21, version 10 is 57. https://example.com/menu
is 24 bytes and becomes a version 2 symbol at level M,
25 × 25 modules.
Put that on a poster read from 1 m. The distance floor is 10 cm. The module floor is 25 × 0.4 mm = 1 cm, or 1.32 cm once the four-module quiet zone on each side is added. The distance wins by a wide margin, so the recommendation is 10 cm plus 25% headroom: 12.5 cm. At that size every module is 5 mm and the quiet zone is 20 mm on every side.
Now the other case. The same link with four tracking parameters is 96 bytes, version 6, 41 × 41 modules, printed on a thermal label read from 20 cm. The distance floor is 2 cm, but the module floor is 41 × 0.6 mm = 2.46 cm — larger, so the module count is the binding constraint and the recommendation is 3.5 cm. The distance rule would have let you print it smaller, and it would not have scanned.
Reference sizes by distance
For a short link like the example (25 modules, offset print) the distance is binding at every row, so this table reproduces the 10:1 rule with the headroom applied. The calculator recomputes it for your own content; with a long URL on a thermal label the first rows move up.
| Read from | Minimum (10:1) | Recommended | Module at that size | Typical use |
|---|---|---|---|---|
| 20 cm | 2 cm | 2.5 cm | 1 mm | Business card, product label |
| 30 cm | 3 cm | 4 cm | 1.6 mm | Flyer, menu, packaging |
| 1 m | 10 cm | 12.5 cm | 5 mm | Poster, table tent, shelf talker |
| 3 m | 30 cm | 37.5 cm | 15 mm | Window display, exhibition stand |
| 10 m | 1 m | 1.25 m | 50 mm | Billboard, building wrap |
Why shortening the URL shrinks the code
Every character you add has to fit somewhere, and when the current version is full the encoder moves to the next one, which adds four modules per side. The example link is 25 modules across; the tracked version of the same link is 41. At a fixed 2 cm on a business card that is the difference between 0.8 mm modules and 0.49 mm modules — the second is barely above the 0.4 mm floor for paper and below the 0.6 mm a thermal printer needs.
Error correction pulls the same lever from the other side. Raising the level adds redundant codewords, which fills the version sooner, which adds modules: the calculator shows the module count for all four levels under the buttons so you can see when a step up is free and when it costs a version. What L, M, Q and H really cost you works through that trade-off in millimetres. If a code that should be large enough still fails, the not-scanning checklist covers the other causes — contrast, quiet zone, glare — and how to test a QR code describes the print test worth doing before a run. A logo in the middle is the one thing the calculator does not model; see the last question below.
Common questions
Why does the calculator add 25% on top of the minimum?
Because the two floors describe a phone held square-on, in good light, with a clean lens. Real scans happen at an angle that foreshortens the modules, in dim light that adds noise, through a smudged camera, one-handed. The print-size guide recommends 20 to 30 percent on top of the floor; the calculator uses 25 percent and rounds up to the next half centimetre, because nobody sets a layout box to 3.07 cm. If you have tested your own conditions, treat the two floors as the hard numbers and the recommendation as the default.
The layout only has room for a smaller code than recommended. What can I change?
Three levers, in this order. Shorten the content: a short link drops whole versions and every version is four modules per side, which is the biggest lever you have. Lower the error correction to M, or to L if nothing will cover the code. Move the code closer to the reader, on the table rather than the wall. Only then accept a size between the floor and the recommendation, and test that exact size on the final stock. Do not crop the quiet zone to gain space — the calculator shows how much margin the code needs at any width.
Does the 10:1 rule also apply to a QR code shown on a screen?
The distance half does. A code on a slide read from five metres still needs to appear about fifty centimetres wide on the projection, and a code in a video call needs to fill a fair part of the shared window. The module half does not, because there is no ink to spread: what matters is that each module maps to several device pixels, so export the code at the size it will be shown, or as SVG, instead of scaling a small PNG up. A screen is backlit and undamaged, so level M is the right choice there.
Does the calculator account for a logo in the middle?
No. A logo does not change the module count, so both floors stay as shown, but it uses up part of the error correction budget, which is why a logo usually means level H — and H is what makes the symbol bigger. Set H in the calculator to see the size the logo really costs, keep the logo under a quarter of the code width, and let the generator warn you when the overlay covers more than the level can spare.
Sized it? Now make the code