QR3D Craft

How much relief to give the code: the angle calculation

By · 6 min read · Updated 26 October 2026

Leer en español

Relief looks like a matter of taste: taller feels better in the hand and looks more striking. But every extra tenth of height has a price you cannot see looking at the piece head on, and that shows up the moment somebody scans it slightly from the side. This guide does the calculation and turns it into a rule that depends on module size.

Head on it makes no difference

Looked at exactly head on, a code with 0.4 mm of relief and one with 2 mm are identical to the phone: it sees the top face of each dark module and the light background between them. The height does not appear in the image at all.

But almost nobody scans exactly head on. A stand on a table gets looked at from the chair, a plate on a wall from below, a keychain in the hand however it falls. The normal case is the phone twenty or thirty degrees off the piece, sometimes more. And there the height does appear.

The full guide gives 0.8 to 1.2 mm as a starting point. That is a good figure for plates and stands. For small pieces, as you will see, it is too much.

From the side, the relief hides things

On a two-colour piece, the modules of the code are blocks of the dark colour, with walls in the same colour. Seen at an angle, the phone does not just see the top face of each block: it also sees its wall, and that wall hides a strip of the light module behind it. To the reader, that strip is dark.

The width of that strip takes one line to work out: relief height times the tangent of the angle. At 35°, the tangent is 0.7, so 1 mm of relief hides 0.7 mm of the module behind it.

And the reader, which as the module shapes guide (in Spanish) explains looks at the centre of each cell, gets it wrong when what is hidden reaches half a module: at that point the centre of the light module already looks dark.

A low relief and a tall one seen at an angleAt 0.6 millimetres of relief, the wall of the dark module hides 0.42 millimetres of the light module behind it, and the centre stays visible. At 1.4 millimetres of relief, the wall hides 0.98 millimetres and the centre is covered.Section of a 40 mm keychain (0.92 module) seen at 35°0.6 mm reliefhides 0.42 mm: centre visible1.4 mm reliefhides 0.98 mm: centre covered
The dotted line is the phone's line of sight grazing the edge of the dark module. Everything to its right, down to the floor, in orange, the phone sees as dark. At 1.4 mm of relief the light module disappears entirely and the reader takes it for dark.

The maximum reading angle

Putting that condition into numbers gives the angle beyond which the light modules start reading badly. It depends on two things, the module size and the relief height:

Module0.4 mm0.6 mm0.8 mm1 mm1.4 mm
0.9 mm (40 mm keychain)49°37°30°25°18°
1.2 mm56°45°37°31°23°
1.6 mm63°53°45°39°30°
2.1 mm (90 mm plate)69°60°53°46°37°
3.5 mm (150 mm plate)77°71°65°60°51°

The top row is the surprising one. A 40 mm keychain with the 1 mm relief the generator offers by default reads fine head on and starts failing at 25°, a tilt anybody reaches without noticing. At 0.6 mm it holds up to 37°.

It is a geometric model, not a trial, and reality is a little more generous for two reasons. The effect only hits the light modules that have a dark one in front of them along the line of sight, not all of them. And the error correction level, explained in its own guide (in Spanish), absorbs some of the ones that read badly. But that correction is there for dirt and knocks, and every module spent compensating for the angle is one less for everything else.

The 70 % rule

If you fix an angle the piece has to cope with, the sum can be turned round to give the maximum relief. For 35°, which covers the normal way of scanning something that is not directly in front of you, it gives a very convenient rule:

The relief should not go past 70 % of the module size. The generator tells you the module size before you download; multiply it by 0.7 and that is your ceiling.

PieceModuleMaximum reliefWhat to use
35 mm collar tag0.88 mm0.63 mm0.6 mm
40 mm keychain0.92 mm0.66 mm0.6 mm
Piece with a 1.2 module1.2 mm0.86 mm0.8 mm
Piece with a 1.6 module1.6 mm1.14 mm1 mm
90 mm plate2.09 mm1.49 mm1 to 1.4 mm
150 mm plate3.49 mm2.49 mm1 to 1.4 mm

On the big plates the ceiling lands well above what is needed. That you can put 2.4 mm does not mean you should: a tall relief takes longer, uses more of the code colour and does not read any better head on. Everything good is between 1 and 1.4 mm.

If you know your piece is going to be looked at from well off to one side, like a high plate on a wall scanned from the floor, do not use the rule: find your module in the table above and pick the relief that survives that angle.

And the minimum

Lowering the relief has a limit underneath, and it is not about reading but about colour. Below 0.6 mm, which is three layers of 0.2 (with a different layer height the sum changes, and at some heights there is no valid relief at all: the layer height guide (in Spanish) explains it), the colour of the code comes out so thin that some of the base colour shows through, especially with a dark code on a light base. The contrast drops, which is exactly what you were protecting.

So on small pieces the two limits meet: the 70 % ceiling gives about 0.63 mm and the floor is 0.6. On keychains and tags, exactly 0.6 mm. It is a change you have to make by hand, because the generator comes set to 1 mm, which is meant for plates.

If your piece has modules under 0.85 mm, the two limits no longer fit together: leave it at 0.6 and accept that it will read at a slightly tighter angle. Or, better, make the piece bigger, as the minimum size guide explains.

The same sum applies to shadow

There is a second reason not to overdo it, and the sum is the same. Light arriving from the side casts the shadow of each module onto the light one next to it, as long as height times the tangent of the light's angle. With a tall relief and raking light, like a window in mid afternoon, the light background fills with shadows that the reader also takes for dark.

With the 70 % rule, those shadows stay under half a module as long as the light does not come in flatter than 35°. It does not eliminate the problem of very raking light, but it pushes it further away. What happens to light when the code is a single colour, which is another story, is in the engraving guide (in Spanish).

And the check, as always, is done with the piece in your hand: scan it head on, then tilted as far as somebody seeing it for the first time would tilt. If it reads head on and hesitates at 30°, the relief is tall for its module. The testing guide (in Spanish) has the rest of the protocol.

Match the relief to your module

Look at the module size the generator gives you, multiply it by 0.7 and set the relief height control to that figure or the one below it. On small pieces, 0.6 mm.

Open the generator

Keep reading