Face down or face up: the flip that looks free
By Tiehl Roberto Matías · 8 min read · Updated 27 October 2026
It is the trick that turns up in any thread about two-colour plates: print it face down and the code face comes out like a mirror, because it copies the finish of the build plate. That is true, and almost nobody mentions the rest: that flipping it stops the code being the last layer and makes it the first, which is exactly the one the machine squashes and the one the slicer deliberately deforms.
In this guide
Which flip we are talking about
The file you download from the generator is built a particular way: the base at the bottom and the code on top. First the plain millimetres of the base are printed and, when they finish, the relief of the modules begins. That is how the 3MF comes out and how the STL comes out, which is why the face touching the build plate is the back, the one nobody looks at.
The flip means rotating the piece 180° in the slicer so the code lies against the bed. Two seconds of work. And let us get rid of the fear that always comes up in forums: rotating the piece does not mirror the code. A rotation inverts nothing; the face that used to look up now looks down, and seen from below it reads the same. What does break it is using the slicer's mirror function instead of rotating, because then the code really is reversed and no ordinary reader will decipher it.
Why is it so tempting? Because of the six faces of a printed piece, the bottom one is the only one the printer does not make: it copies it. It comes out with the finish of the plate, mirror smooth or with whatever texture it has, perfectly flat and without a single string. The upper faces depend on how many solid layers you have, on whether the profile irons or not, and on how the fan behaves. For a code, where all that matters is the reader telling dark plastic from light, a polished face looks like the best gift there is.
The first layer stops being a slab
Here is what the flip really costs, and it is bigger than it looks. With the piece as the generator makes it, the first layer is the base: a solid rectangle gripping the bed across its whole area. Turn it over and the first layer is no longer the base, it is the pattern of the code. And the pattern of a QR is not one shape: it is many.
On the reference code of the other guides — 33 modules, what an ordinary link at level M gives — on a 90 mm plate, the count is this:
Eighty-six separate islands, and forty-two of them are a single lone module, a little square touching no other. It is not a counting quibble: to the slicer, two modules meeting only at a corner are two separate pieces, because a bead of plastic does not fit through a corner. Sorted by size they come out like this:
| Size of the island | How many |
|---|---|
| 1 lone module | 42 |
| 2 modules | 11 |
| 3 modules | 7 |
| 4 modules | 1 |
| 5 or more | 25 |
Between them they rest on 2,472 mm² of the plate's 8,100: 31 % of the surface, cut into 86 pieces. And the smallest of those pieces, the lone module, grips whatever a module squared measures. Which depends on the size of the piece:
| Piece | Module | What one lone island grips |
|---|---|---|
| 40 mm keychain | 0.92 mm | 0.8 mm² |
| 50 mm keychain | 1.15 mm | 1.3 mm² |
| 90 mm plate | 2.09 mm | 4.4 mm² |
| 120 mm plate | 2.79 mm | 7.8 mm² |
| 150 mm plate | 3.49 mm | 12.2 mm² |
Eight tenths of a square millimetre is what one module of a keychain grips. That is less than a pinhead. Forty-two pieces like that, printed at once, with the nozzle hopping from one to the next: the arithmetic of how many survive does not work out. On a 120 or 150 mm plate the same piece grips ten times more, and there things change.
The minimum module rises by 50 %
The islands are a problem of the piece coming loose. There is an earlier one, which is whether the pattern can be printed at all. And here the flip has a price that can be put in millimetres.
Face up, all the module has to do is fit: two nozzle beads, which with a 0.4 mm one is the 0.8 mm of the minimum size. Face down you have to ask for more, because the first layer is the only one the machine does not print at its nominal size. Either it spreads, if the nozzle runs low, or it narrows, if you turn on elephant foot compensation. Either way one of the two elements of the code falls short: in the first case the light corridor separating the modules, in the second the dark module. And both have to go on measuring two beads.
| Nozzle | Deformation | Min. module face up | Face down | Smallest plate |
|---|---|---|---|---|
| 0.4 mm | 0.10 mm | 0.8 mm | 1.0 mm | 49 mm |
| 0.4 mm | 0.20 mm | 0.8 mm | 1.2 mm | 57 mm |
| 0.6 mm | 0.10 mm | 1.2 mm | 1.4 mm | 64 mm |
| 0.6 mm | 0.20 mm | 1.2 mm | 1.6 mm | 72 mm |
With a 0.4 nozzle and a deformation of two tenths — the value many compensation profiles come set to — the minimum module goes from 0.8 to 1.2 mm. Fifty per cent more, which on the piece translates into a 57 mm plate instead of a 38 mm one. Keychains of 40 and 50 mm are ruled out: their modules are 0.92 and 1.15 mm, and they have nothing to give away.
Elephant foot lands where it lands
Elephant foot appears in half a dozen guides on this site, always with the same advice: compensate for it, because it fattens the modules and closes the light corridors. It is worth being precise, because that advice only applies to the layer touching the bed, and which layer that is depends on the orientation.
As the file comes, the bottom layer is the base: a plain slab with no pattern. It spreading by two tenths does nothing to the code, which is fifteen layers higher up. If your modules came out fat printing face up, the culprit is something else — flow, extrusion width, a profile with the flow set high — and it gets fixed somewhere else. Flip it and then yes: the squashed layer is the code, and the advice becomes the most important of the lot.
This is what two tenths of squashing do to a module and to the light corridor beside it, which start out the same size:
| Piece | Squashing | Dark module | Light corridor | Ratio |
|---|---|---|---|---|
| 90 mm plate | 0.10 mm | 2.29 mm | 1.89 mm | 1.2 to 1 |
| 90 mm plate | 0.20 mm | 2.49 mm | 1.69 mm | 1.5 to 1 |
| 40 mm keychain | 0.10 mm | 1.12 mm | 0.72 mm | 1.6 to 1 |
| 40 mm keychain | 0.20 mm | 1.32 mm | 0.52 mm | 2.5 to 1 |
On the big plate the grid goes out of balance and reads anyway. On the keychain, the light corridor is down to 0.52 mm — one bead and a bit — and the dark modules end up two and a half times wider than the gaps separating them. That is exactly the symptom of the third cause of a code not scanning: it reads up close and fails as you move away, because the grid is there but with the proportions changed.
The colour change moves forward
If you print in two colours with a single extruder, the flip moves the one delicate moment of the whole print. A plate with a 3 mm base and 1 mm relief, at 0.2 mm layers, is 20 layers:
| Orientation | What prints first | Filament change | Piece already done |
|---|---|---|---|
| Face up | the base, layers 1 to 15 | starting layer 16 | 75 % |
| Face down | the code, layers 1 to 5 | starting layer 6 | 25 % |
This has a good side and a bad one, and both are worth seeing. The good: face down the change arrives in the first few minutes, so if you set it wrong or grab the wrong spool, you find out immediately and waste very little plastic. The bad: the hard part of the piece — the 86 islands, the layer that deforms, the pattern everything depends on — is already printed by the time you get there, and you cannot look at it, because it is against the bed. Face up is the opposite: the code prints last, in plain view, and you can cancel at layer 16 if you see something going wrong. The colour change procedure is the same either way; the only thing that changes is the height you set the pause at.
And there is a timing detail you will not see coming. The first layer is the slowest of the whole piece, deliberately. Face up, that layer is 360 mm of wall: the outline of a rectangle. Face down it is 2,464 mm of wall, nearly seven times more, plus 86 empty hops from one island to the next. The slowest layer of the print multiplied by seven.
When it is worth it
It is not that the flip is wrong. It is that it has a territory, and it is narrower than it looks. It pays when all four of these hold at once:
- The module is 1.2 mm or more, which with an ordinary link means a 90 mm plate upwards. Below that, the deformation of the first layer eats the margin.
- Elephant foot compensation on — 0.1 or 0.2 mm — and the first layer calibrated. Face down this setting stops being optional.
- A brim or a raft. With 86 islands and 31 % contact area, the brim stops being decoration: it is what holds the lone modules down.
- A smooth, clean build plate. If it is textured, the texture is copied onto the code, and that adds glare exactly where the reader is looking for contrast. Glare is the enemy in any orientation, and a textured plate spreads it across the whole good face.
If all four hold, go ahead: a 120 mm plate printed face down, with a brim, gives the best code face a filament printer can produce. Genuinely flat, without a string, without the texture of the top layers.
And if they do not hold, the alternative is the one you already had: leave it as the generator makes it, use four or five solid top layers and turn on ironing. The face will not be mirror smooth, but the code reads just the same, because what the reader measures is the contrast between the two plastics and not the shine of the finish. Checking it does not take printing the whole piece: one of the four tests in the testing guide is exactly this, and it takes ten minutes of printing.
The generator tells you the module before you download
If you want to print it face down, look at that number: below 1.2 mm with a 0.4 nozzle, better not to flip it. Make the piece bigger in the generator and look again.
Open the generatorKeep reading
- How to 3D print a QR code that scans first timeThe long one: the nine steps between a printed QR that works and one that ends up in a drawer.
- Minimum size calculatorPaste the link, pick the nozzle and it gives you the exact millimetres. And how many characters you have spare before the code grows.