Do QR Codes Expire? What Actually Stops Them Working
Static QR codes never expire. Dynamic ones stop when a trial, plan or scan limit runs out. How to tell which you printed, and how to fix it.
QR codes themselves don’t expire. A static code keeps working for as long as the print is readable and the page it points to exists. A dynamic code can stop working, because it sends every scan through the generator’s server, and that server can be switched off when a free trial ends, a plan lapses or a scan limit is hit.
Static and dynamic codes fail in different ways
A static QR code stores the destination inside the black and white pattern. Scan a static code for https://example.com/menu and your phone reads that exact address from the image. No company sits in the middle, so there is nothing that can be turned off. Even the vendors that sell dynamic codes say static codes never expire and never get paused.
A dynamic code stores a short link owned by the generator. Your phone opens that link, the generator’s server looks up where it should go today, and redirects you. That middle step lets you change the destination after printing and count scans. It is also the single point of failure. Our dynamic vs static QR code guide covers the rest of the differences.
The five things that “expire” a QR code
1. A free trial ends
This one catches people who printed menus or flyers during a trial. As of October 2026, QR Planet’s help center says that if you don’t add a payment method during its 15-day trial, the account is deactivated and the codes made during the trial stop working.
2. A paid plan lapses
A failed card renewal does the same thing. Many generators turn off the redirect for every dynamic code on the account when a paid plan lapses. Some soften it: QRStuff keeps each code alive at 50 scans per month after a paid plan expires.
3. A scan limit is reached
Some plans cap scans per month and pause dynamic codes that go over, then restart them at the start of the next month. A code on a busy poster can go dark for weeks and then come back on its own. That makes it hard to diagnose.
4. Free codes with a built-in time limit
Some “free” codes come with a clock. QRStuff’s free codes made without an account expire after 7 days, and codes from a free account after 30 days. That is fine for a test. It is a bad surprise on packaging.
5. The destination disappears
This hits static and dynamic codes alike. Delete the page, let the domain lapse or change the URL in a redesign, and the code still scans but lands on a 404, a blank page or unrelated content.
What people see when it happens
The error page tells you which cause you are dealing with:
- Subscription problem: a provider error or a “code inactive” page.
- Broken destination: a 404, a blank page or someone else’s content.
- Scan cap reached: a message like “Scan Quota Exceeded”.
- Print damage: the phone can’t read the code at all.
That last one is usually a design or printing problem. Our guide to QR codes that won’t scan covers contrast, quiet zones and size.
Wear and damage
There is no timer, but a worn code can become unreadable. Denso Wave, the company that invented the QR code, notes that the format has error correction to restore data if the code is dirty or damaged. There are four levels, and Seagull Scientific’s reference lists how much of the data each can rebuild: about 7% for L, 15% for M, 25% for Q and 30% for H.
Denso Wave says Level M (15%) is the one most often chosen, and recommends Q or H where codes get dirty, such as factories. For an outdoor sign or a sticker on equipment, use H and accept a slightly denser code.
How to tell what you printed
Scan the code and look at the link your phone previews before you tap it.
- If it shows your own domain, the code is static, or it is dynamic on a custom domain you control.
- If it shows a generator’s short domain, the code is dynamic and works only while that company keeps your account active.
Our free QR validator shows the decoded link and flags low contrast before you reprint anything.
How to fix a code that stopped working
For a trial or a lapsed plan, reactivate the account. Providers that switch codes off generally switch them back on when the account is reactivated. No reprint needed; the printed pattern never changed.
If the destination broke, point the dynamic code at the new page from the dashboard. For a static code, add a redirect from the old URL on your website.
Otherwise, reprint. This time, decide who owns the link.
My take: own the domain before you print
Most “expired” codes I hear about come from the same choice: printing a dynamic code on someone else’s short domain during a free trial. The code works, nobody checks it for a few weeks, and the trial ends quietly.
If you need dynamic features, put them on a domain you own. With a branded custom domain like brand.link/summer-sale, the printed link is yours, and you can move it to another service later without touching the print. If you don’t need editing or scan counts, print static. For anything printed in volume it is the safer choice. Restaurants changing prices are the classic exception, which is why we wrote up how restaurants track menu scans.
The limitation
A custom domain doesn’t remove the dependency; it moves it. Someone still has to run the redirect server, and that includes QRAnalytica: our dynamic codes go through our servers too, which is the trade for being able to edit them and count scans. What we don’t do is switch them off over billing. If a QRAnalytica subscription or trial ends, the account moves to the free plan and the codes you already printed keep redirecting. A custom domain only helps if it is set up before printing, and you keep paying for the domain itself. If you print codes and walk away for years, use static, and keep the page up. Swapped stickers also look exactly like a dead code to customers; see how to check a code is safe before scanning.
FAQ
Do static QR codes ever expire?
No. A static code stores the link or text in the pattern itself, so there is nothing to switch off. It stops working only if the page it points to goes away or the print gets too damaged to read.
Why did my dynamic QR code stop working after the free trial?
Many generators disable the redirect for dynamic codes when a trial ends or a paid plan lapses, so codes printed during the trial stop working with it. Check your provider’s trial terms before printing anything in volume.
Can I bring an expired dynamic QR code back?
Usually, yes, if the provider still has the account. Reactivating the plan turns the redirect back on, and the printed code works again without reprinting.
How do I check whether my printed code is static or dynamic?
Scan it and look at the link your phone previews before opening it. If it shows your own website, it is static. If it shows the generator’s short domain, it is dynamic and depends on that company.