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 fromMinimum code sizeTypical use
20 cm2 cmBusiness card, menu
40 cm4 cmFlyer, packaging
2 m20 cmPoster, shop window
10 m1 mBillboard, 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

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.