A printed QR code that lives outdoors
By Tiehl Roberto Matías · 7 min read · Updated 26 October 2026
A sign with the menu code on a terrace, the Wi-Fi plate on the porch of a guest house, the phone number on a workshop door. These are pieces that come out well on day one and that nobody thinks to look at again until a customer says it does not work. This guide is about what happens between those two moments, and about which of the usual fears actually matters.
In this guide
Heat does not deform the code
It is everybody's first fear, so it is worth getting it out of the way with numbers. Plastic expands with heat: PLA grows about 68 millionths of its size per degree. On a 150 mm plate, a forty-degree swing — from a cool night to the sunlit face of a summer afternoon — makes it grow four tenths of a millimetre in total.
That sounds like a lot until you look at where that growth ends up. It does not pile up in one place: it spreads across every module, because the code grows along with the piece. And since the module grows in the same proportion as everything else, the deformation is always the same percentage of the module, whatever the piece measures. With a forty-degree swing, that percentage is 0.27 %.
For expansion to move half a module, which is where the reader starts getting it wrong, you would need a swing of over seven thousand degrees. Put another way: the elephant foot of a badly calibrated first layer, which is a real problem and which the guide to why it does not scan puts among the first causes, deforms forty times more than the worst day in August.
There is an effect of heat that does exist, but it is not this one. If the material softens, the piece warps, and a warped piece is a curved surface with the reading problems the curved surfaces guide (in Spanish) explains. That is not expansion: that is going over temperature, and it depends on the material.
What the sun does do
The real enemy is not the heat, it is ultraviolet light, and it attacks from two different directions.
The plastic. The radiation breaks the polymer chains and the piece turns brittle. You cannot see it by looking: you notice it the day somebody brushes against it and it snaps where it is screwed down. PLA takes it worst of the three usual materials.
The colour, which is what really matters here. Pigments fade, and not all at the same rate: reds and some blues lose intensity long before black or white. And as the colours guide explains, the reader does not see colour, it sees a difference in light. A pair of filaments with contrast to spare on day one can be left without it after one summer, without the piece looking damaged at all.
From which comes the first rule, deliberately boring: black on white, or black on bone. Not because it looks better, but because those are the two pigments that move least. An orange code on white that starts out tight on contrast ends up under the threshold in the sun.
Which material, and why it is not the obvious one
The short answer from any forum is «PETG for outdoors». For an ordinary piece that is good advice; for a QR code there is a complication.
| Material | Softens at | Sun resistance | The problem |
|---|---|---|---|
| PLA | 55 to 60 °C | Poor | A black piece in the sun passes 60 °C easily in summer. |
| PETG | 80 to 85 °C | Good | Nearly all PETG is glossy, and gloss ruins the reading. |
| ASA | 100 to 105 °C | Very good | It warps while printing if the machine is not enclosed. |
The PETG detail is worth stopping on. A glossy filament bounces light back like a mirror, and when somebody brings a phone close, the phone's own screen lights the piece and a white reflection appears over the code. It is cause number five in the list of why it does not scan, and outdoors, in direct sun, it is worse than inside.
So the order of preference for a piece going outside is this:
- Matte PETG, if you can find it. It exists, it sells less, and it is the best combination: it survives the sun and it does not shine.
- ASA, if your printer is enclosed. It lasts longest, and matte ones exist.
- Matte PLA, if the piece is in shade or under an eave, or if you accept it is a consumable and you will replace it. It reads better than any of them.
- Glossy PETG, only if there is nothing else, and then the piece has to go where direct light does not reach it.
Matte varnish is a reasonable way out. A coat of matte acrylic lacquer from a spray can protects against ultraviolet and, if it really is matte, adds no shine. What you must not use is a satin or gloss varnish: that turns a piece that works into one that reflects.
Water and dirt: raised yes, engraved no
Water on its own does nothing to the piece. What does the damage is what the water leaves behind when it dries, and there the shape of the code decides a good deal.
An engraved code has sunken modules, and a recess is exactly that: somewhere water, dust and pollen settle. After a few weeks the recesses are filled with a crust the colour of the background, which is precisely the opposite of what should happen. Raised, the water runs off and the dirt sits on the flat areas, which are easier to wipe.
Which means that outdoors, the choice between engraved and raised decides itself even when the lighting favours engraving. And if the piece is two colours, better still: a two-colour relief does not depend on shadow at all.
The other consequence is that it pays not to overdo the relief height. The taller it is, the deeper the valley between modules and the more accumulates. The sum for how much relief each module size takes is in the relief height guide; for outdoors, stay at the low end of what it allows.
Buying margin: one level and one size
All of the above comes down to an outdoor piece losing image quality little by little. The way to live with that is to leave the factory with margin to spare, and there are two ways to buy it.
Raise the error correction level. From the M recommended indoors, with 15 % tolerance, to Q, with 25 %. It is not free, and the price can be measured: with this site's example link, going from M to Q takes the code from 25 to 29 modules, so on a 90 mm plate the module drops from 2.67 to 2.35 mm. To get the original module back the plate has to be 102 mm. Going up to H would cost a 115 mm plate, and it does not pay: the details of why are in the correction level guide.
Raise the size. It is the most effective lever and the easiest to understand. Fifteen per cent more side leaves the modules 15 % bigger, and everything we have covered — dirt, loss of contrast, a scratched surface — matters less the bigger each module is. The minimum size sum is in its own guide: start there and go up.
Putting the two together, the recipe for outdoors is level Q and one size above what the sum says. On the example plate, that means going from 90 to 120 mm. It costs a few grams more plastic, which next to printing it again is nothing.
How long it lasts and how to notice in time
Here we have to be honest: there is no trial behind this guide, and any figure in months you read anywhere depends on the climate, the orientation and the brand of filament. What can be said is the order in which things go wrong, which is what helps you keep an eye on it:
- The surface goes matte or gets scratched, from dust and cleaning. That usually improves the reading rather than hurting it.
- Dirt builds up in the corners. A damp cloth fixes it.
- The colour loses intensity. Here the real problem starts, and it is the hardest to see, because it happens slowly and you get used to it.
- The plastic turns brittle. By the time this arrives, the piece has been reading badly for a while.
Since point three is invisible to the eye, the practical way to watch it is to keep an identical piece in a drawer. Print two, put one up and store the other. Every few months, bring them out together under the same light: the difference between them is exactly what the outdoor one has lost, and you see it instantly. It is the home-made version of a colour reference card, and it works.
And the usual check, which outdoors has to be done on site and not in the workshop: scan it where it will be, at the sunniest hour and again at night under whatever light there is. The rest of the protocol is in the testing guide.
Generate the outdoor version
For a piece going outside: level Q, one size above the minimum, matte filaments and the code raised. The generator tells you the module size each combination leaves you.
Open the generatorKeep reading
- Putting the code on a model you already haveHow much flat surface it needs, what code fits on it, and how to get the right part of the file onto the model.
- Layer height: what it changes and what it does notLowering the layer does not sharpen the code: the nozzle decides that. What it decides is whether your relief exists at all, and on a small piece there are three layer heights at which it does not.