QR code accessibility: designing for everyone
QR codes assume a working phone, decent eyesight and a steady hand. A little planning makes them usable by far more people — and covers you when a phone dies.
Updated October 6, 2026 · 4 min read
Practical improvements
Most accessibility wins for QR codes are print decisions, not code decisions.
None of them cost much, and each one removes a situation where a real person is standing in front of your code and cannot use it.
- Print larger than the minimum so it scans from further away
- Keep contrast high for people in bright or dim conditions
- Place codes at a comfortable height, not at the bottom of a page
- Leave the quiet zone clear so a shaky scan still locks on
The reader is the variable, not the code
A QR code is one of the few interfaces that assumes a specific device, a charged battery, a steady hand and useful eyesight. Each assumption excludes somebody: a visitor with no smartphone, someone with a low-vision condition, someone whose hands shake, someone whose phone is old enough that its camera struggles with a small or low-contrast code.
There is also a hard limit on the code itself. Print has no equivalent of alt text — a screen reader cannot announce what is inside a printed pattern, and neither can a person who cannot see it. The destination is unknowable until the code is opened, which is why the fix is never 'make the code better' but 'give people a second route'.
- A dead battery should not close the door
- Small, low-contrast codes fail for older cameras first
- A printed pattern has no alt text — the destination is invisible until scanned
Always offer an alternative
Never make a QR code the only route to something. Print the short URL next to it, or the phone number, or a human-readable fallback — it helps people without a smartphone and everyone whose battery has died.
Keep the alternative readable, not a decorative detail. A long URL set in 6pt light grey does not solve the problem it was printed to solve; the short link is short precisely so it can be typed by hand.
- The short URL in a legible size next to the code
- A phone number wherever a call is a valid route
- A printed version of whatever the code opens, when that is feasible
Placement in the physical world
A code is only accessible if a person can comfortably reach and hold a phone up to it. That rules out the bottom of a poster, a code behind a counter, and anything placed where a wheelchair user cannot get within arm's length.
Light is the other half of placement. Glass and glossy laminates reflect a bright window straight back at the camera, and a code in direct sun is hard for anyone to frame. Where you cannot move the code, a matte finish and a larger size do the work.
- Around a metre high — reachable while seated, not behind a desk
- Flat, matte surfaces rather than glass or high-gloss laminate
- Enough space in front of it for someone to stand back and frame the code
When the code is the only way in
The pattern is what makes QR codes an accessibility problem: a menu, a price list or an instruction that exists only behind a code is unavailable to anyone the code excludes. If the only way to read your menu is to scan it, some customers cannot read your menu.
That is worth weighing before replacing a printed sheet with a code for its own sake. Codes are a convenience for the people they suit and a wall for the people they do not, so keep the paper version alongside rather than instead.
- A code-only menu excludes anyone without a working phone
- Keep the printed version available on request, not just before launch
- If the code adds something the paper cannot, print both
Frequently asked questions
Are QR codes accessible for blind users?
Is a QR code enough on its own?
Does color affect accessibility?
Should a QR code on a website have alt text?
How high should a QR code be placed?
Should I print the URL as well as the code?
Keep reading
Ready to create one?
Dynamic codes are editable forever from €3/month.
Create your first dynamic QR code
Free to start. One code, editable forever, with scan tracking from the first scan.