A QR code that will not scan is nearly always too small, too low in contrast, missing its blank border or too dense for the distance. Each is easy to fix in the generator.
Work through the checks below, and test with a real phone each time.
On this page
Key takeaways
- Dark modules on a light background scan best. Inverted or low-contrast colors often fail.
- Keep a blank border of at least 2 modules around the code.
- As a rule of thumb, the code should be about one tenth as wide as the scanning distance.
- Shorter content makes a simpler code that scans from further away.
The eight checks
- Contrast. Use a dark color on a light background. Black on white is the safest.
- Don't invert. Light modules on a dark background fail on many scanners.
- Margin. Keep the margin at 2 or more. Never crop it away in a design.
- Size. Print larger. Scanning from 1 metre needs a code about 10 cm across.
- Density. Shorten the text. A short link makes a code with fewer, bigger squares.
- Error correction. Raise it to quartile or high if the code may be scuffed or covered, then enlarge it to stay scannable.
- Distortion. Do not stretch the picture. Keep it square.
- Test with the real thing. Scan the printed copy, not only the screen.
Understanding error correction
| Level | Recoverable damage | Use when |
|---|---|---|
| Low | About 7 percent | Clean screens, short text |
| Medium | About 15 percent | Default for most uses |
| Quartile | About 25 percent | Printed codes that may get scuffed |
| High | About 30 percent | Outdoor or rough surfaces |
Higher levels add redundancy, which makes the code denser. At the same physical size, the squares become smaller, so raise the level only when you need it, and print the code larger if you do.
Size and distance
| Scanning distance | Minimum code width |
|---|---|
| 30 cm (leaflet, receipt) | About 3 cm |
| 1 m (table sign, poster) | About 10 cm |
| 3 m (shop window) | About 30 cm |
For print, download the SVG, which stays sharp at any size, instead of enlarging the PNG.
Content problems
- Missing https:// in a web link can make the phone treat it as plain text.
- Spaces or line breaks at the end of a link may break it.
- Too long text produces a dense code or an error. Shorten the link or the note.
- The page behind the code may be down. Open the link yourself first.
Wi-Fi codes need a special format: see how to make a Wi-Fi QR code. For the full creation steps, read how to make a QR code.
When designing around the code
Placing the code on a photo, a gradient or a patterned background lowers contrast and often breaks scanning. Put it on a plain light block. Avoid logos over the middle unless you have raised error correction and tested thoroughly. If you need the code as an image for a document, resize it with Resize Image only downwards, never up.
QR code scanning problems: FAQ
Why won't my QR code scan?
Common causes are low contrast, no blank border, a code that is too small, or too much text in it.
Can I use colored QR codes?
Yes, if the dark color contrasts strongly with a light background.
Can I put a logo in the middle?
Only with higher error correction and testing. It is safest not to.
How big should a printed QR code be?
About one tenth of the scanning distance in width, and never below about 2 cm.
Does error correction help with damage?
Yes. Higher levels allow more of the code to be damaged or covered.
Why is my code so dense?
It holds a lot of text. Shorten the link or reduce error correction.
Why does my phone show text instead of opening the link?
The link probably lacks https:// at the start.
PNG or SVG for print?
SVG, since it scales without blur.
Contrast, margin, size
Fix those three, shorten the content and test the printed result. Most codes then scan at once.