January 15, 2026 · 9 min read
Why Your QR Code Stopped Working
You printed hundreds of flyers. You sent out mailers. You put QR codes on your product packaging. And now those QR codes go nowhere — or worse, they 404.
This is one of the most frustrating problems in physical marketing because you're dealing with something that's already been printed and distributed. You can't un-send a mailer. You can't un-print packaging. And customers don't tell you it's broken — they just silently give up and move on.
Here's exactly why QR codes break, how to diagnose which failure you're dealing with, and what to do about it.
The Two Types of QR Codes (and Why It Matters)
There are two fundamentally different kinds of QR codes, and most people don't know the difference until their codes break.
Static QR codes encode a URL directly into the pattern. The destination is baked in — you can't change it. When you scan a static code, your phone reads the URL directly from the pixels and opens it. No server involved. Nothing to maintain.
Dynamic QR codes encode a short redirect URL instead. When scanned, your phone hits that redirect URL, which logs the scan and forwards to your actual destination. The destination URL is stored on a server and can be updated without touching the QR image.
Understanding which type you have is the first step in diagnosing why yours broke.
Reason 1: You Used a Free Static QR Generator
This is the most common reason QR codes break, and it happens to people who did nothing wrong — they just didn't realize what they were creating.
Free QR generators (QR Code Monkey, tools.qr-code-generator.com, dozens of others) create static codes. The URL is encoded in the pixels. You print it, it works. Then something changes:
- You moved your website to a new domain
- Your URL structure changed (you restructured your blog, updated your booking platform, migrated to a new e-commerce system)
- The page you were linking to got deleted or moved
- You switched website platforms
- You changed hosting and old URLs stopped redirecting
Any of these URL changes breaks a static QR code permanently. There is no fix. The code will always point to the original URL, which no longer works.
How to diagnose: Try scanning the QR code. Does it point to a URL that's clearly your old web address, a defunct platform, or a 404? That's a static code with a dead destination.
The fix: There is no fix for the code itself. You need to recreate the QR code as a dynamic code and reprint the materials. Going forward, never use static codes for anything printed for business purposes.
Short-term workaround: If you own the domain, you may be able to create a server-side redirect from the old URL to the new one. This only works if you still control the domain and web server. It also only works for URL changes, not domain changes.
Reason 2: Your QR Service Subscription Expired or You Canceled
Dynamic QR codes only work while your subscription is active. The redirect lives on the QR service's servers. When you stop paying:
- Some services immediately disable the redirect
- Some give a grace period (7–30 days)
- Some convert your code to a static code pointing to the last destination
- Some simply kill the redirect and show an error page
Whatever the specific behavior, the result is the same from your customer's perspective: the code stops working.
This also happens when:
- You cancel because the service got too expensive
- You forgot to update a credit card and the payment lapsed
- The service itself shut down (this happens — smaller QR services have gone out of business)
- You switched email addresses and stopped receiving renewal notices
How to diagnose: Scan the QR code. Does it redirect to a "link expired" or "account inactive" error page, or a service's homepage? Check the URL the code points to — if it's a short URL on a third-party domain, it's a dynamic code that lost its subscription.
The fix: If you're still on the same service, reactivate your account. If you've left, you'll need to recreate the codes with a new service and reprint.
Prevention: Use a reliable service with explicit pricing you're comfortable sustaining. Set up auto-renewal. Add a calendar reminder to renew before the expiration date if you're on an annual plan.
Reason 3: Your QR Service Shut Down
Smaller QR code services have shut down without warning, leaving customers with dead codes on printed materials. When a service shuts down:
- The redirect server goes offline
- All dynamic QR codes on that platform stop working
- There's often no migration path
- You may lose your analytics history
This risk is a real reason to think about service durability when choosing a QR provider. Free services with no clear revenue model carry more shutdown risk than paid services with explicit subscription pricing.
How to diagnose: If scanning your code gives a network error or DNS failure, the service may be down or shut down. Try visiting the service's website directly to see if it's operational.
The fix: Recreate your codes with a different service. Reprint affected materials.
Prevention: Choose services that have been operating for multiple years and have clear revenue models. Avoid services that are free with no paid tier — they have no sustainable business model.
Reason 4: The Destination URL Broke (But the Code is Fine)
Sometimes the QR code redirect works perfectly, but the destination URL is broken. The scan fires, the redirect succeeds, and the user lands on a 404 or error page.
This is actually good news compared to the other failure modes — the QR code itself still works, and if you have a dynamic code, it's a two-minute fix.
Common causes:
- You changed your website's URL structure (added or removed a subdirectory, changed from http to https, moved to a new platform)
- The page was deleted
- You changed booking systems and the old booking URL is dead
- Your menu platform changed its URL scheme
How to diagnose: Scan the code and watch where it lands. Is the redirect working but the final page returning a 404?
The fix:
- If you have a dynamic code: log into your dashboard, update the destination URL to the new correct URL. Done. The printed code doesn't change, no reprinting needed.
- If you have a static code: you can try a server-side redirect if you control the server, but the cleanest fix is recreating as a dynamic code and reprinting.
Reason 5: Print or Display Quality Issues
Sometimes the code is technically correct but physically broken — the image quality is too low, the contrast is insufficient, or something happened to the physical material.
Low resolution print: If you downloaded a tiny PNG (72dpi, 200×200px) and printed it at 3 inches square, the pixels are visible and many scanners can't decode it. QR codes for print need to be at least 300dpi at the final print size.
Low contrast: Dark code on a dark background, or light code on a light background. The scanner needs clear contrast to read the patterns. White code on black background works. Black code on busy photographic background often doesn't.
Physical damage: The code is printed on a surface that got wet, scratched, faded, or partially obscured. The QR standard includes error correction that can handle some damage (typically 7–30% of the pattern can be obscured), but severe damage breaks the code.
Laminate or UV coat interference: Certain glossy laminates create glare that prevents cameras from reading codes reliably. Matte laminate is safer for QR codes than high-gloss.
How to diagnose: Try scanning with multiple phones. If it works on some but not others, it's likely a marginal quality issue that different scanner algorithms handle differently. If it fails on all phones, it's a more severe print issue.
The fix: If the issue is digital (low-resolution source file), recreate the QR with a higher-resolution download and reprint. If it's physical damage, replace the physical material.
The Diagnostic Checklist
If your QR code stopped working, work through this in order:
-
Can you physically scan it? — Try with multiple phones. If no phone can read it at all, it's a print quality issue.
-
What URL does it point to? — If your phone can read it but nothing opens, see what URL the phone's camera detected. This tells you if it's a static code pointing to a dead URL vs. a dynamic redirect that's failing.
-
Is the redirect server responding? — If it's a dynamic code, try opening the redirect URL directly in a browser. If you get an error from the QR service, your subscription may have lapsed or the service is down.
-
Does the destination page load? — If the redirect works but the final page is broken, update your destination URL in the dashboard (dynamic only) or create a server-side redirect.
-
When did it last work? — Correlate the failure with events. Did you recently change your website, cancel a subscription, or receive an email about an expired account?
Preventing Future Failures
Use dynamic QR codes for everything printed. This is the single most important rule. Static codes are a liability on anything you intend to keep in circulation.
Use a service with transparent pricing you'll sustain. Free services create shutdown risk. Expensive services create temptation to cancel. Find a price you're comfortable paying indefinitely.
Set up auto-renewal. Annual plans in particular create gaps — you forget you signed up a year ago, miss the renewal email, and codes go dark while you figure out what happened.
Test before distributing. Before sending 1,000 mailers or printing a 5,000-unit product run, scan the code with multiple devices and confirm the destination page loads correctly on mobile.
Monitor scan analytics. A code that was getting regular scans suddenly dropping to zero is an early warning signal that something broke. Catching it in your analytics means you fix it before customers encounter the broken code.
Download high-resolution files. For print, download PNG at 1000px or larger, or use SVG (infinitely scalable). Never print a 200px PNG at large size.
Document your codes. Keep a simple list of what each code links to, where it's deployed, and when materials were last printed. When something breaks six months later, you'll know exactly where to look.
When You Have to Reprint
If you've determined that reprinting is unavoidable, a few things to keep in mind:
Use the reprinting event as an opportunity to upgrade to dynamic codes if you were using static. It's not additional work — you're already reprinting. Spend two minutes creating a dynamic code instead of copying over the static one.
Prioritize which materials to reprint based on scan volume and visibility. High-traffic table cards in a busy restaurant take priority over business cards you printed two years ago.
If you have dynamic codes and only the destination URL broke, you may not need to reprint anything — just update the URL in your dashboard. That's the entire value proposition of dynamic codes.
The 30-Second Version
If your QR code stopped working, one of four things happened:
- Static code, URL changed — no fix, reprint with a dynamic code
- Dynamic code, subscription lapsed — reactivate or switch services, reprint
- Dynamic code, destination URL broke — update the destination URL in your dashboard (two minutes, no reprinting)
- Print quality issue — recreate at higher resolution, reprint
For anything going forward: use dynamic codes from a service with explicit pricing you'll sustain long-term. Set up auto-renewal. Test before distributing. Monitor analytics for zero-scan events that signal a break before customers find it.
Avoid this problem permanently. Create a dynamic QR code for $20/year.
QR code tracking for $20/year
Dynamic QR codes with scan analytics. No subscriptions that drain your wallet.
Create your first QR code →