Blog QR codes

Do QR codes expire? Static vs dynamic codes

A static QR code never expires: the link is in the pattern itself. A dynamic code works only while the service behind it does. How to tell them apart.

A QR code itself does not expire: it is a pattern with no date and no clock inside it. What can stop working is what lies behind the code: the web page it opens, or the service that forwards the scan to that page.

Why do some QR codes expire and others not?

A static QR code holds the information itself. If you make a code for https://example.com/menu, those exact characters are written in the black and white squares. No company stands in the middle, so nobody can switch the code off.

A dynamic QR code holds a short address that belongs to the service that made it. When someone scans it, the phone first goes to that service, and the service sends it on to your page. This is what lets you change the destination later. It also means the code works only as long as the service keeps forwarding it.

QuestionStatic codeDynamic code
What the pattern holdsYour own link, text, contact or WiFi detailsA short address at the service that made it
Can it expire?NoYes, if the service stops forwarding it
Can you change where it leads after printing?NoYes
Is there a scan limit?NoIt depends on the service

Do free QR codes expire?

A free static code does not. Once made, it is only a picture: it no longer depends on the site that drew it.

A free dynamic code can. Some services offer a dynamic code free for a limited period and stop forwarding it when that period ends. Others limit the number of scans, or switch off the codes of a closed account. The rules differ and change, so read them on the service's own site before you print.

How do I know if my QR code is static or dynamic?

Scan it and read what the phone shows before you open anything.

  1. Point your phone's camera at the code. The phone shows a link to tap: the address it is about to open, or at least the name of the site.
  2. If that is your own site, the one you typed when you made the code, the code is static.
  3. If it is a short address on a site you do not know, and your page only appears after a jump, the code is dynamic. The name you saw first is the service your code depends on.

One more sign: if the phone offers to join a WiFi network or to add a contact without opening any web page, the information is in the code itself. It is static.

Which QR codes never expire?

Any static code, whatever tool made it: a code for a link, for plain text, for a contact (a vCard) or for a WiFi network.

A static code can still fail, but for ordinary reasons, not because of a date:

  • The page behind it is gone. The code still opens the address, but the address now gives an error.
  • The details changed. A WiFi code holds the password of the day it was made. Change the password and the old code no longer connects. A contact code keeps the old phone number.
  • The print is damaged. A QR code carries spare data, so it can still be read with some damage: up to about 30% at the highest of its four correction levels. A torn, faded or badly scratched code may not scan.

What about the QR code on a ticket or a payment screen?

That is a different case. The code on a train ticket, a concert ticket or a payment screen carries a number that the issuer checks in its own system. The issuer decides how long that number is accepted: often a short moment for a payment, until the day of the journey for a ticket.

Why did my QR code stop working?

Go through these in order.

  1. Does the camera see the code at all? If nothing appears on screen, the problem is the print: too small, too faded, too shiny, or with no white margin around it. If the original image file scans on a screen, reprint it.
  2. Does a link appear, but the page gives an error? Type your page's address by hand in a browser. If it fails there too, the page is the problem. Put it back, or redirect the old address to the new one, and the printed code works again.
  3. Does it open a page from a QR service saying the code is inactive, paused or over its limit? The code is dynamic and the service has stopped forwarding it. Sign in to that service to see why. If you cannot bring it back, the only fix is a new code and a reprint: the short address in the pattern belongs to that service, so a printed code cannot be moved to another one.

Should I print a static or a dynamic QR code?

Take a café that prints 500 flyers with a code that leads to its booking page.

If the code is static and holds https://example.com/book, the flyers work for as long as that page exists. If the café later moves the booking page, it can redirect the old address to the new one. Nothing needs reprinting.

If the code is dynamic, the café can change the destination without touching its own site, but the flyers work only while the QR service keeps forwarding it.

For something printed once and left for years, such as a sign, a label or packaging, a static code to an address you control is the safer choice.

Is there a free QR code that lasts forever?

Yes: any static one. The vCardGen QR code generator makes static codes for a link or a contact. It is free and needs no account. The codes have no scan limit and never expire, because the link or the contact is inside the code. Once printed, such a code cannot be changed.

If what people see must change after printing, the code has to lead to a page you can edit. That is how a vCardGen digital business card works: you sign in with a code sent by email, the QR code holds the address of your card page, and you edit the card whenever you like while the printed code stays the same. Such a code works for as long as the card and vCardGen are online, as with any editable code.

Keep reading