QR code stopped working? Here's why, and how to fix it
By Prabhneet Singh Narula, founder of RelyQr · Updated
Short answer
A QR code that used to work usually stops for one of four reasons: its provider deactivated it, often after a trial or plan ended; the website it opens moved or went offline; the print got damaged or covered; or what it holds changed, like a new Wi-Fi password. The symptom tells you which, and most can be fixed.
Find the cause from what you see
| What happens when you scan | Likely cause | Fix |
|---|---|---|
| The camera doesn't react | Damaged, faded or covered print; poor contrast | Clean or reprint it; see QR code not scanning |
| A page says the code is inactive, expired or needs an upgrade | The provider deactivated a dynamic code | Renew with that provider, or replace the codes |
| “Page not found” or a site error | The destination moved or went offline | Change the destination (dynamic) or redirect the old address |
| A Wi-Fi code no longer joins | The password or network name changed | Make a new Wi-Fi code |
| It works on some phones only | The code is too small or too dense | Print it bigger, or use a dynamic code with a short link |
If the provider deactivated your code
Dynamic QR codes hold a short link on the provider's server. When a trial ends or a subscription lapses, many providers stop forwarding those links, so every printed code shows their page instead of yours. You can tell from the address the camera shows before opening: it's the provider's short-link domain.
You have two choices. Renewing the plan usually brings the codes back as they were, because the short links still belong to the provider. Or you can replace the codes with ones from a provider whose codes keep working whatever happens to your plan, and reprint once.
RelyQr dynamic codes keep working on every plan, even if you stop paying: a lapsed plan can limit editing, never redirects.
If the website moved or went offline
With a dynamic code, open it in your account and change the destination: the printed code sends the next scan to the new address. On RelyQr that takes effect within a minute.
With a static code, the address is printed into the pattern. If you still control the old domain, add a permanent (301) redirect from the old address to the new one, and every printed code follows it. If you don't, the codes have to be reprinted.
If the print is damaged
QR codes have built-in error correction, so a small scratch or stain usually doesn't matter. Once a corner square is covered or the code has faded, phones give up. Clean it, and if that doesn't help, reprint it. For outdoor codes, use laminate or a weatherproof sticker with a matte finish.
Replace your codes with ones that last
- 1
Make a dynamic code
Create a dynamic code on RelyQr and point it to your page. A free account includes 3.
- 2
Style and test it
Add your logo and colours; every design is test-scanned as you go. Scan the download with your own phone.
- 3
Print it once
From now on, change the destination in your account instead of reprinting.
- 4
Use your own domain (optional)
On Business, put codes on your own domain, so they never depend on anyone else's.
Questions people also ask
Why does my QR code say it has expired?
A QR code that shows an “expired” or “inactive” page is a dynamic code whose provider stopped forwarding it, usually because a trial or plan ended. The pattern itself never expires.
Can I fix a QR code without reprinting it?
Yes, if it's a dynamic code: change the destination in your account, or renew the plan if the provider deactivated it. A static code can only be fixed by redirecting the old web address or reprinting.
Why does my QR code work on one phone but not another?
Usually the code is too small or dense for older cameras, or one phone has QR scanning turned off in its camera settings. Print it bigger and test on an older phone.
How do I find out who made my QR code?
Scan it and look at the address the camera shows before opening it. A dynamic code shows the provider's short-link domain.
Make a QR code that lasts forever
Free static codes with your logo and no watermark. Dynamic codes you can change after printing keep working on every plan.