Skip to content
qrcodegenerator.in
PRINT

How big should a QR code be? The arithmetic, and the part nobody can give you

Payload length sets the module count, the module count divides your print width, and the printer’s resolution decides whether a module prints cleanly. All three are arithmetic. The scan distance is the part that is not.

WHAT THIS ARTICLE DOES AND DOES NOT TELL YOUThe module count comes from the payload and the error correction level — fixed by ISO/IEC 18004, and the same for every generator.One module’s printed width is the code’s width divided by the module count plus eight for the quiet zone.A module that is not a whole number of printer dots prints uneven, and that is avoidable.A minimum size in millimetres is NOT given here. It needs a print-and-scan study, and ours has not run.

The payload picks the grid

A QR code’s version is its grid: version 1 is 21 modules across and every version after it adds four. Which version a payload needs depends on how many characters it carries and the error correction level you choose. The capacity tables are in ISO/IEC 18004 and every correct encoder uses the same ones.

In byte mode — the mode a URL with lowercase letters uses — version 2 at level M holds 26 characters, version 3 holds 42, version 4 holds 62 and version 5 holds 84. A 22-character short link fits version 2. A 90-character tracking URL needs version 6, which is 41 modules across. Printed at the same width, the second code’s modules are 25 × 25 against 41 × 41 squares in the same space.

VersionModules acrossCharacters at M
12114
22526
32942
43362
53784
641106
1057213

From the standard’s capacity table. Numeric and alphanumeric payloads fit more characters per version.

The width divides by the grid, quiet zone included

The standard requires four modules of clear space on every side, so a version 2 code is really 33 modules wide on paper: 25 for the symbol and 8 for the margins. Divide the width you are printing by that, and you have the width of one module. At 25 mm a version 2 code has modules of 0.76 mm; a version 6 code at the same width has modules of 0.51 mm.

This is why a short link is worth more on paper than in the browser. Shortening the payload is the cheapest way to make every module bigger without making the code bigger.

VersionAt 20 mmAt 25 mmAt 35 mm
20.61 mm0.76 mm1.06 mm
40.49 mm0.61 mm0.85 mm
60.41 mm0.51 mm0.71 mm
100.31 mm0.38 mm0.54 mm

Width ÷ (modules + 8). Division, not measurement.

Make a module a whole number of printer dots

A printer lays ink on a grid of its own. At 300 dots per inch one dot is 0.085 mm; at 600 it is 0.042 mm. A module of 0.76 mm is nine dots at 300 dpi — but a module of 0.80 mm is 9.4 dots, and the printer has to round, so some modules print nine dots wide and some ten. A decoder reading a row of uneven modules is reading noise you put there.

The fix is to choose the printed size from the dot grid, not the other way round: pick a whole number of dots per module, multiply by the module count plus eight, and that is your width. The print size calculator on this site shows the module width for any size you enter, so you can check it before the file goes out.

Choose the size from the printer’s grid, and the printer has nothing to round.

And the distance, which is not arithmetic

How far away a code can be scanned from depends on the phone’s camera, its autofocus, the light, the angle, the surface and the decoder. None of those is in the symbol. A widely repeated rule of thumb is a code about one tenth as wide as the distance it will be scanned from, and our calculator shows it — labelled as a rule of thumb, beside everything that is actually derived.

A minimum size you can rely on needs a printed corpus scanned with real phones until the failures form a boundary. We have designed that study and not yet run it, so this site shows no minimum size and no score. When it runs, the results will be published with the data.

What this article is not

It is not a study. The tables are the standard’s capacity figures and division.

Capacities are for byte mode. A payload the encoder can put in numeric or alphanumeric mode fits more per version.

The ten-to-one distance ratio is a rule of thumb, not a result.

Work out a size before you print

Enter your payload and print width, and see the module count, the module size and the quiet zone, with the arithmetic shown.

Check a QR codeCalculate a print size