# QR codes on storefront signage

> Storefront signage is scanned from the pavement at 1–3 m, so the code needs to be 10–30 cm wide under the ten-to-one rule. Mount it 1.2–1.6 m above the ground; a fascia code above the door sits at too steep an angle to decode.

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

---

| Typical scan distance | **1–3 m** |
|---|---|
| Minimum code width | **10–30 cm** |
| Error correction | **Q** |

This page covers the sign itself — fascia boards, A-frames, door decals, hanging signs.
A code placed *behind* glass is a different problem (reflections, tinting, double-glazing)
and has its own page: [QR codes on shop windows](/qr-codes-on/shop-windows).

## The numbers

| Placement | Reader distance | Code width |
|---|---|---|
| Door decal, reader at the handle | 0.5–1 m | 5–10 cm |
| A-frame on the pavement | 1–2 m | 10–20 cm |
| Wall sign read from across the pavement | 3 m | 30 cm |

All from the [ten-to-one rule](/docs/print/the-10-to-1-distance-rule). Check your own
distances with the [size calculator](/size-calculator).

## Height is the failure mode

The scannable band is **1.2–1.6 m** above the pavement. Outside it, size stops being the
problem and geometry takes over:

- **Fascia signs** sit above the door at 2.4 m or higher. A person standing close enough
  to read the sign is looking — and pointing their camera — up at well past 40°, and
  [steep angles are where decoding fails first](/docs/scanning/qr-scanning-at-an-angle).
  A fascia is for the shop name, not for a QR code.
- **A-frame bottom panels** fail the same way in the other direction. The lower half of a
  pavement A-frame sits at knee height, 0.3–0.6 m, and nobody crouches. Put the code in
  the **top third** of the A-frame.
- **Door decals** are the sweet spot: eye-level by construction, and the reader is already
  stationary while reaching for the handle.

## Outdoor production

Storefront signage lives in weather and sunlight, which is why the table says **Q** rather
than M — outdoor grime and fading eat margin over time.

- Dark modules on a light ground, at least a **40% luminance difference**. Brand-coloured
  signs often invert this; an inverted code fails on many native camera apps.
- UV-stable inks or an over-laminate. Fade behaviour is covered in
  [outdoor durability](/docs/print/qr-codes-outdoors-durability).
- Matt finish. A gloss decal facing the street mirrors the sky.
- Keep the four-module [quiet zone](/glossary/quiet-zone) clear of the sign's border rules
  and vinyl edges.

## What the code should do

A storefront code works after hours — that is its whole advantage. The highest-value
payloads for a closed shop: opening hours and booking link, a
[Google review](/google-review-qr-code) prompt, or the online store. Retail-specific ideas
are collected under [QR codes for retail](/qr-codes-for/retail). Test the printed sign
with a decode check before installation, not after.

## FAQ

### How big should a QR code be on a shop sign?

Divide the reading distance by ten. A pavement reader 2 m away needs a 20 cm code; someone
at the door needs 5–10 cm. Codes smaller than 10 cm only work on door decals, where the
reader is within a metre.

### What height should a storefront QR code be mounted at?

Between 1.2 m and 1.6 m above the ground — roughly door-handle to eye height. Above 1.8 m
the camera angle gets too steep for reliable decoding; below about 0.8 m, people will not
bend to scan.

### Can I put a QR code on my fascia sign above the door?

It will rarely scan. Anyone close enough to try is aiming their phone upwards at more than
40°, which foreshortens the modules past what decoders tolerate. Put the code on a door
decal or A-frame at eye level instead.

### Do storefront QR codes need error correction Q?

Q is the sensible default outdoors. Sun fade, grime and minor vinyl damage accumulate, and
Q keeps the code scanning through roughly 25% module damage. Use H only if the code also
carries a logo.

## Try it

- https://useqr.app/url
- https://useqr.app/size-calculator
- https://useqr.app/validate
