Which filament pairs work and which ones ruin the scan
By Tiehl Roberto Matías · 6 min read · Updated 25 October 2026
A QR reader does not see colour: it turns the image to greyscale and looks for light and dark. That explains why combinations that look lovely never scan, and why glossy filament causes more trouble than anything else.
The reader sees luminance, not colour
The first thing any scanning app does with the camera image is throw the colour away. It turns each pixel into a grey value between 0 and 255 and decides from there what is a dark module and what is light background.
The consequence is counter-intuitive: two colours that look very different can be almost the same grey. The moment they are, the code stops existing as far as the reader is concerned, however good it looks on the table.
The classic case is red on black. To the eye they are opposites; in greyscale, a saturated red lands around 30 % luminance and PLA black sits at 10 %. Twenty points out of a hundred. A new phone in good light sometimes gets it. An ordinary phone in a restaurant under warm light does not.
The rule: what you need is not for the colours to be different, but for one to be light and the other dark. If you squint at the piece and can still make out the grid, it works. If it turns into one even patch, it will not read.
The squint test
It sounds like a joke and it is the best checker there is. Squinting blurs the image and cuts the colour information reaching your brain, which is roughly what the reader does. Run this test on the on-screen preview before printing and you throw out 90 % of the bad combinations in two seconds.
If you want something more objective: take a screenshot of the preview and turn it black and white in any editor, including your phone's gallery. What you see there is, literally, what the reader sees.
Pairs that work
| Base | Code | Note |
|---|---|---|
| White | Black | The most contrast there is. When in doubt, this one. |
| White | Navy blue | Almost as good and less severe. |
| Beige or bone | Chocolate brown | Common in hospitality. Warm and perfectly readable. |
| Light grey | Black | Industrial look, contrast to spare. |
| Yellow | Black | Yellow is the lightest colour filament comes in. Very high contrast. |
| White | Bottle green | Works well if the green really is dark. |
| Light orange | Black | Good visibility at a distance, useful in workshops. |
Pairs that do not work
| Base | Code | Why it fails |
|---|---|---|
| Black | Red | Nearly equal luminance. The most attempted and the worst result. |
| Black | Navy blue | Both are dark. In grey they are the same tone. |
| Bottle green | Navy blue | Same problem exactly. |
| Mid grey | Dark grey | Not enough difference for the reader's threshold. |
| Red | Brown | Practically the same grey. |
| Anything | Clear or natural | Natural PLA lets light through and the module loses its edge. |
The real enemy: shine
There is one factor that ruins codes even with perfect contrast, and that is the finish of the filament.
A silk PLA, or one with glitter or a metallic effect, gives specular reflection: instead of scattering light in every direction the way a matte material does, it bounces it back like a mirror. The result is that, depending on the angle, a white glare appears over the code and the reader takes it for a light area. Half the grid disappears at exactly the moment somebody brings a phone close, because their own screen and the ceiling light are behind them.
The worst part is that in the hand, looking at it, the piece looks great. The problem only shows up with a camera and only from certain positions, so it is the kind you discover after you have printed fifty.
- Use matte for both parts, or at least for the code.
- Matte black PLA is by a distance the best material for the modules.
- If you want the silk effect for looks, save it for the text or the frame, never the code.
The light where the piece will live
Two details that change the result and have nothing to do with the filament. If the piece is going to live outdoors there is a third, which is that the colour goes: reds and blues lose intensity long before black does, and the contrast goes with them. That is in the outdoor guide (in Spanish).
- Warm light. Restaurants usually run 2700 K bulbs, which pull towards orange. Under that light, an orange code on white loses a fair bit of contrast. With neutral pairs — white and black, bone and brown — nothing happens.
- Raking light. If the piece sits under a very oblique spotlight, the relief casts a shadow onto the light modules next to it. That is one more argument for not overdoing the height: at 1 mm of relief the shadow is negligible, at 2 mm it starts to get in the way. How much height each module size takes is in the relief guide (in Spanish).
If you only have one colour
It can be done, but you have to accept a worse result. A single-colour QR only reads by the shadow of the relief, so it depends entirely on the lighting. If that is your situation:
- Raise the relief to 1.5 mm so the shadow is more marked.
- Use a matte, light colour: the shadow shows up better on light grey than on black.
- Make the piece bigger than you would think, about 30 % above the minimum.
- Consider colouring the modules in with a permanent marker. It is crude, but it works.
There is a variant worth knowing about before you decide: instead of raising the modules, engrave them (in Spanish). Sunk in, they sit in shadow, so they come out dark on a light background, which is the right polarity; in relief it is the other way round, the modules are what catches the light and the code comes out inverted.
Even so, the honest recommendation is to get hold of the second filament. A spool of matte black PLA costs very little and solves the problem at the root.
Try it on screen before you print
The generator has a 3D preview in whatever colours you pick. Open it, turn it round and give it the squint test before spending a single gram of filament.
Try some coloursKeep reading
- Your 3D printed QR code will not scan: nine causes and their fixesAn ordered diagnosis, from the most common cause to the rarest, with the check that rules each one out.
- QR code keychains: sizes, the ring hole and durabilityWhere the hole goes so it does not eat the quiet zone, what thickness survives a pocket, and how many fit per plate.