What does your QR code do when you scan it?
Start by scanning it with your phone’s camera and noting exactly what happens. The symptom usually tells you the cause.
| What you see | Likely cause | What to do |
|---|---|---|
| A page saying the code is inactive, deactivated, or asking the owner to upgrade | A dynamic code from a free trial or subscription that has ended | Reactivate it with the provider that made it, or replace the print with a new code |
| A “page not found” or 404 error on a website | The destination page was moved or deleted | Restore the page, or redirect its old address on your site; with a dynamic code, change the destination |
| The phone doesn’t react at all | Too small, low contrast, glare, damage, or no blank margin around it | Reprint larger, darker, on matte material, with a clear margin |
| It scans on newer phones but not older ones | Inverted colours (light on dark), thin margin, or a borderline size | Reprint as a dark code on a light background, at least 2 cm wide |
| It opens, but the wrong page | The destination of a dynamic code was changed, or the wrong link was used when it was made | Update the destination in the dashboard of the service that made it |
| “This QR code is paused” | A QRfinity code its owner has paused | The owner can resume it from their dashboard |
| “This QR code has been turned off” | A QRfinity code we disabled for breaking our rules, such as phishing | Nothing to fix as a scanner; don’t enter details on the destination |
| A browser warning about a dangerous site | The destination was flagged as unsafe | Don’t continue; tell whoever printed the code |
| It worked for a while, then stopped after many scans | A scan limit on a free or low plan | Upgrade with that provider, or replace the code |
If you’re the person who printed the code, the first row is by far the most common. Several providers deactivate dynamic codes made during a free trial when the trial ends, and send scanners to a service page instead of the destination. Static codes made with the same generators usually keep working, because there’s nothing to switch off.
Why do dynamic QR codes stop working?
A dynamic code doesn’t hold your web address. It holds a short link on the provider’s own domain, and every scan goes through their server before reaching your page. That’s what lets you edit and track it. It also means the provider decides whether to keep forwarding scans.
Free trials often last 7 or 14 days. Codes made during that time look exactly like permanent ones, so it’s easy to print hundreds before the trial ends. Paid plans can stop too: some providers keep codes running for a grace period after a subscription is cancelled, then switch them off. None of this is hidden; it’s usually in the provider’s help pages. It’s just rarely where people look before printing.
How do I recover a deactivated code?
You have two realistic options.
1. Reactivate it with the original provider. Upgrading the same account you made the code with usually restores the same code, so everything already printed works again, often within an hour. Some providers say this works no matter how long ago the code lapsed. Others keep account data only for a limited time, after which the code may not be restorable. Creating a new account, or a new code with the same destination, won’t bring the old code back. If the code is on something expensive to reprint, such as packaging or permanent signage, this is often the cheapest fix in the short term.
2. Replace the printed code. Make a new code and put it over or in place of the old one. Stickers work well for menus, table tents and posters. It costs a reprint, but it ends the dependency.
What you can’t do is move the old code to another company. The short link’s domain belongs to the original provider, so only they can decide where it points.
Before you reprint, check the new code’s terms. If it’s another trial, you’ll be back here in a week or two.
How do I fix a code that won’t scan at all?
If the phone doesn’t react, the problem is the print, not a service. Check these in order:
- Size. Under 2 cm wide is too small for many phones. For distance, make it about one tenth of the scanning distance. See the print size guide.
- Contrast. Dark code on a light background. Pale colours, light-on-dark designs and busy backgrounds cause most failures.
- Margin. The code needs blank space around it, ideally 4 modules on every side. Text or edges inside that space confuse cameras.
- Glare and finish. Glossy laminate under bright lights can blind the camera. Matte works better.
- Damage. Scratches, fading, folds and curved surfaces all remove information. A higher error correction level makes future prints more forgiving.
Our generator runs a live scan check that warns about each of these before you download. The design guide explains the details.
How do I stop it happening again?
Choose codes that don’t depend on anyone’s billing system:
- Use static where you can. If the content won’t change, a static code holds it directly and can’t be switched off by anyone. Wi-Fi, contact cards and permanent pages are good fits.
- Use a provider that never deactivates dynamic codes. On QRfinity, dynamic codes are free, unlimited and never expire. We never deactivate, pause or meter a free code, and that promise is in our terms.
- Keep a record. On QRfinity you can export all your codes and destinations as CSV or JSON from your account at any time.
- Test before every print run. Print one, scan it with a few phones, then print the rest.
More on what “no expiration” should mean is on QR codes with no expiration, and the do QR codes expire? guide covers the background.
Where do I make a replacement code?
If your code needs to change later, or you want to see scans, use the dynamic QR code generator and save it with a free account. If the content is fixed, the free QR code generator makes a static code in your browser with no sign-up. Either way, it won’t stop working because a trial ran out.