QRCodeEngine

Do QR codes expire?

The short answer is no: the pattern of squares itself has no expiry date. A QR code is a way of writing text so a camera can read it, and text does not go off. A code printed in 2012 that contains a phone number still contains that phone number today, and a phone will still read it. The reason people ask the question, and the reason the answer is sometimes “yes”, is that most codes do not contain the thing you care about. They contain an address that leads to it, and addresses can stop working.

The code is not the destination

When you scan a code for a menu, the code does not contain the menu. It contains a web address, and your phone opens it. So there are two things that can fail, and only one of them is under the code’s control:

A code “expiring” almost always means the second thing happened. The code still says exactly what it always said. Nobody is home at that address any more.

Static codes: forever, for better and worse

A static code holds its content directly. If the content is a phone number, a WiFi password, a plain text message or a contact card, there is no destination to lose. The code works for as long as the paper lasts. If the content is a web address, the code works for as long as that page exists. That is your responsibility, not the code’s, and no generator can take it away from you or extend it for you.

This is also why a static code from any generator, including this one, cannot be switched off. There is no server in the loop. Once printed, the only way to retire it is to retire the paper.

Dynamic codes: the part that can expire

A dynamic code points to a short redirect link, and the redirect forwards the phone to your real destination. That indirection is what lets you change the destination after printing and count the scans. It also introduces a dependency: the redirect has to keep running.

With most QR services the redirect runs on a paid plan. When the trial ends or the subscription lapses, the redirect stops, and every printed code goes to an error page at once. Menus, posters and packaging all break on the same day. That is the “expired QR code” people have actually been burned by, and it is worth checking before you print anything at scale.

Ask two questions of any dynamic code service:

  1. What happens to the redirect if I stop paying? If the answer is that it stops, price in the years the print will be in the world, not the months.
  2. Can I take the destination with me? A redirect is only a URL you control if you own the domain it lives on.

QRCodeEngine dynamic codes redirect through qrcodeengine.app and are free, with no plan to lapse. A code you leave alone keeps forwarding. You can pause it yourself, and you can schedule a change of destination in advance, for example a menu that switches to the evening version at five o’clock. The honest caveat applies to us as to anyone: the redirect depends on this site existing. For anything that must outlive every company, print a static code to a domain you own.

Things that quietly expire around a code

A few destinations have their own clocks, whichever kind of code you use:

How to check an old code

Scan it. If your phone shows the content immediately, it is static and it is fine. If it opens a browser and lands on the right page, the redirect and the destination are both alive. If it lands on an error page, read the address bar: an error on the QR service’s domain means the redirect has stopped, and an error on your own domain means the page moved. Our QR code reader shows you the raw content of any code from a photo, which tells you at a glance whether you are looking at a direct address or a shortener.

The rule of thumb

The code lasts as long as the paper. The destination lasts as long as someone is paying attention to it. Before a large print run, make sure that someone is you.

Make a free QR code with QRCodeEngine — every format free, no signup, and every code checked before you download it.