Skip to content

Guide

Do QR Codes Expire? What Actually Stops One From Working

A QR code is not a coupon and does not run out. The pattern printed on your poster will still be readable in ten years, because it is a way of writing text down, not a subscription. What can stop working is everything the code depends on: the page it points at, the redirect that forwards it, the account that owns that redirect. Those are the four ways a printed code dies, and only one of them is anybody selling you something.

The pattern itself has no expiry date

A QR code is a way of writing characters as black and white squares. A scanner reads the squares and gets the characters back. There is no date field in the specification, no clock, no counter of how many times it has been read.

This means a printed code cannot expire in the way people usually fear. It is not deactivated remotely, it does not stop after a number of scans, and it does not need renewing. A code printed on a wall in 2015 and never touched since will still decode to exactly the characters it was made from.

So when someone says their QR code expired, something else broke. It is worth knowing which, because the four causes have completely different fixes and only one of them is preventable after printing.

The four things that actually break

Every dead printed code comes down to one of these. The pattern is fine in all four cases — a scanner still reads it perfectly and hands the phone an address that no longer leads anywhere useful.

  • The destination moved or was deleted. The page was reorganised, the file share expired, the campaign landing page came down when the campaign ended. Most common by a wide margin.
  • The redirect was switched off. A dynamic code depends on a service forwarding the scan; if that account lapses, is closed, or hits a limit on a free plan, the forwarding stops and every printed copy fails at once.
  • The destination needs a login the scanner does not have. A page that works for you because your browser is signed in, and for nobody else. This one is invisible in testing and obvious to every customer.
  • The code was never readable in the first place. Printed too small, too little contrast, no quiet zone, stretched from a low-resolution image. It did not stop working; it never worked, and the first person to try it was a customer.

What "expires" on a static code

A static code carries the destination inside the pattern. There is no service in the middle, so there is nothing to lapse — which is genuinely the strongest argument for static codes and worth stating plainly.

What can still fail is the address itself. If it points at a page that gets moved, a domain that is not renewed, or a file link that stops resolving, the code carries a dead address forever and no dashboard anywhere can help. The code did not expire; the internet moved underneath it.

This is why the domain matters more than the tool. An address on your own domain can be redirected server-side long after printing, so even a static code stays repointable. An address on somebody else's shortener or file host expires exactly when they decide it does.

What "expires" on a dynamic code

A dynamic code carries a short redirect address, and the redirect is a live service. That dependency is the price of being able to change the destination after print, and it should be understood as a dependency rather than discovered as a surprise.

Three things end a redirect: the account is closed, the plan lapses in a way that disables forwarding, or the provider shuts down. All three fail the same way — every printed copy of that code stops working on the same day, which is a worse failure mode than one dead page, because it is your whole run at once.

The mitigation is not to avoid dynamic codes; it is to know who owns the account and to keep the destination on a domain you control, so a provider change is a migration rather than a reprint.

The free generator problem

Search for a QR generator and most results give you a dynamic code without saying so. Dynamic is the paid product, so the free version is frequently a trial: the code works for a week or fourteen days, and then the redirect becomes an upgrade page.

People print those. The code is tested, it works, it goes on ten thousand flyers, and the failure arrives after the material is distributed and the tab is closed. This is the single most common form of the "my QR code expired" complaint, and it is not an expiry — it is a redirect that was always going to be withdrawn.

The check takes one minute before printing: read what the scan shows. If the preview is your own address, the code is static and nothing can be withdrawn. If it is a short address on a domain you do not recognise, find out whose it is and what happens to it when you do not pay.

Making a printed code outlive the campaign

None of this requires a different kind of code. It requires deciding, before the artwork is approved, what the code depends on and who is responsible for keeping that alive.

  • Point at a domain you control, whether the code is static or dynamic. It is the only decision that stays reversible after printing.
  • Confirm what you have before the run: scan it and read the address the phone shows, rather than trusting the label on the generator.
  • If it is dynamic, know which account owns the redirect and make sure it is not one person's personal login.
  • Keep the destination page alive rather than replacing it. A page that stays put with new content is a redirect by other means.
  • Open the destination on a phone, on mobile data, in a private window, so a login you forgot you had does not hide a page nobody else can reach.
  • Print it large enough with a real quiet zone, from a vector file, and scan a physical proof. A code that never worked looks exactly like a code that expired.
  • Write down the date the campaign ends and what the code should point at afterwards. Most dead codes are simply pages nobody was asked to keep.

About the author

Andrii Petlovanyi

Builds Mosaqo across web, iOS and Android.

FAQ

Frequently asked questions

Do QR codes expire after a certain time?

No. The printed pattern is a way of writing text down and has no time limit, no scan limit and no renewal. If a code stops working, its destination moved, its redirect was switched off, or it was never readable at the size it was printed.

Do free QR codes expire?

The code does not, but the redirect behind a free dynamic code very often does. Many free generators hand out a trial redirect that stops forwarding after a week or two and then shows an upgrade page. A static code from the same tools has nothing to withdraw and keeps working.

How long does a printed QR code last?

As long as the destination and the ink. The pattern stays readable indefinitely if it survives physically, so the practical lifespan is set by whether the page it opens is still there — and by sunlight, abrasion and lamination on the material itself.

What happens to my codes if I stop paying?

That depends entirely on the provider, and it is the question to ask before printing rather than after. Static codes are unaffected because nothing sits in the middle. Dynamic codes stop when the redirect stops, so ask what happens on downgrade, on non-payment and on account closure, and keep the destination on your own domain so you can repoint it elsewhere.

NEXT STEP

READY FOR YOUR FIRST QR?

Create a QR code and test it before print

The first Mosaqo release is free and requires no payment card.

Start free