Published on 8/4/2026
Do QR Codes Expire? What Actually Stops Them Working
A QR code is a printed pattern of black and white squares. It has no expiry date, no clock and no connection to anything. A code printed in 2011 will still decode today, on any phone, forever. So when people say a QR code "expired", something else broke — and which something matters, because the fixes are completely different.
The pattern itself cannot expire
The QR standard describes how to encode text into a grid. There is no field for a date, no phone-home step, no licence check. A scanner reads the modules, applies error correction, and hands back the text. That text is either a URL, or a Wi-Fi definition, or a phone number, or anything else — but the reading is pure arithmetic, and arithmetic does not lapse.
So the question is never "has the code expired". It is what did the code point at, and is that thing still there.
Static codes: permanent, and permanently stuck
A static code holds the data itself. Encode https://example.com/spring-sale and those characters are physically in the pattern. Nothing sits in between, so nothing can be switched off — no account, no service, no subscription.
The trade-off is that the pattern is the destination. When the spring sale ends, the code cannot be repointed. It is not expired; it is worse than expired, because it still works and still takes people to a page you no longer want them to see. Fixing it means reprinting everything.
Dynamic codes: the link is the weak point
A dynamic code holds a short link — something like enqre.com/r/ab12cd — and the service behind that link decides where to send the visitor. That is what lets you change the destination after printing, and it is also the part that can stop working.
A dynamic code depends on three things staying alive: the short domain resolving, the service redirecting, and your account being in good standing. Any of the three failing looks identical to the person holding a phone: nothing happens.
What actually kills a printed code
- The destination is gone. The most common cause by far, and it affects static and dynamic codes alike. A deleted page, a restructured site, a PDF moved to a new folder. With a dynamic code this is a one-minute edit; with a static one it is a reprint.
- The generator expired your code on purpose. Several free generators issue dynamic codes on a trial — 14 days, or a scan quota — and then park the link on an upsell page. The code did not expire; the vendor turned it off. If a "free dynamic QR" offer does not say plainly what happens on day 15, assume this.
- You hit a plan limit. Scan caps, code counts, or a lapsed subscription. The pattern is fine; the redirect is refusing.
- The short domain lapsed. If the service's domain is not renewed, or the company shuts down, every code it ever issued goes dark at once. This is the risk nobody prices in when choosing a generator for something that will be printed 50,000 times.
- You set an expiry yourself. Some codes should stop working — a one-day conference, a limited voucher. That is a feature, not a failure, and it should be deliberate.
Where Enqre stands, plainly
Because this is exactly the area where vendors are vague, here is ours in full:
- Codes on the free plan do not expire. There is no trial clock on a code and no day on which it stops redirecting.
- There is a monthly scan limit on the free plan — 1,000 scans a month across the account. When it is reached, codes show a notice instead of redirecting until the month rolls over. That is a real limit and worth knowing before you print, so the dashboard shows the usage and warns before you get there.
- Per-code expiry is opt-in, not imposed. An expiry date, a total scan cap and a password are available on the paid plans as controls you set when you want a code to stop. Left alone, nothing stops.
- You can move the link to your own domain. On the Business plan the short link runs on a domain you control, which is the only real answer to "what if the service disappears" — see below.
How to print a code that outlives the service
If a code is going on packaging, a building sign or 10,000 leaflets, treat the link like infrastructure:
- Use a domain you own. If the short link is
go.yourbrand.com/ab12cd, then whatever happens to your QR vendor, you can repoint the DNS at another one — or at your own redirect — and every printed code keeps working. If the link is on the vendor's domain, you are trusting their business to outlive your print run. - Keep a record of what each code points to. A spreadsheet of code, location and destination costs nothing and is the difference between migrating in an afternoon and reprinting.
- Prefer a redirect you can edit over a URL you cannot. Even for a destination you are sure about. Sites get restructured more often than anyone expects.
- Read the vendor's expiry terms before printing, not after. Look specifically for what happens when a trial ends or a plan is cancelled: do the codes stop, or do they keep redirecting?
The physical code can wear out, even if the data cannot
Paper fades, ink lifts, vinyl chalks in sunlight, and a code on a café table gets wiped a thousand times. Error correction gives you real margin here — at the highest level a code tolerates roughly 30% of its area being damaged — but margin is not immunity.
- Outdoors, laminate or use UV-stable ink, and expect to replace signage codes every couple of years.
- Keep the quiet zone clear: the white border is part of the code, and a scuffed or overprinted edge fails more often than a scuffed middle.
- Test the actual printed piece, not the file, at the distance people will really stand.
Quick answers
- Do QR codes expire after a certain time? No. The pattern has no time limit. Only a service or a destination can stop working.
- Do free QR codes expire? Static ones never can. Free dynamic ones depend entirely on the vendor — some expire on a trial, some do not. Ours do not.
- How long does a QR code last? As long as its destination and, for dynamic codes, its redirect service. Physically, as long as the material it is printed on.
- Can I reuse an old printed code? If it is dynamic, yes — change the destination and the existing print keeps working. If it is static, no.
- Can I make a code expire on purpose? Yes, with a dynamic code: set an expiry date or a scan cap.
The useful takeaway is that "will this code still work in three years" is a question about your link, your domain and your vendor's terms — never about the squares. Decide those three deliberately and the printed pattern will outlast the print.