12 Common Reasons Your QR Code Isn’t Working (and How to Fix Them)

A person views a holographic figure inside a snow-globe-like container, emerging from a QR Code welcome mat. A screen allows the person to select a service.

QR Codes fail for predictable, fixable reasons. A broken code means lost engagement, frustrated users, and wasted print spend. This guide covers the 12 most common QR Code problems and provides a clear fix for each.

Key Takeaways

  • QR Codes fail for three main reasons: Design flaws, technical errors, or environmental factors that interfere with scanning.

  • Most scanning issues trace back to preventable mistakes like low image resolution, poor color contrast, or a missing quiet zone around the code.

  • Dynamic QR Codes let you fix broken or outdated links without reprinting, eliminating one of the most common failure points.

  • Testing your QR Code across multiple devices (both iPhone and Android) and under varying lighting conditions before distribution catches most problems.

  • If a code scans but loads an error page, the issue lies with the destination URL, not the QR Code itself.

12 Common reasons QR Codes don’t work (and how to fix them)

Before diving in, determine whether your problem is with the code’s appearance, the link behind it, or the scanning device. That distinction helps you skip straight to the relevant fix below.

Rendi più efficaci le tue strategie con i QR Code di Bitly.

Inizia a creare QR Code personalizzati e stabilisci connessioni più significative.

Inizia ora

1. Low image quality

A blurry or pixelated QR Code won’t scan because devices can’t distinguish individual data modules. This happens when you export at low resolution or resize a raster image beyond its original dimensions.

The fix: Export your QR Code at a minimum of 300 dpi. Use SVG format for print materials so the code scales without losing clarity. If you’re working with a PNG, start at 1000px or larger and never stretch it beyond its original size.

2. Poor color contrast

QR Code scanners rely on the contrast between dark modules and the light background to read the pattern. When colors are too similar, or when you place dark modules on a dark background, the scanner can’t differentiate the code from its surroundings.

The fix: Stick with dark-colored modules on a light background. Black on white delivers the highest scan rates, but you can use brand colors as long as the contrast ratio stays strong. Avoid inverting the pattern (light modules on dark background), as many scanners struggle with this configuration. Learn more in our article about designing with light-colored codes.

3. Inappropriate size

A QR Code that’s too small for its scanning distance becomes unreadable. Devices need sufficient visual data to identify and decode the pattern, and distance reduces the effective resolution of the camera.

The fix: Follow the 10:1 rule: Your QR Code should measure at least 1 inch for every 10 inches of scanning distance. At arm’s length, the minimum is 2 cm × 2 cm (about 0.8 × 0.8 inches). A billboard code scanned from 30 feet needs to be at least 3 feet wide. Minimum QR Code sizing is always an important consideration.

4. Excessive error correction level

Higher error correction modes add more data to the QR Code pattern, making it denser and harder to scan in some conditions. For codes that store a fixed URL, lower error-correction levels (such as L or M) often yield higher scan rates because the pattern remains simpler.

LevelRecovery capacityBest for 
L~7%Short URLs, controlled environments
M~15%General use (recommended default)
Q~25%Outdoor/rough handling
H~30%Codes with embedded logos

The fix: Use Level M as your default unless you have a specific reason to go higher. Only choose Level H if you’re embedding a logo that covers part of the code. Research on QR error correction confirms that higher levels can reduce scanning reliability for fixed data by increasing code density.

5. Cluttered design or overly complex code

A QR Code that stores too much data produces a dense, complex pattern that’s harder to scan. Static QR Codes encode the entire destination URL directly, so longer URLs create more complex codes.

The fix: Use Dynamic QR Codes instead of static ones. Dynamic codes store a short redirect URL regardless of how long your destination URL is, keeping the pattern simple and scannable. They also let you collect analytics and update the destination without regenerating the code.

6. Lack of a quiet zone (white border)

Leave a margin of at least four times the width of one module around the entire code. The quiet zone tells the scanner where the code begins and ends. Without it, surrounding design elements bleed into the pattern, confusing the reader.

The fix: Never crop or crowd the edges of your QR Code. Most QR Code generators include a quiet zone by default, but custom designs or tight layouts can eliminate it. The GS1 standard specifies a minimum margin of four times the module width on all sides.

A QR Code can scan perfectly, but still fail if the destination URL is broken, moved, or mistyped. Users see a 404 error or blank page and assume the code itself is the problem.

The fix: Always verify your destination URL loads correctly on mobile before distributing the code. Better yet, use Dynamic QR Codes from Bitly so you can update the link anytime without reprinting. If the destination page moves, you simply redirect the code to the new URL from your Bitly dashboard.

8. Incorrect file format

JPEG compression introduces artifacts that blur the sharp edges between QR Code modules. These artifacts make it harder for scanners to detect individual modules, especially at smaller sizes.

The fix: Choose the right format for your use case:

  • SVG: Best for print at any size (vector, infinitely scalable)

  • PNG: Best for digital/web at high resolution (1000px+)

For print materials, SVG is always the safest choice because it maintains crisp edges regardless of scaling. Learn more about creative QR Code design options that maintain scannability.

9. Environmental lighting

QR Code scanners use the device camera, and cameras need adequate light to capture a clear image. Codes placed in dim hallways, shadowed corners, or under harsh overhead lighting can fail to scan.

The fix: Test your QR Code placement under the actual lighting conditions where it will live. If the location is consistently dark, consider adding a small backlight or repositioning the code to a better-lit surface. Matte finishes reduce glare from harsh lighting.

10. Device compatibility issues (iPhone and Android)

Older smartphones and tablets may lack built-in QR Code scanning capability. If your phone won’t scan a QR Code, the issue might be an outdated operating system rather than the code itself.

