Do QR codes expire? What actually makes a code stop working
A QR code is just a printed pattern, and patterns do not expire. But there are five real reasons a code can stop working, and all of them can be avoided.
Utilica3 min read

The pattern itself cannot expire. A QR code is ink on paper, and it will hold the same information in twenty years that it holds today. When a code "expires", something behind it has changed. There are five ways that happens.
1. The service behind a dynamic code switched it off
This is the one people mean when they ask the question.
A dynamic code does not hold your link. It holds a short address belonging to the company you made it with, and that company redirects each scan to your link. If the company stops redirecting, the code leads nowhere.
Some QR generators do this on purpose: the dynamic code is free to make, and it stops working when a trial ends unless you subscribe. By then the code is usually printed.
How to avoid it: read the terms before you print. Look for the words "trial", "expire" and "deactivate". On Utilica, dynamic codes do not expire on any plan, and downgrading from Pro removes Pro features without switching off any code.
2. The page it points to has gone
A static code holds a web address directly. If that page is deleted, renamed or moved, the code still works perfectly. It just opens an error page.
How to avoid it: only use a static code for an address you control and will not change. For anything else use a dynamic code, so you can point it at the new address when the old one goes.
3. Someone paused or deleted it
Dynamic codes can be paused and deleted by their owner. If a colleague tidies up an account and removes a code that is still on a poster somewhere, it stops.
How to avoid it: name your codes after where they are printed ("Front window", "Spring flyer") so nobody deletes one that is still in use.
4. It was disabled for breaking the rules
Redirect services have to stop codes that lead to scams or harmful pages, because one bad link can get the whole redirect domain blocked for everyone. A code pointing at a page that has been hacked can be caught by this too.
How to avoid it: keep the destination a page you own and maintain.
5. The print has worn out
Not an expiry, but it looks like one. Sun-faded ink, a scratched sticker, a laminate gone cloudy, or a code printed too small in the first place.
How to avoid it: print with strong contrast at a sensible size, and replace anything outdoors when it starts to fade. We have a full guide to printing a code that scans.
How to check a code you have already printed
- Scan it and watch the address bar. If the phone briefly shows a short address before your page loads, it is a dynamic code and depends on that service.
- Log in to wherever you made it. Look for a trial end date, a scan limit or a plan that is about to lapse.
- If it is at risk, make a replacement before the old one stops, and swap it wherever you can.
Static codes never depend on anyone
If you need a code that cannot stop for any reason outside your control, use a static one. It holds the content itself, whether that is a link, your Wi-Fi details or a contact card, and it never contacts any service. The trade-off is that it can never be changed and its scans cannot be counted. More on that in static vs dynamic QR codes.
The short version
QR codes do not expire. Services do. Before you print a dynamic code, find out what happens to it if you stop paying, and choose a service where the answer is "nothing".



