Print & production
QR codes on glossy surfaces — glare and how to beat it
Gloss surfaces reflect light sources specularly — at the mirror angle the reflection saturates the camera and whites out modules, and a phone flash creates a hotspot exactly where the lens looks. Matt laminate scatters that reflection and scans far more reliably. Tilt glossy codes 15–30° away from lights and expected viewing angles.
Two kinds of reflection
A matt surface reflects diffusely: incoming light scatters in all directions, so the camera sees the ink's true lightness from any angle. A gloss surface adds specular reflection — a mirror image of the light source, at the angle where incidence equals reflection. Inside that mirror patch the camera receives the light source, not the print. Dark modules read as white, the local contrast collapses, and the decode fails even though the code is perfect.
Glare is an angular problem, not a brightness problem. The same code scans fine from 20° off-axis and fails dead-on. That intermittency is the signature: if a code scans for some people and not others, and the surface is shiny, suspect glare before anything else.
The flash-hotspot failure
The worst case is built into the phone. In low light, scanning apps fire the torch — which sits a centimetre from the lens. On a glossy surface viewed straight-on, the flash reflects almost directly back into the camera as a saturated hotspot in the middle of the frame, precisely where the user centres the code. The natural scanning posture — square-on, close — is the exact geometry that fails. Codes on gloss laminated menus in dim restaurants are the canonical victim.
Matt beats gloss, with numbers that matter
| Finish | Specular glare | Contrast | Verdict |
|---|---|---|---|
| Matt laminate | Minimal | Slightly reduced | Best for scanning |
| Satin / lustre | Low | Good | Acceptable |
| Uncoated stock | None | Good (watch dot gain) | Fine |
| Gloss laminate | High | Excellent on paper, irrelevant in glare | Avoid over codes |
| Spot UV over the code | Severe | — | Known killer — see laminate and varnish effects |
Matt laminate trades a few per cent of measured contrast for the removal of the failure mode that actually stops scans. Outdoors the trade is even clearer, because the sun is a light source you cannot reposition — the reasoning behind the matt-always rule in outdoor durability.
Placement and angle guidance
- Tilt the surface 15–30° from vertical where you control mounting. A tilted code moves the mirror angle away from the straight-on scanning posture and sheds overhead lighting.
- Map the light sources. Do not place a glossy code directly opposite a window, a downlight or a display case lamp. The mirror image of that source will sit on the code for anyone standing in the obvious spot.
- Curved gloss is worse than flat gloss. A curved shiny surface reflects sources from a whole range of angles at once — see curved surfaces.
- Prefer larger codes. A hotspot covers a fixed area of the frame; on a bigger code it obscures proportionally fewer modules, and error correction can absorb the loss.
Test protocol
Test the finished, laminated item, not the pre-finishing proof. Scan it straight-on with the flash forced on, in dim light, from the distance a real user stands at. Then scan 20° off axis. If it only works off-axis, the finish is fighting you. A quick check with the scanner on two phone models is enough to catch it before a print run.
FAQ
Why does my glossy QR code not scan?
Specular glare. At the mirror angle the surface reflects the light source — often the phone's own flash — into the camera, whiting out modules. Scan from 20° off-axis to confirm; if that works, the finish is the problem.
Should QR codes be matte or glossy?
Matt, wherever scanning matters. Matt finishes scatter reflections so the camera sees the ink from any angle. Gloss looks richer but places a mirror image of every light source somewhere on the code.
Does the phone flash cause QR scan failures?
Yes, on shiny surfaces. The torch sits next to the lens, so on gloss viewed straight-on it reflects back as a saturated hotspot in the centre of the frame — exactly where users centre the code in dim light.
How do I fix glare on an existing printed code?
Re-laminate with matt film, tilt the mount 15–30°, or move the code away from the light source it mirrors. If reprinting, choose matt laminate and keep the code away from spot-UV varnish.
Try it — free, no signup
Related
- Laminate and varnish effects on QR code scanning — How matt and gloss laminates, aqueous coating, and spot UV varnish change QR scan reliability — and the prepress note that prevents the spot-UV killer.
- QR code durability outdoors — Outdoor QR codes fail from UV fading, water ingress, abrasion and lichen — in that order. Use error correction Q or H, a UV-stable substrate with matt…
- QR codes on glass — why etched codes fail and what works — Etched glass has almost no contrast of its own. Infill, white underlayers, ceramic frit and window clings compared for scannable glass QR codes.
- Pre-press checklist for QR codes — Eight checks before any print run: scan a physical proof from the real distance, verify size against the ten-to-one rule, confirm the four-module quiet…