Skip to content

How to Scan QR Codes with Glare or Reflections

By Codexengr, QR Systems Engineer · Last reviewed

Scanning QR Codes with Glare and Reflections

Glare is the most misunderstood scan failure: the code is perfect, the phone is fine, but a reflection sits on top of the modules like a white sticker. The fix is always geometric — move the reflection, not the code.

The tilt trick

  1. Frame the code and spot the bright reflection in the viewfinder.
  2. Tilt the phone a few degrees in any direction.
  3. Watch the reflection slide across the code — keep tilting until it slides off.
  4. Hold that angle and let the decoder lock on.

A few degrees is usually enough. You are changing the reflection angle, not reshooting the photo.

Shade the code

Your free hand, your body, a notebook — anything that blocks the offending light source works. Shading is especially effective outdoors, where your body easily blocks direct sun from a small code.

Flashlight vs. gloss

The flashlight that rescues dark scans becomes the enemy on glossy laminate: it bounces straight back into the lens. For glossy codes, turn the flashlight off and use ambient light, or angle the phone so the flashlight's reflection misses the lens.

Matte beats glossy

If you print codes, choose matte lamination. Matte surfaces scatter reflections instead of beaming them at the camera, which makes codes scannable under almost any lighting. Glossy prints look premium and scan terribly — a bad trade for functional codes.

Screen moiré

Codes on screens sometimes show rainbow moiré interference. Moiré depends on distance: move slightly closer or further away and it typically vanishes. Raising screen brightness also helps by strengthening the code signal relative to the interference.

Behind glass

Codes framed behind glass add a second reflective surface. Angle the phone so you shoot through the glass obliquely rather than straight-on, and shade the glass if possible. If the glass is the problem and the code is yours, move the code out from behind it.

Where the scanner lives on this device

Built-in scanner: Any built-in scanner.

How to reach it: Tilt the phone or the code a few degrees so the reflection slides off the code, or shade the code with your hand or body, then scan normally.

Common failure modes and fixes

Bright white spot covers part of the code in the viewfinder

Why it happens: A light source reflects off a glossy laminate or screen directly into the lens.

Fix: Tilt the phone slightly — even a few degrees moves the reflection off the code. Shading the code with your free hand works too.

Code scans indoors but never outdoors in sun

Why it happens: Direct sunlight overexposes the light modules and creates harsh reflections on gloss.

Fix: Shade the code with your body or move it into shade. Matte prints survive sunlight far better than glossy ones.

Laminated badge reflects the flashlight back blindingly

Why it happens: The flashlight that helps in the dark becomes the glare source on gloss.

Fix: Turn the flashlight off for glossy codes and rely on ambient light, or angle the phone so the flashlight reflection misses the lens.

Screen-displayed code shows rainbow moiré patterns

Why it happens: The camera sensor and the screen pixel grid interfere, creating moiré over the code.

Fix: Change the distance slightly — moiré is distance-dependent and usually vanishes with a small move closer or further away.

What this guide covers in testing

  • Glossy laminated QR badges
  • QR codes under direct sunlight
  • QR codes on phone and monitor screens
  • QR codes behind glass frames

Performance notes

Glare is a geometry problem: somewhere, a light source is bouncing off the code surface straight into your lens. The fix is always to change the geometry — tilt the phone, tilt the code, shade it, or move. Matte surfaces barely glare at all, which is why matte lamination is the single best print choice for codes used outdoors or under bright lights. For screen-displayed codes, moiré patterns respond to small distance changes.

Frequently asked questions

Why does glare stop QR codes from scanning?
A reflection sits on top of the modules like a white sticker, hiding the pattern the decoder needs. Tilt the phone a few degrees so the reflection slides off the code, or shade the code from the light source.
Should I use the flashlight on a glossy QR code?
Usually no — the flashlight bounces off gloss straight into the lens and becomes the glare. Turn it off for glossy codes and use ambient light, or angle the phone so the reflection misses the lens.
What is the best print finish to avoid glare?
Matte lamination. Matte surfaces scatter reflections instead of beaming them at the camera, so codes stay scannable under bright lights and sunlight. Avoid glossy finishes for functional codes.
How do I fix rainbow patterns when scanning a screen QR code?
That is moiré interference between the screen pixels and the camera sensor. Change the distance slightly — closer or further — and it usually disappears. Raising screen brightness helps too.