What happens to your QR codes when the free plan ends
The image on the flyer cannot expire. The redirect behind it can, and each provider switches it off differently.
A printed QR code stops working for one of three reasons, and none of them is the image. Either the free trial behind it ended, a monthly scan cap paused it, or the subscription that kept it alive lapsed. The pattern on the paper is just data. What dies is the redirect service the pattern points at, and whether that happens, and when, is decided by the provider's pricing page, usually in a sentence nobody reads before printing.
The image cannot expire. The redirect can.
A static code has the destination written into the pattern. Nothing sits between the phone and your page, so nothing can be switched off; the only way it dies is if your page does. A dynamic code encodes a short link on the provider's domain instead, and the provider's server answers each scan with a redirect to your real destination. That is what makes it editable and countable, and it is also what makes it switchable. When people say a QR code "expired", they mean the provider stopped answering.
Failure one: the trial cliff
Some generators have no permanent free plan at all. You sign up, the trial starts, you make your codes, you print, and a couple of weeks later the trial ends and the dynamic codes stop redirecting. QR.io works this way: there is no free tier, and dynamic codes made during the trial deactivate when it ends. It is a reasonable model for a design tool. It is a bad surprise for a stack of flyers.
Failure two: the scan cap
Other providers have a real free plan with a ceiling on scans. QRCodeChimp's free plan gives you ten dynamic codes and 1,000 scans a month, and its pricing page states that a dynamic code is paused once the month's scan limit is reached. QR TIGER's free plan allows three dynamic codes with 500 scans each. The numbers are generous for a code nobody scans. The problem is which code hits the limit: the busy one. A cap on scans means the codes that stop are exactly the ones that worked, and they stop mid-month, on a printed surface, where you cannot fix them.
Failure three: the lapse
The third case is a paid plan that stops being paid. Bitly's dynamic codes stop redirecting after a subscription lapses, which is a recurring complaint from people who printed materials on a paid plan and later cancelled, or let a card expire. Nothing about this is hidden; it is how subscriptions work. It just means that every printed code is a standing bill, and the day you stop paying is the day the signs go dark.
What we do instead
Every TangoQR code keeps redirecting, on every plan, for as long as the code exists, and scans are never capped or throttled. What the free plan limits is the detail: a code is fully editable, with full analytics, for its first 50 scans, and after that editing and the breakdown charts move behind Pro for that code while the total scan count stays visible and the redirect keeps resolving to wherever you last pointed it. Cancel Pro and the same thing happens: the dashboard reverts to free behaviour and the printed codes carry on. The one honest caveat is the one every dynamic code shares. A redirect depends on the provider existing, and no provider can promise you otherwise. What a provider can promise is that it will not switch your code off on purpose, and that is the promise we make.
How to check a code you already printed
You can find out what will happen to a code in about a minute, with nothing printed and no account anywhere.
- Decode the code to see the URL inside it. Our QR code URL checker does it in the browser.
- If that URL is your own destination, the code is static. It cannot be switched off and it cannot be changed. Stop here.
- If it is a short link on someone else's domain, the code is dynamic and that domain is the provider. Ask the link what it does:
curl -sI https://short.example/abc. A working code answers302with aLocationheader pointing at your destination. - If it answers with the provider's own landing page, a "this code has been paused" page, or nothing at all, the code is already dead.
- Now read that provider's pricing page for three words: trial, limit, and pause. Whatever it says there is what your printed code is going to do.
If yours has already stopped
A static code that points at a page you took down comes back the moment you put a page at that address again. A dynamic code on a lapsed or exhausted plan usually comes back when the plan is paid or the month rolls over, and the provider's pricing page will say which. If the provider has gone out of business, the code is gone with it, and the answer is a reprint. Whichever it is, the next print run is the time to pick a provider by what happens at the limit rather than by the feature list.
Before you print, ask five questions
- Is the free plan permanent, or a trial with a date on it?
- Is there a cap on scans, and what exactly happens to the code when it is hit?
- If I stop paying, does the code keep redirecting to the last destination?
- Can I change the destination myself, without support?
- Does the code count scans, so I would notice if it went quiet?
The table below is what we found when we asked those questions of the providers people compare us to, with the date we checked. Vendors change their terms, so treat it as a starting point and read the current page before you print. Our comparison pages go into each one in more depth, including where each of them is the better choice.
What happens to a free dynamic QR code at the limit, by provider (checked 17 August 2026)
| Provider | Free dynamic codes | Scan allowance | When the limit is hit |
|---|---|---|---|
| TangoQR | Unlimited | Unlimited | Nothing stops. Past 50 scans on a code, editing and detailed analytics move behind Pro; the code keeps redirecting and counting |
| QRCodeChimp | 10 | 1,000 a month | The dynamic code is paused for the rest of the month, per its pricing page |
| QR TIGER | 3 | 500 per code | The free allowance is per code; the $7 Regular tier lifts it to 12 codes with unlimited scans |
| QR.io | None: trial, then paid | Not applicable | Dynamic codes stop redirecting when the trial ends |
| Bitly | A small monthly allowance of codes | Not stated as a cap; the free plan shows no scan analytics | Dynamic codes stop redirecting after a paid subscription lapses |
Common questions
- My QR code worked last month and now opens an error page. What happened?
-
Almost always one of the three failures above: a trial ended, a monthly scan cap was reached, or a subscription lapsed. Decode the code with the URL checker to see whose domain it points at, then read that provider's pricing page for its trial, limit and pause terms. If the code points straight at your own page, the code is static and the page itself is what broke.
- If I upgrade or pay again, does the printed code start working again?
-
Usually, yes: on a lapsed subscription or an exhausted monthly cap, paying or waiting for the month to roll over restores the redirect, because the printed pattern never changed. The provider's pricing page will confirm it. If the provider has shut down, nothing restores it and the answer is a reprint.
- Does a TangoQR code stop working if I cancel Pro?
-
No. Cancelling reverts the dashboard to free-plan behaviour, so editing and detailed analytics lock on codes past their first 50 scans, but every code keeps redirecting to the last destination you set and keeps counting scans. The redirect never depends on payment.
- Is a static code safer, since it cannot be switched off?
-
It cannot be switched off, and it cannot be changed or counted either. A static code is the right choice for a link that will genuinely never move. For anything printed on a surface that outlives the link, the risk you are actually choosing between is a provider switching the code off versus you being unable to fix it, and a dynamic provider that promises not to switch codes off removes the first risk without adding the second.
- How can I tell whether a code is static or dynamic without scanning it?
-
Decode it with the QR code URL checker. If the URL inside is your real destination, it is static. If it is a short link on another domain, it is dynamic, and that domain is the provider whose terms decide what happens to it.
Sources
- QRCodeChimp pricing, free-tier scan limit and pause behaviour (checked 17 August 2026)
- QR TIGER pricing, free-plan dynamic code and scan allowance (checked 17 August 2026)
- QR.io pricing and trial terms
- Bitly pricing, plans and what the free tier includes (checked 17 August 2026)
- Bitly: what the free plan includes (checked 17 August 2026)
- RFC 9110, HTTP Semantics: 302 Found, the response a working dynamic code returns