Why Won't My QR Code Scan? Here's How to Fix It

A QR code that scans perfectly on your laptop screen can fail completely once it's printed on a flyer or a product label. Almost every scanning failure comes down to one of a handful of causes — here's how to diagnose and fix each.

1. Not enough contrast

Scanners rely on a sharp difference between the dark and light modules. Light gray on white, or a dark color on a busy background image, can fail even though it looks readable to your eye. Stick to black on white, or at minimum keep a strong contrast ratio between foreground and background.

2. The image is too small once printed

A code that looks crisp on a phone screen at 280px can turn into a blurry mess at business-card size. As a rough rule of thumb, don't shrink a QR code below about 2 x 2 cm (roughly 0.8 x 0.8 in) for print, and go larger if the code holds a lot of data (see how data length affects density).

3. A logo that's too large for the error correction level

Adding a logo covers part of the code, and the scanner has to reconstruct that missing chunk using error correction data. If the logo is too big for the error correction level in use, there isn't enough redundancy left to recover it. Shrink the logo, or make sure the code is generated at error correction level H — most generators, including QRToolCraft, do this automatically when you add a logo.

4. Missing "quiet zone"

QR codes need a blank margin of plain background around all four sides — this is called the quiet zone. If a code is placed too close to text, a border, or the edge of a page, scanners can struggle to isolate it from the surrounding content. Leave at least a small margin of empty space on every side.

5. Blur from printing or lamination

Cheap print runs, low-DPI printers, or glossy lamination that catches glare can all blur the fine detail in a dense QR code. If you're printing at scale, do a test print and scan it with two or three different phones before committing to the full run.

6. The data itself is the problem

If the code encodes a broken or malformed URL — a typo, a missing https://, or a link to a page that's since been taken down — the code will scan fine but lead nowhere useful. This isn't a scanning failure at all; it's worth double-checking the destination separately from the code itself.

Quick pre-print checklist

QRToolCraft handles the error-correction step automatically whenever you add a logo, and lets you preview the code before downloading — worth a test scan before you send anything to print.