Skip to content
UseQR
ESC

Jump to

MOVEOPEN50 places

Scanning

Screen brightness and QR scanning

A displayed QR code is only as readable as the screen is bright. Indoors almost any brightness works; in daylight a 500-nit phone screen competes with sunlight and loses, which is why paper outperforms screens outdoors. Raise brightness manually before showing a code: auto-brightness often dims mid-scan.

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

Emissive vs reflective: the physics in one paragraph

Paper is read by reflected light: the brighter the environment, the brighter the white background, so contrast is roughly constant from dim room to blazing sun. A screen is emissive: its white is fixed by the panel (typically 500–800 nits sustained on phones), while the ambient light climbing around it washes the panel's black upward. Indoors that contest is no contest. Outdoors, direct sun delivers on the order of 100,000 lux, and a sunlit sheet of paper simply outshines any phone screen. That is the whole reason boarding passes scan flawlessly in the terminal and struggle at the open-air gate.

Practical consequence: for codes that must scan outdoors in daylight, print wins. Screens are for indoor and evening use, or for shade.

Auto-brightness sabotage

The most common failure is not sunlight but the phone dimming itself at the moment of truth. The sequence: you open the ticket, queue for a minute, the screen dims on inactivity or auto-brightness adapts to a dark venue, and the reader meets a grey ghost of the code. Fixes on the showing side:

  • Tap the screen just before presenting to reset the dim timer.
  • Drag brightness to maximum manually for the few seconds of the scan.
  • Disable battery-saver dimming if you will present codes repeatedly.

Apple understood this: iOS boosts screen brightness automatically when a Wallet pass is displayed. If you build an app or page that displays codes (tickets, loyalty, payment) copy the pattern: force maximum brightness while the code is visible, then restore. On the web you cannot control brightness, so say it in the UI: "turn your brightness up".

Too bright is also a thing

In a genuinely dark venue (a club door, a dim foyer) a full-white screen at maximum nits blooms in the reader's camera: the sensor exposes for the glowing white and the glow bleeds across module edges. Readers mostly adapt within a second, but if scans keep failing in the dark, dimming the phone slightly is the counter-intuitive fix. Screens scan best when their brightness is plausible for the room.

The rest of the displayed-code checklist

Brightness is necessary, not sufficient. The other rules for on-screen codes:

Before shipping any screen-displayed code, confirm the artwork decodes cleanly with the validator: brightness problems are hard enough without a marginal code underneath them.

FAQ

Why does my QR ticket fail to scan in sunlight?

Phone screens emit a fixed brightness (typically 500–800 nits), while direct sun is orders of magnitude brighter, washing out the panel's contrast. Shade the screen with your hand and turn brightness to maximum, or use a printed copy for outdoor scanning.

Why did the code scan fail after I queued for a while?

Your phone dimmed itself, the inactivity timer or auto-brightness in a dark venue. Tap the screen to wake it fully and drag brightness up just before presenting the code.

Do brighter screens always scan better?

Up to a point. In daylight, more brightness always helps. In a very dark room, a maximum-brightness white screen can bloom in the reader's camera and blur module edges, there, dimming slightly actually improves the scan.

Why does iOS make the screen bright for Wallet passes?

Because Apple identified exactly this failure: passes were failing at gates on dimmed screens. iOS temporarily boosts brightness whenever a pass is displayed. Apps that show tickets or payment codes should copy the pattern.

Try it: free, no signup

  • Scanning a QR code off a monitor, Why photographing a screen produces moiré that breaks QR scans, the fixes in order (enlarge, back off, tilt), and the dark-mode inversion trap.
  • Scanning QR codes on e-ink displays, E-ink scans like paper (reflective, glare-free, sun-readable), with a 15:1 contrast ratio that clears the bar. The catches: light needed, refresh ghosting.
  • QR scanning in low light, Why QR codes fail in dim rooms (longer exposures turn shake into blur), and what helps: light, bracing, torch technique on gloss, and bigger modules.
  • Minimum on-screen duration for a QR code, A primed viewer needs 8–12 seconds to unlock, aim, focus and decode. Show codes for at least 15–20 seconds, or keep them persistent in a corner.