Understand which QR codes can stop working

The QR format itself never expires. When a printed code stops working, the cause is almost always a service sitting between the code and its destination, or a destination that has gone away.

Static and dynamic codes

Every QR code holds some text. The difference between the two kinds is what that text is.

Static: the data is in the code

A static code contains your actual content: https://yourcafe.com/menu, a Wi-Fi network and password, or a contact card. A phone reads it and acts on it directly. No server is involved in reading the code, so nothing can switch it off. If the content is a link, the only thing that can go wrong is the website it points to.

Dynamic: the code holds a redirect

A dynamic code contains a short link on a QR provider's domain, something like https://qr.provider.example/x7Gk. When someone scans it, the provider's server looks up where that short link should go and redirects them. That's genuinely useful: you can change the destination after printing, and the provider can count scans. But the code now works only while the provider keeps redirecting it for you, on whatever terms your account has.

Both are legitimate tools. The problem is when someone thinks they've made a permanent static code and has actually printed a redirect tied to a trial.

Where QR codes really “expire”

Trials, plans and scan limits

Many generators make dynamic codes by default, and the free tier comes with conditions. These are each provider's own published terms, as we read them in November 2026. Terms change, so check the current page before relying on them:

ProviderPublished condition on free or trial dynamic codes
QR Code Generator (Bitly)14-day trial before a paid plan; paid plans are subscriptions.
UniqodeDynamic codes from the 14-day trial become inactive afterwards; static codes keep working.
QRFY7-day trial; dynamic codes need a subscription to continue. Static codes are described as free and permanent.
QRStuffFree dynamic codes run for 30 days with a monthly scan allowance.
QRCodeChimpFree plan has a combined monthly scan limit; dynamic scans pause when it's reached.
QR TIGERFree dynamic codes have a per-code scan limit.
ME-QROn the free plan, people scanning can see a skippable ad after the first ten scans.
HovercodeThree free dynamic codes are permanent; paid codes beyond those pause if you cancel.

None of this is hidden; it's on their pricing pages. Several of these providers also make static codes and say plainly that those don't expire. The trouble is that a busy person making a code for a flyer doesn't always notice which kind they made.

Public reviews show what that looks like afterwards. One reviewer describes printed product codesredirecting to the provider unless they subscribed; another reports codesstopping after a seven-day period; a third describes printing 500 items beforefinding ads after ten scans. These are individual accounts. They don't show how often it happens, or that anyone acted in bad faith, and the providers' terms describe these conditions. They do show why it's worth knowing what you're printing.

Cancelled accounts and closed services

Even a paid dynamic code depends on the account staying active and the company staying in business. If either ends, every printed copy stops redirecting unless the provider has promised otherwise.

Dead destinations

Static codes can't be switched off, but what they point to can disappear. The common causes:

  • A website redesign moves the page and nobody adds a redirect from the old address.
  • The domain isn't renewed.
  • A shared file link (cloud drive, file transfer) is deleted, expires or has its permissions changed.
  • A menu PDF is replaced with a new file at a different address.
  • A Wi-Fi password is changed, or a phone number in a contact card goes out of use.

The fix is the same each time: point codes at addresses you control and intend to keep, and redirect old addresses on your own site when pages move.How to test codes, including over time.

How to tell what a code contains

Phone cameras usually show just a domain name in a small pop-up before opening a link, and it's easy to tap without reading. To see the real content, scan the code with ourQR code scanner. It reads the code in your browser, shows the exact raw data, and never opens the link automatically.

Then look at what you got:

  • Your own address, like https://yourcafe.com/menu: a static code. It works as long as your page does.
  • A short link on someone else's domain, often with a short random path like /x7Gk: a redirect. Find out who runs that domain and what your account terms say. Redirect domains used by QR providers include ones like qr1.at, qrgo.is andhov.to; general link shorteners work the same way.
  • Non-link data, like WIFI:, BEGIN:VCARD or MECARD:: the information is all in the code, with nothing online to expire.

Choosing the right kind

For anything printed in quantity or expected to last, such as packaging, signs, business cards and books, a static code pointing to your own address is the safest choice. If you need to change the destination later, change the page at that address. If you need scan analytics, your own website's analytics already count visits to that page; add a parameter like ?src=qr to tell them apart.

Dynamic codes earn their keep for campaigns where you need to swap destinations often or want scan-level data. We're buildingdynamic codes as a separate, clearly labelled paid service. Our static codes stay free and stay static;here's why they can't expire.

Questions

Is there an expiry date inside a QR code?

No. The QR format has no field for a date. A code is a pattern that holds data, and a phone reads that data the same way in ten years as today. Anything that “expires” is outside the code: a redirect service or the destination.

Will a Wi-Fi QR code stop working?

Only if the network changes. A Wi-Fi code contains the network name and password, so if you change the password or rename the network, print a new code.

Can I change where a static code points?

Not the code itself, but you can change what's at the address. Point the code at a page on your own site, such as yourdomain.com/menu, and update that page or add a redirect on your own site whenever you need to.

I printed a dynamic code from a service I no longer use. What can I do?

Scan it with our scanner to see the redirect address, then check with the provider whether it can be reactivated or exported. If not, the reliable fix is a new static code, printed as a sticker over the old one.