Skip to content
UseQR
ESC

Jump to

MOVEOPEN50 places

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.

View as MarkdownPaste this page into any AI assistant. It is plain, portable Markdown.

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 n/a 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