Why a QR Code Won't Scan, and How to Fix Each Cause
The most common causes are insufficient contrast between the code and its background, the code being printed too small for the distance it's scanned from, physical damage or obstruction to the code's corners, and poor or glaring lighting on the scanned surface — each has a specific, identifiable fix rather than being a random failure.
A QR code that won't scan is frustrating specifically because it usually looks completely fine to the human eye — the causes are almost always things a camera struggles with that a person wouldn't even notice.
Contrast and print quality
Low-contrast colors, a low-resolution print job that blurs the fine squares, or scanning through a glossy, glare-prone surface all interfere with a scanner's ability to read the pattern cleanly. Reprinting at a higher resolution or on a matte surface often resolves this immediately.
The three corner squares getting obstructed
QR codes rely on three distinctive squares in the corners to orient themselves — if any of these are damaged, covered, or cropped out (a common mistake when resizing an image carelessly), the scanner often can't recognize the code as a QR code at all, even if the rest of the pattern is intact.
Size and distance mismatch
A code that scans perfectly from a few inches away on a phone screen can fail entirely when printed at the same relative size but viewed from several feet away — the code simply isn't large enough for the camera to resolve its detail from that distance. Increasing the physical print size relative to the expected scanning distance directly fixes this.