Learn / QR Code

Why Your QR Code Won't Scan (Fix Contrast, Size, and Blur)

A QR code not scanning is almost always fixable. This guide covers every common cause — contrast, size, quiet zone, blur, damaged print, inverted colors, broken URLs, and URL length — and shows you exactly how to correct each one.

Need to re-generate with the right settings? Use PDF.it's QR Code tool. (Pro feature)

Create QR Code

Why QR Codes Stop Scanning

A QR code is a matrix of dark and light modules arranged in a specific pattern. Scanners decode that pattern by detecting where dark modules begin and end. Anything that blurs that distinction — low contrast, physical damage, incorrect colors, too-small a print — makes the scanner's job impossible.

The good news: every scanning failure has a fixable cause. The most common ones break down into eight categories:

  1. 1.Low contrast — foreground and background colors are too similar for a camera to distinguish modules.
  2. 2.Too small — the code is printed smaller than the 2cm minimum, or smaller than 1/10th of the scanning distance.
  3. 3.No quiet zone — design elements crowd the border of the code, removing the required blank margin.
  4. 4.Blur or pixelation — low-resolution print, inkjet at low DPI, or exporting at 72 PPI instead of 300 PPI for print.
  5. 5.Inverted colors — light modules on a dark background, which most phone cameras cannot read reliably.
  6. 6.Physical damage — scratches, creases, ink smears, or water damage that exceed the error correction level baked into the code.
  7. 7.Broken destination URL — the code scans fine but the linked page returns a 404 or the URL was mistyped at creation.
  8. 8.URL too long — very long URLs create extremely dense codes that become hard to scan, especially at small sizes.

See our full guide to QR code best practices for size, placement, and testing rules that prevent these problems from the start.

How to Fix a QR Code That Won't Scan

1

Identify the root cause

Check contrast first — the foreground must be dark on a light background. Then check size using the 10:1 rule (code width should be 1/10th of scanning distance, minimum 2cm). Finally check that a quiet zone of at least 4 modules exists on all sides.

2

Verify the destination URL

Scan the QR code and check whether it opens a URL error or a real page. If the URL is broken, mistyped, or the destination was deleted, you need to generate a new QR code with the corrected link.

3

Re-generate with corrected settings

Go to PDF.it's QR Code tool, enter the correct URL or data, set error correction to Level Q or H for printed materials, ensure the foreground is dark and background is light, and download as SVG for print or PNG for digital use. Test with two different phones before distributing.

Error Correction Levels Compared

Error correction is the most important setting for printed QR codes. It determines how much of the code can be damaged, dirty, or obscured before scanning fails.

LevelRecoveryBest For
L (Low)7% damageDigital-only use (screens, emails) — no physical wear
M (Medium)15% damageStandard print (flyers, brochures, business cards)
Q (Quartile)25% damageOutdoor signs, stickers, high-wear environments
H (High)30% damageLogo overlay, product packaging, maximum durability

Higher error correction creates a denser code. If you use Level H, print the code larger than usual — at least 3cm x 3cm for close-range scanning — to keep the modules readable.

More Ways to Improve Scan Reliability

  • Use SVG for print, not PNG at 72 PPI. When you create your QR code, download it as SVG for any printed material. SVG is a vector format — it scales to any size without pixelation, so your modules stay sharp at 300 DPI and above.
  • Shorten your URL before encoding. Long URLs produce high-density codes that are harder to scan at small sizes. Use a shorter URL or a URL shortener to reduce the amount of data encoded. Less data means a simpler pattern and faster scanning.
  • Add a white box on dark backgrounds. If your design has a dark background, never place the QR code directly on it. Instead, place the code inside a solid white rectangle with at least 4 modules of padding. See our guide to QR code types for design considerations per format.
  • Avoid reflective laminates and curved surfaces. Glossy lamination creates glare that washes out the dark modules. Curved surfaces (bottles, pillars) distort the module grid. Use matte finishes for laminated prints and increase the code size on curved surfaces to compensate for distortion.

Troubleshooting Specific Scanning Problems

Phone camera focuses but never reads the code

This is almost always a contrast or size problem. The camera can detect something square but cannot decode the pattern. Check that the foreground is at least 70% darker than the background — brand colors that look different to the eye can still be too similar for a camera sensor. If the code is under 2cm, it is too small. Re-generate at a larger size with a simple black-on-white color scheme. Use the QR code size guide to match dimensions to your expected scanning distance.

QR code scans on one phone but not another

Different phones have different camera algorithms. Older Android phones with lower-resolution cameras struggle with dense, low-contrast, or small codes. The fix is to lower the data density (shorten the URL), increase contrast, print larger, or increase the error correction level to H. Always test with at least two phones — an iPhone and a mid-range Android — before printing at scale.

Code scans correctly but opens a broken page

The QR code is working — the problem is the destination. Open the URL manually in a browser to confirm what is happening. If the page returns a 404, the URL was deleted or moved after the code was printed. If you see a redirect loop or a parked domain, the URL shortener service expired. The only fix is to generate a new QR code with the correct, working URL. Before printing, always verify the destination loads correctly on a separate device.

Re-Generate Your QR Code With the Right Settings

Fix contrast, size, error correction, and color in one place. PDF.it's QR Code tool gives you full control over every setting that affects scan reliability.

Create QR Code Now

Frequently Asked Questions

Why is my QR code not scanning?

The most common causes are low contrast between the foreground and background, a code that is too small for the scanning distance, a missing or too-narrow quiet zone (white border), blur from a low-resolution print, inverted colors (light on dark), or a broken destination URL. Check each of these in order and re-generate a corrected QR code using PDF.it's QR Code tool.

Does inverting a QR code (white on black) break scanning?

Yes. Most QR code scanners expect dark modules on a light background. Inverting the colors — white code on a dark background — causes many phone cameras and scanner apps to fail. If your design has a dark background, place the QR code inside a solid white box with at least 4 modules of padding on each side.

What is the minimum size for a QR code to scan reliably?

The minimum is 2cm x 2cm (about 0.8 x 0.8 inches) for close-range scanning like business cards. For larger formats, use the 10:1 rule: the QR code should be at least 1/10th as wide as the expected scanning distance. Scanned from 1 meter away? Make it at least 10cm wide.

What is a quiet zone and why does it matter?

The quiet zone is the blank margin around the outside of a QR code. It needs to be at least 4 modules wide (the small squares that make up the code pattern) on all four sides. Without it, scanners cannot find the edges of the code and will fail to read it. In practical terms, leave 3–5mm of empty space around the QR code — never let other design elements touch its border.

Can a damaged or dirty QR code still scan?

It depends on the error correction level set when the code was created. Level H (30% recovery) can tolerate significant damage or dirt and still scan. Levels L and M offer only 7–15% recovery, so even minor damage or smudging may cause a failure. For printed materials in high-wear environments, always generate QR codes at Level Q or H.

My QR code scans but shows an error — what does that mean?

The code itself is fine but the destination URL is broken. This happens when the URL was mistyped at creation time, the destination page was deleted or moved, or a URL shortener expired. The fix is to check the URL, update the destination if needed, and generate a new QR code with the correct link.