When a QR Code Will Not Scan
What breaks it, especially once it is printed.
The Short Answer
A code that worked on your monitor and fails on paper is nearly always one of four things: it is too small, it holds too much data, it has no blank margin, or a logo has eaten the error correction.
All four are fixable before you print, and none are visible by looking at the code.
Generate a code with safe defaults →1. Size: The One-Tenth Rule
The practical guideline is that a code should be roughly one tenth of the distance it will be scanned from.
| Scanned from | Minimum code size | Typical use |
|---|---|---|
| 20 cm | 2 cm | Business card, menu |
| 40 cm | 4 cm | Flyer, packaging |
| 2 m | 20 cm | Poster, shop window |
| 10 m | 1 m | Billboard, banner |
A code on a poster that people photograph from across a room needs to be far larger than instinct suggests.
2. Density: Shorten the Link
A QR code is a grid, and the amount of data decides how fine that grid is. Thirty characters might produce a 25-by-25 grid; two hundred characters might produce 57-by-57. Printed at the same width, the second has modules less than half the size — below what a phone camera can resolve at normal distance.
Fix: shorten the URL before encoding. Dropping tracking parameters, or using a short link, often rescues a code with no other change. This is the single highest-leverage fix and the one most people skip.
3. The Quiet Zone
Scanners locate a code by finding its three corner squares against blank space. The specification asks for four modules of clear margin on all sides — about the width of four of the small squares.
Designers remove it constantly, because a code butted against a coloured panel looks tidier. It is the most common reason a perfectly valid code fails on a printed piece.
Fix: leave white space around the code, and never crop into it.
4. Logos and Error Correction
QR codes carry redundancy so they still read when partly obscured. There are four levels, recovering roughly 7, 15, 25 and 30 percent of the code.
A centre logo works by deliberately spending that redundancy. A small logo at the highest level is safe. A large logo, or a logo at a low correction level, is a code that scans on your screen and fails on a thousand printed flyers.
The generator here handles this automatically: adding a logo forces the highest correction level, and the rounded and dotted module styles — which distort the corner patterns slightly — are also raised. Very light foreground colours are rejected outright rather than producing a code that technically exists and cannot be read.
Print Production Problems
- Low resolution. A code exported at screen resolution and scaled up for print becomes a blur of grey edges. Export at 300 DPI or higher, or use vector.
- Ink spread. On absorbent stock, ink bleeds and modules merge. Print a proof on the actual material rather than office paper.
- Placement. A code across a fold, a spine, or a curved bottle wraps out of plane and stops being a flat grid.
- Laminate and gloss. A shiny finish throws glare straight back at the camera. Matte scans far more reliably.
Before You Commit to a Print Run
Test the actual printed artefact, not the file. Scan it with more than one phone, in ordinary room lighting, at the distance people will really use, and after it has been folded if it is going to be folded.
Codes have been printed on many thousands of items before anyone discovered they did not work. The test costs five minutes.
Frequently Asked Questions
Why does my QR code scan on screen but not when printed?
Usually size. A screen shows the code large and backlit with perfect contrast, while print shrinks it and adds ink spread. The usable rule is that the code should be about one tenth of the distance it will be scanned from, so a code read at 40 cm needs to be roughly 4 cm across.
What is the minimum size for a printed QR code?
For a short URL scanned at arm's length, about 2 cm or 0.8 inches square is a safe floor, and 3 cm is more forgiving. That floor rises as the code holds more data, because more data means more squares packed into the same area, and each one gets smaller.
What is a quiet zone and why does it matter?
It is the blank margin around the code, and scanners need it to find the edges. The specification calls for four modules of clear space on every side — roughly the width of four of the small squares. Placing a code tight against a border or photo is one of the most common reasons a technically valid code will not scan.
Does adding a logo break a QR code?
It can. A logo covers part of the data, and the code survives only because error correction can reconstruct what is hidden. The highest level recovers about 30 percent of the code, so a small centred logo is usually fine and a large one is not. Any tool adding a logo should raise error correction to compensate — the generator here forces the highest level automatically when you add one.
Why does a longer URL make scanning worse?
More characters need more modules. A QR code holding a 200-character link has a far denser grid than one holding a 30-character link, and at the same printed size every square is smaller and harder for a camera to resolve. Shortening the link is often the single most effective fix.
Can I invert the colours or use a light foreground?
Inverting so the code is light on dark breaks many scanners, which expect dark modules on a light background. Low contrast fails for the same reason. Keep the code dark on white, and treat any colour choice as something to test rather than assume.