# QR codes on glass — why etched codes fail and what works

> Sandblasted or laser-etched glass has almost no luminance contrast of its own — frosted marks read against whatever is behind the glass, so a bare etched code fails. Make glass codes scannable with paint infill, a printed white underlayer beneath dark modules, a fixed dark backing, or a removable window cling.

Source: https://useqr.app/docs/print/qr-codes-on-glass · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

## The transparency problem

A decoder wants dark modules on a light background with a
[luminance difference of at least 40%](/glossary/contrast-ratio). Etching — sandblasting,
acid frosting or laser marking — turns clear glass translucent white. Translucent is not a
colour: a frosted module's apparent brightness is whatever happens to be behind the pane.
Against a bright room it reads light; against a dark street it reads pale grey; against a
patterned interior it reads as the pattern. The code's contrast changes with the viewer's
position and the time of day, which is another way of saying it does not reliably scan.

This is the same lesson as [engraving on metal](/docs/print/qr-codes-on-metal): changing a
surface's texture is not the same as giving it contrast. On glass it is worse, because both
"module" and "background" transmit the scene behind them.

## What actually works

| Method | How it gets contrast | Durability | Best for |
|---|---|---|---|
| **Etch + infill** | Recess filled with enamel or epoxy paint | Years to decades | Awards, signage, permanent installations |
| **Ceramic frit / fired enamel print** | Glass-based ink fused in a furnace | Life of the glass | Architectural glazing, glassware — survives [dishwashers](/docs/print/qr-codes-that-survive-dishwashers) |
| **UV print with white underlayer** | White ink flood printed first, dark modules on top | Years indoors | Doors, partitions, retail glass |
| **Frosted etch + fixed dark backing** | Opaque dark panel mounted behind the pane | As long as the backing stays | Interior glass where you control both sides |
| **Vinyl decal / static cling** | Ordinary print, applied to glass | 1–3 years, replaceable | Shop windows, campaigns — see [shop windows](/qr-codes-on/shop-windows) |

The white underlayer deserves emphasis because it is cheap and decisive: printers call it a
**white underbase**, a flood of opaque white laid down before the code so the dark modules
sit on a guaranteed light field regardless of what is behind the glass. Specify it
explicitly — "print white behind the code and quiet zone" — or the shop may print the code
directly onto clear film.

## Second-surface printing: mind the mirror

Windows are often printed or stickered on the **inside** face to protect the print, reading
through the glass from outside. Artwork for second-surface application must be **reverse
printed**, and a QR code that gets mirrored will generally fail — some decoder libraries
attempt a mirrored pass, but stock phone cameras cannot be relied on for it. Tell the
printer the code must read correctly *from the outside*, and scan the installed result from
the pavement. The failure is common enough to have its own page:
[QR code mirrored by a design tool](/docs/troubleshooting/qr-code-mirrored-by-a-design-tool).

## Reflections on top of everything

Glass adds its own [glare](/docs/print/qr-codes-on-glossy-surfaces-and-glare): the pane
reflects the street, the sky and the phone's flash, and a scanner sees the reflection
superimposed on the code. Matt-laminated decals suppress it locally; placement does the
rest — mount codes below eye line and angled away from the sun's path where possible. The
scanning-side physics is covered in
[scanning through glass and screens](/docs/scanning/qr-scanning-through-glass-and-screens).
Test the installed code with [the scanner](/scan) at dusk and midday; glass installations
fail by time of day.

## FAQ

### Why does my etched glass QR code not scan?
Etching makes glass translucent, not dark. The frosted modules take on the brightness of whatever is behind the pane, so contrast is unstable and usually below the roughly 40% luminance difference a decoder needs. Add paint infill or a backing.

### How do you print a scannable QR code on glass?
Have the printer lay an opaque white underlayer (underbase) first, then the dark modules on top. Ceramic frit printing fuses the ink into the glass permanently; UV print with a white base works well indoors.

### Can I put a QR code sticker on the inside of a window?
Yes, but the artwork must be reverse printed so the code reads correctly from outside — a mirrored QR code will not scan on most phones. Ask for second-surface printing and verify from the street after installation.

### What is the cheapest scannable QR code for a shop window?
A matt-laminated vinyl decal or static cling applied to the glass. It costs little, replaces easily when the campaign changes, and avoids the contrast problems of etching entirely.

## Try it

- https://useqr.app/url
- https://useqr.app/validate
- https://useqr.app/scan
