
QR Codes on Glass and Windows: Beating Reflections
The boutique put its code on the inside of the front window at head height. At ten in the morning it reads fine. By three in the afternoon the glass has turned into a mirror of the building across the street and the code is simply gone. After closing, with the lights off, it disappears again for a different reason. Nobody scanned it all week and the owner assumes the code is broken.
Inside the glass or outside: pick which failure you can live with
Reverse-printed vinyl applied to the inside of the window is the common choice, and it buys real protection. Rain, cleaning brushes, road grit and casual vandalism never touch it. The cost is one extra reflective layer between the camera and the code: the glass itself now reflects the sky, the street and sometimes the customer.
Applying to the outside removes that layer, so the code sits on the surface the camera sees directly, with less to bounce back. In exchange it takes weather, gets scrubbed by window cleaners, and lifts at the corners over a season or two.
Neither option is right in general. On a sheltered facade with heavy foot traffic and low glare, outside application usually reads better. On an exposed street, or where anything at reachable height gets peeled, inside application and careful placement wins. What matters is choosing deliberately rather than defaulting.
The street behind the window is part of the picture
A code printed on clear film has a second problem. The light modules are not light, they are transparent, so whatever sits behind the glass becomes their background: a dark shop interior, a display shelf, a parked car, moving pedestrians. Contrast collapses wherever the backdrop goes dark, and it changes minute to minute.
Print on opaque white vinyl, or specify a frosted or solid white backing layer under the code. Then extend that opaque area past the symbol on all sides so the quiet zone is also opaque; four modules of clear margin is the format minimum and it only does its job if the margin is a stable light value. The reasoning is laid out in the quiet zone explainer.
The same applies to any decorative window film already on the glass. A code sitting on top of a patterned or tinted film inherits that pattern's noise.
Sun position at the hour people actually walk past
Glare is not a property of the window, it is a property of the window at a given time. A facade that is perfect at opening can be unusable during the exact window when your customers pass by, then fine again by evening.
Work it out on site instead of from a floor plan:
- Note the two or three hours when foot traffic is heaviest.
- Stand on the sidewalk at those hours, on the line people actually walk, and look at the candidate spot.
- Watch for both the hard sun highlight and the flat bright reflection of the sky, which is broader and easier to underestimate.
- Check an awning, a recess or a deep doorway. A shaded section of glass beats a prominent one every time.
- Repeat on an overcast day if you can. A spot that only works under cloud is not a spot.
If every position on the main window fails at peak hours, move the code off the glass entirely: a door panel, a frame, a stanchion or an A-board sits outside the reflection.
Height, reach and focus distance
Codes drift upward in installation, usually because someone wants them visible from across the street. Height then creates two problems at once.
Phone cameras have a minimum focus distance, and beyond a short range the code has to be much larger to stay readable, which is what the size guide is for. A code placed above the door either forces people to back into traffic or has to be far bigger than anyone budgeted.
Aim for a comfortable standing sightline for an average adult on the sidewalk, and check the same spot from a seated eye level for wheelchair users. If a person has to stretch, step back into the road or crouch, the placement failed regardless of how the code prints. Vinyl behavior, adhesive choice and edge lift are covered in the sticker guide.
After dark the window is a black mirror
Evening changes the physics. Street lights and headlights bounce off the outside of the glass, and if the shop interior is dark there is nothing behind the code to separate it from the surrounding blackness.
Two things fix it. Leave a light on inside aimed at the window area near the code, or place the code within reach of an existing exterior or sign light. Front lighting is what you want; a code lit only from behind on opaque vinyl stays dark no matter how bright the interior is. For late-night traffic, that lamp is the difference between a working code and a decoration.
Walk the sidewalk before you sign off
Testing from inside the shop, standing still, in the morning, is how bad placements get approved.
- Print the code on the final material and hold it against the glass at each candidate spot with tape.
- Go outside and scan from the walking line, not from directly in front with your nose at the glass.
- Do it three times: morning, mid-afternoon and after dark.
- Use two phones, and keep one consistent scanner as your control so results compare.
- Print a short readable URL under the code in the final artwork, so anyone whose phone fails still has a way in.
Pick the winning spot from that test, generate the final artwork with a short link from the dynamic QR code generator so you can repoint it without touching the window, and order it on opaque white vinyl with the margin already built in. If a code still fails after installation, the troubleshooting list will separate a placement problem from a code problem.

