A QR code is just a picture of some data, usually a web address. Printed codes don't wear out on their own, so when one stops working, either the code can't be read, or the thing it points to has changed. Start by scanning it with your phone's camera and noting exactly what happens.
Step 1: what happens when you scan it?
| What you see | Most likely cause |
|---|---|
| A page asking you to choose a plan, log in or pay | A dynamic code whose trial or subscription ended |
| "Page not found" or a 404 error | The page it points to was moved or deleted |
| A different website from the one you expected | The domain expired, or a short link was reused or changed |
| Nothing happens, or the camera won't focus on it | The code can't be read: size, contrast, damage or a missing border |
| It works on some phones but not others | Low contrast, inverted colours or a code that's too small and dense |
You can also upload a photo of the code to our QR Code Link Checker. It shows what the code contains and follows the link from our server, so you can see each redirect and where it ends.
Cause 1: the free trial or subscription ended
This is the most common cause with codes made on popular QR websites. Many of them create dynamic codes by default. The code doesn't hold your link. It holds a short address on the company's server, which forwards scanners to your page. When the trial ends or a payment fails, the forwarding stops and scanners see a sign-up or payment page instead.
How to tell: the address in the QR checker belongs to the QR company, not to your own website.
How to fix it: you can pay to reactivate the code, or make a new static QR code that holds your link directly and reprint. Static codes have no server in between, so they can't be switched off.
Cause 2: the page was moved or deleted
Website redesigns often change page addresses. A menu at /menu.pdf might become /food-and-drink/, and the old address returns a 404 error.
How to fix it: if it's your website, set up a permanent (301) redirect from the old address to the new page, and the printed codes start working again without reprinting. Our Redirect Checker confirms it's set up correctly. Our guide to 301 vs 302 redirects explains which type to use.
Cause 3: the domain expired or the short link changed
If the website's domain name wasn't renewed, the code may lead to an error, a parking page or even someone else's site. Codes built on link shorteners can also break if the short link is deleted or edited.
How to fix it: renew the domain if it's yours. Otherwise make a new code that points straight at the final page rather than through a shortener.
Cause 4: the code can't be read
- Too small: a common rule of thumb is that the code should be at least a tenth of the scanning distance, and at least about 2 cm (0.8 in) wide.
- Low contrast or reversed colours: light codes on dark backgrounds, or pale colours, fail on many phones.
- No quiet border: a design or frame printed right up against the code stops cameras finding its edges.
- Damage or glare: scratches, folds, glossy laminate and curved surfaces all make scanning harder.
How to fix it: reprint it larger, dark on light, with a clear border, and choose a higher error correction level for codes that will get handled or sit outdoors.
Cause 5: someone covered it
On parking meters, posters and payment signs, scammers sometimes stick their own code over the real one. If your code leads somewhere unexpected, check for a sticker on top. Our guide are QR codes safe? covers this in more detail.
Cause 6: the phone's settings
If one phone fails but others work, QR scanning may be turned off in that phone's camera settings, or the phone's lens may be dirty. On iPhone, check Settings > Camera > Scan QR Codes. On Android, scanning is built into the camera app or Google Lens on most recent phones.
How to stop it happening again
- Use static codes for anything printed, unless you really need scan statistics.
- Point codes at addresses you control, such as a page on your own website, so you can change what's on the page without reprinting.
- Keep page addresses stable, or add redirects when you change them.
- Test before printing with two different phones at the real distance.
- Renew your domain automatically.
Frequently asked questions
Do QR codes expire?
The code itself never expires. What can stop is a service it depends on: dynamic codes stop when the provider switches them off, and any code stops working if the page or domain it points to goes away.
How can I tell if my QR code is static or dynamic?
Check what address it contains with a QR code checker. If the address belongs to your own website, it is static. If it belongs to a QR code company or link shortener, it is dynamic and depends on that service.
Can I fix a QR code without reprinting it?
Sometimes. If the page moved on your own website, a 301 redirect from the old address fixes every printed copy. If a dynamic code was switched off, only the provider can turn it back on.
Why does my QR code work on one phone but not another?
Usually because the code is borderline: too small, low contrast, reversed colours or a missing border. Better cameras cope, older ones don't. Reprinting it larger and dark on light fixes most cases.