The fix: Update your device’s operating system to the latest version, as both iOS and Android have improved native scanning in recent updates. If your device still can’t scan natively (common on Android 8 or earlier), download a dedicated QR Code scanner app. Test your codes on at least one iPhone and one Android device before distribution to catch compatibility gaps.

11. Disabled QR Code reader permissions

Your phone’s camera needs permission to access the scanning feature. If someone disabled camera permissions or turned off the built-in QR Code reader, the device simply won’t respond to codes.

The fix: Check your device settings:

  • iPhone: Open the Settings menu → Tap Camera → Toggle “Scan QR Codes” on

  • Android: Open the Camera app → Tap the More menu →  Tap the Settings icon → Toggle “Scan QR Codes” on

For a complete walkthrough of enabling scanning on both platforms, see our guide to scanning a QR Code.

12. Poor internet connection

A QR Code that links to a website, landing page, or app needs an active internet connection to load the destination. In this scenario, the code itself scans fine, but the content behind it fails to appear.

The fix: Place QR Codes in locations where users are likely to have a stable Wi-Fi or cellular connection. If the code links to time-sensitive content (like a payment portal or event check-in), note the connectivity requirement near the code or offer an offline alternative. For added peace of mind, learn how to protect yourself from malicious QR Codes.

Best practices for creating high-quality, reliable QR Codes

Pre-publish QR Code checklist:

  • Resolution: 300 dpi minimum, SVG or large PNG format

  • Contrast: Dark modules on a light background

  • Size: Minimum two centimeters by two centimeters; follow the 10:1 distance-to-size rule

  • Quiet zone: Four times module width margin on all sides

  • Link test: Verify the destination URL loads on mobile

  • Device test: Scan with at least one iPhone and one Android device

  • Environment test: Test under the actual lighting conditions where the code will live

Use Bitly Codes

Bitly Codes are Dynamic QR Codes you can customize, track, and update from a single dashboard. Unlike static codes, they let you change the destination URL at any time without reprinting, and they provide real-time scan analytics so you can monitor performance. Create your first QR Code with Bitly in minutes.

Test your QR Codes

Testing your QR Codes across multiple devices and conditions catches problems before your audience encounters them. Scan with both iPhone and Android phones, try different lighting conditions, and test at the actual distance your audience will experience. Bitly Analytics shows scan data in real time, so you can verify codes are working once they’re live.

Provide clear instructions

Not everyone instinctively knows how to scan a QR Code. Add a brief call to action near the code, such as “Scan to get 20% off” or “Point your camera here to learn more.” This simple addition increases engagement and reduces scanning errors.

Optimize placement

Position your QR Codes where people can comfortably hold their phone steady at the right distance. Avoid placing codes on moving objects, behind glass that causes reflections, or at extreme angles. The ideal placement is at eye level on a flat, matte surface with good lighting.

Start scanning smarter with reliable QR Codes

Most QR Code failures are preventable with the right setup and testing. The 12 issues above cover virtually every reason a code won’t scan, and each has a straightforward fix.

Dynamic QR Codes from Bitly eliminate the most common technical failures (such as broken links and outdated URLs) and provide scan analytics to help you catch issues early. You can edit destinations, customize designs, and monitor performance from one dashboard.

Get started with Bitly and create Dynamic QR Codes you can edit, track, and troubleshoot without reprinting.

Frequently Asked Questions

Why won’t my iPhone scan a QR Code?

Your iPhone may not scan QR Codes if the “Scan QR Codes” setting is disabled in Settings → Camera. Other common causes include a dirty camera lens, low lighting, or holding the phone too close to the code. Make sure your iOS software is up to date, as older versions may have scanning bugs that Apple has since patched. If the built-in camera still fails, try using a third-party scanner app from the App Store.

Why won’t my Android phone scan a QR Code?

Android scanning issues often stem from disabled camera permissions or an outdated operating system. Open the Camera app → Tap the More menu →  Tap the Settings icon, and Toggle “Scan QR Codes” on. If your phone doesn’t have native QR scanning (common on devices running Android 8 or earlier), download Google Lens or another scanner app from the Play Store. Also, ensure adequate lighting and hold your phone steady six to ten inches from the code.

Why does my QR Code scan but show an error page?

When a QR Code scans successfully, but the destination page shows a 404 error or fails to load, the problem lies in the encoded URL rather than the QR Code image itself. The linked page may have been moved or deleted, or the URL could contain a typo. If you created the code as a static QR Code, you must generate a new code with the corrected URL. A Dynamic QR Code from Bitly lets you update the destination link at any time without reprinting the physical code.

Do QR Codes expire or stop working over time?

QR Codes themselves never expire because the pattern is a permanent visual encoding of data. However, the content they link to can change, move, or go offline. Dynamic QR Codes depend on an active redirect service, so they stop working if the service is discontinued. Bitly’s Dynamic QR Codes remain active indefinitely on all paid plans and allow you to update the destination URL whenever needed.

What is the minimum size for a scannable QR Code?

The minimum recommended size for a printed QR Code is two centimeters by two centimeters (roughly 0.8 by 0.8 inches) when scanned at arm’s length. For larger scanning distances, follow the 10:1 rule: the code should measure at least one inch for every 10 inches between the scanner and the code. A billboard QR Code meant to be scanned from 30 feet away needs to be at least three feet wide.

Can a damaged QR Code still work?

QR Codes include built-in error correction, allowing them to remain scannable even with minor damage. At the standard Medium (M) error correction level, a code can lose up to 15% of its modules and still scan successfully. However, severe damage to the three corner position markers (the large squares in three corners) will always prevent scanning because devices use these markers to locate and align the code.