Design & Best Practices
Common QR Code Scanning Failures & How to Avoid Them
Most QR code failures aren't random — they trace back to a small, repeatable set of causes. Almost every "this code just won't scan" complaint fits into one of the categories below, and each one is preventable if you know what to check before a code goes to print or goes live.
Insufficient quiet zone
The most common cause of scan failures that otherwise look fine. If the blank margin around the code is too narrow — often because a designer tightened it to fit a layout, or placed text or graphics too close to the edge — the scanner can't reliably distinguish where the code boundary is against its surroundings, especially against a busy or textured background. Fix: keep at least four modules of blank space on all sides, and treat that margin as fixed even if it means shrinking the code itself to fit the available space.
Low contrast between modules and background
A code printed in a light color on a slightly-less-light background, or placed over a busy photo or gradient, often looks fine to a human eye but fails for a scanner, which depends on a sharp brightness threshold to tell modules apart. This is especially common on packaging or marketing materials where a code gets placed directly over an image for design reasons. Fix: keep the code on a solid, high-contrast background — white behind the code if it must sit over a photo, or pure black modules on pure white rather than any softened or branded color pairing.
Damage or obstruction over a finder pattern
Damage anywhere in a QR code eats into the error correction budget, but damage concentrated on one of the three corner finder patterns is worse than the same amount of damage spread elsewhere, because those squares are how the scanner locates and orients the code in the first place — a torn or heavily obscured finder pattern can prevent the scanner from recognizing there's a code there at all, independent of how much error correction is available for the data itself. Fix: keep all design elements, folds, and likely wear points away from the three corners specifically, even if some wear elsewhere in the code is unavoidable.
Code too small for its viewing distance
A code sized correctly for a business card, scanned from a foot away, fails completely on a yard sign meant to be read from a car. This is purely a distance-to-size mismatch, not a print quality or design issue — see our sizing guide for concrete size targets by use case. Fix: always size the code relative to its actual expected scan distance, not the amount of design space available.
Encoded data too long for the use case
A long URL with unnecessary tracking parameters, or a large block of raw text, forces the code into a higher version (a denser grid) to fit the data — which makes each individual module physically smaller at any given print size, and therefore harder for a camera to resolve. Fix: shorten the destination URL, or use a dynamic QR code with a short redirect link instead of encoding a long URL directly.
Screen glare and reflective surfaces
Codes displayed on a phone screen or printed on glossy, laminated material are vulnerable to glare depending on lighting and angle — the code itself can be perfectly valid and still be unreadable to a camera at the exact angle someone happens to be scanning from. Fix: use matte lamination where possible for printed codes, and for screen-displayed codes (tickets, boarding passes), remind users in advance to raise screen brightness and avoid scanning directly under bright overhead lighting.