QR3D Craft

What size does a 3D printed QR code need to be

By · 7 min read · Updated 25 October 2026

Leer en español

«How big should I make it?» is the question that comes up most and gets answered worst, usually with a single number and without anyone asking what nozzle you print with. The minimum size is not an opinion: it comes out of a multiplication with three numbers in it.

The three numbers you need

To know how big the piece has to be you need to know, in this order:

  1. How many modules your code has. That depends on the link you put in, not on the piece.
  2. Your nozzle diameter. Almost always 0.4 mm, sometimes 0.6.
  3. How far away it will be scanned from. This pushes the minimum up, never down.

Number 1: how many modules your code has

The module count is decided by how much information goes in. A QR code has 40 versions and each one adds four modules a side: version 1 is 21 × 21 and version 40 is 177 × 177. The formula is modules = 17 + 4 × version.

What decides the version is how many characters you put in and which error correction level you pick. This table says how many characters fit in each version, worked out with the encoder of this same site:

VersionModulesLevel LLevel MLevel QLevel H
121 × 211714117
225 × 2532262014
329 × 2953423224
433 × 3378624634
537 × 37106846044
641 × 411341067458
745 × 451541228664
849 × 4919215210884
953 × 5323018013098
1057 × 57271213151119

Read it left to right: find your character count in the column for your level and see which version you land on. With 40 characters at level M you are on version 4, 33 modules a side.

Number 2: the minimum module size

Here is the physical limit. The printer lays down a bead of material roughly as wide as the nozzle diameter. For a module to come out as a square with straight edges, rather than as a stretched blob, two beads have to fit inside it.

NozzleMinimum moduleComfortable module
0.2 mm0.4 mm0.6 mm
0.4 mm0.8 mm1.0 mm
0.6 mm1.2 mm1.5 mm
0.8 mm1.6 mm2.0 mm

All of this table is filament printing. In resin there is no nozzle and the limit comes from the camera that will read the code rather than from the machine: the minimum module drops to about three tenths of a millimetre. The numbers are in the resin guide (in Spanish).

There is a second minimum that almost nobody looks at and that sometimes outranks this one: the one imposed by layer height, because the relief can only be a whole number of layers. That is in the layer height guide (in Spanish). The «comfortable» column is the one actually worth using. The minimum works with the printer well calibrated and the first layer at exactly its height; the comfortable value also works on the days the machine is not at its best.

Careful with big nozzles. Plenty of people fit a 0.6 mm nozzle to print faster and then cannot work out why their codes stopped reading. At 0.6 mm, a version 5 QR needs 54 mm a side as a minimum against the 36 mm it wanted with the 0.4: half as much piece again for the same code. For QR codes, the fine nozzle is not a fussy preference. If you want to find where the line falls on your own printer, the test kit (in Spanish) is six pieces and thirty-five grams.

Minimum side of the piece by nozzle diameterWith a version 3 code of 29 modules, the minimum side is 29.6 mm with a 0.4 mm nozzle, 44.4 mm with a 0.6 mm nozzle, and 59.2 mm with a 0.8 mm nozzle.Version 3 code (29 modules) with a 4-module quiet zone on each side0.4 mm nozzle29.6 mmminimum module 0.8 mm0.6 mm nozzle44.4 mmminimum module 1.2 mm0.8 mm nozzle59.2 mmminimum module 1.6 mm
Same code, three nozzles. The nozzle does not change the design: it changes the floor below which the piece stops printing properly.

The formula

side of the piece = (modules + 8) × minimum module

The 8 modules added on are the quiet zone: four on each side, required by the standard. Without them the reader cannot find where the code ends.

If you would rather not do the arithmetic by hand, the size calculator (in Spanish) does it with your exact content: you paste the link, pick your nozzle and it gives you the millimetres.

Worked table for a 0.4 mm nozzle

VersionModulesMinimum (0.8 mm)Comfortable (1.0 mm)
12123.2 mm29.0 mm
22526.4 mm33.0 mm
32929.6 mm37.0 mm
43332.8 mm41.0 mm
53736.0 mm45.0 mm
64139.2 mm49.0 mm
74542.4 mm53.0 mm
84945.6 mm57.0 mm
105752.0 mm65.0 mm

Worked table for a 0.6 mm nozzle

VersionModulesMinimum (1.2 mm)Comfortable (1.5 mm)
12134.8 mm43.5 mm
22539.6 mm49.5 mm
32944.4 mm55.5 mm
43349.2 mm61.5 mm
53754.0 mm67.5 mm
64158.8 mm73.5 mm
84968.4 mm85.5 mm
105778.0 mm97.5 mm

Number 3: the reading distance

So far we have worked out the minimum for the printer to be able to reproduce the code. What is missing is the minimum for the camera to see it from wherever people will be standing.

The rule of thumb used in signage works here too:

maximum reading distance ≈ 10 × side of the code

Side of the codeReads comfortably up toTypical use
30 mm30 cmKeychain, in the hand
50 mm50 cmOn the counter
90 mm90 cmStand on the table
150 mm1.5 mWall plate
300 mm3 mShop window, sign

It is a conservative rule: a modern phone in good light reaches considerably further. But it is built for the realistic worst case, which is somebody with an old phone in mediocre light, and that is exactly the case you have to cover once the piece is printed and screwed to a wall.

If the size you end up with does not fit on your printer's bed, read the guide to oversized codes (in Spanish) before cutting the piece into chunks: usually you do not need to, and when you do there are cuts that cannot be made.

The final size

Take the two numbers — the one from the nozzle and the one from the distance — and keep the larger of the two. That is your size.

A worked example. You want a plate for the workshop wall linking to a machine's manual, and it will be scanned from a metre and a half away:

There is one case where this calculation cannot be applied as it stands, because the size is decided in advance: the 3D printed business card (in Spanish). There the piece measures whatever a pocket measures, and the only variable left is shortening the link until the modules fit. And with even less room, on a pet collar tag (in Spanish), where the size is decided by the animal wearing it.

Or let the tool work it out

The generator tells you the version and the module count of your code as soon as you paste the link, and sizes the object so the modules never drop below what your printer can lay down.

Open the generator

Keep reading