Scanning
QR scanning in low light
QR scanning fails in low light because the camera lengthens exposure to gather light, and a longer exposure turns hand shake into motion blur across the modules. Add light, brace the phone, or use the torch — but angle it off glossy surfaces, where the reflected hotspot washes out part of the code.
What the camera does in the dark
A decoder does not need colour — it thresholds on luminance, exactly as described in colours that scan. What it needs is enough light to tell dark modules from light ones cleanly. When light falls, the phone's auto-exposure compensates two ways, and both hurt:
- Longer exposure. More light per frame, but every millimetre the phone moves during the exposure smears across the image. This is the dominant failure — the full arithmetic is in motion blur and QR scanning.
- Higher ISO. The signal is amplified, and so is noise. Noise speckles module edges, eroding the margin the decoder samples against.
Rough orders of magnitude: in daylight a phone shoots around 1/500 s; in a dim restaurant (tens of lux) it stretches to 1/30 s or slower — over ten times more exposure for shake to act on.
| Environment | Typical light level | Exposure regime | Scan reliability |
|---|---|---|---|
| Outdoors, daylight | 10,000+ lux | ~1/500 s | Excellent |
| Office | 300–500 lux | ~1/100 s | Good |
| Dim restaurant / bar | 20–50 lux | ~1/30 s | Marginal handheld |
| Candlelit / night street | <10 lux | 1/15 s or slower | Poor without torch |
The torch, and the gloss trap
The torch solves the light problem and creates a new one on shiny surfaces. A laminated menu, a glossy poster or a screen returns a specular hotspot — a blown-out reflection of the torch itself — that lands somewhere on the code and erases the modules under it. Error correction absorbs small losses, but a hotspot plus a logo plus wear can exceed the budget.
Technique: keep the torch on, but come at the code from a slight angle — 10–15° off perpendicular moves the reflection off the code while barely distorting the grid. On matte paper the torch has no downside. The print-side fix is choosing matte laminate in the first place, covered in glossy surfaces and glare.
What actually helps, ranked
- Add light or move the code to light. Nothing else is as effective.
- Brace the phone — two hands, elbows on the table, and hold for a second. You are compensating for the longer exposure.
- Torch at a slight angle on anything shiny; straight-on is fine on matte.
- Get closer. More pixels per module gives the decoder margin to survive noise.
- Wipe the lens. Grease scatters what little light there is.
The design side: buy margin in advance
If your code lives somewhere dim — a bar table, a cinema foyer, an evening venue — you choose how hard this is before anyone scans:
- Bigger modules. Print larger than the 10:1 rule minimum, or shorten the payload so each module grows. Noise and blur eat pixels; oversizing hands them back. The size calculator gives the floor — in dim venues, add 50%.
- Maximum contrast. Pure dark-on-white; a fashionable grey-on-cream palette that scans in the studio dies at 30 lux.
- Matte finish, as above.
- Test in situ. Verify the artwork decodes with the validator, then stand in the actual venue at night with a mid-range phone, not a flagship.
If scans stay slow even with all that, run the ranked diagnosis in why some codes scan instantly.
FAQ
Why will a QR code not scan in a dark room?
Low light forces the camera into long exposures and high ISO. The long exposure turns tiny hand movements into blur across the modules, and the ISO noise blurs their edges further. Add light, brace the phone, or use the torch at a slight angle.
Should I use the torch to scan a QR code?
Yes, on matte surfaces. On glossy or laminated surfaces the torch reflects a blown-out hotspot onto the code that can erase modules — tilt the phone 10–15 degrees off perpendicular so the reflection moves off the code.
Do bigger QR codes scan better in low light?
Yes. A larger code gives the camera more pixels per module, which is spare margin against the noise and blur that dim light introduces. For codes in dim venues, print about 50% larger than the normal distance rule suggests.
Does colour matter for scanning in the dark?
Only through luminance. Decoders convert to greyscale, so what matters is the luminance difference between modules and background — and dim light compresses that difference. High-contrast dark-on-white codes hold up longest as light falls.
Try it — free, no signup
Related
- How to scan a QR code on any device — On iPhone and Android, open the camera app and point it at the code — a banner appears with the destination. No separate app is needed on any current…
- Motion blur and QR scanning — The arithmetic of movement — why drive-by scanning fails, how much handheld shake a scan tolerates, and how industrial imagers freeze motion entirely.
- Scan latency — why some codes scan instantly — The decode pipeline runs in tens of milliseconds, so slow scans lose time upstream. The five causes of sluggish codes, ranked, each with its fix.
- QR codes on glossy surfaces — glare and how to beat it — Why gloss finishes stop QR scans at exactly the angle people hold their phones, the flash-hotspot failure, and why matt laminate wins.