How It WorksPublished Updated 7 min read

Do QR Codes Expire? | Static vs Dynamic QR Codes and Why They Stop Working

“How long will this QR code keep working?” is a question that can be surprisingly hard to answer. The short answer is that a QR code itself never expires. Expiry comes from QR codes that can be redirected later, or from the page they link to. This guide covers the difference between static and dynamic QR codes, the three ways a code “expires”, and what to do if you want to change the link after printing.

A QR code itself has no expiry date

A QR code is “text drawn as a picture”: a string converted into a pattern of black and white squares. When a camera reads it, the original string is rebuilt from that pattern, and if it is a URL the browser opens it. Nothing is fetched from a server to decode the code, so the picture itself can never become too old to use.

In other words, a QR code with a URL embedded directly will still scan successfully even if it was printed ten years ago. Whether the result is “page not found” is a question about the destination, not about the QR code. Keeping these two apart answers almost every question about expiry.

Static vs dynamic QR codes

Answers about expiry differ because there are two ways to make a QR code: a “static” code that embeds the destination URL itself, and a “dynamic” code that embeds a short relay URL which forwards visitors on. Both look like the same black and white squares, but they behave completely differently.

ItemStatic QRDynamic QR
What is embeddedThe destination URL itselfA short URL on the relay service
Changing the link afterwardsNot possible (make a new code)Possible
Counting scansNot possiblePossible
CostCompletely freeUsually a monthly fee or limited free use
ExpiryEffectively noneStops working when the plan or free tier ends
Density of the squaresLonger URLs mean finer squaresShort URL, so coarse and easy to read

Dynamic QR codes are handy because you can swap the destination after printing and count how many times they are scanned. Their weakness is dependence on the relay service: if the service shuts down or the free period ends, every printed code stops working at once.

  • Static is enough for things whose link will not change, such as one-off event notices, business cards and internal notices.
  • Dynamic suits things you may need to redirect later, such as posters that stay up for a long time, product packaging and signs.
  • If you want scan counts for measuring results, consider dynamic codes or the own-domain redirect described below.
  • The more copies you distribute, the more it costs to remake a static code you cannot fix later. Let the print run inform your choice too.

Three reasons a code “expires” and stops working

Situations where people say “the QR code has expired” fall into three causes. In none of them is the picture itself broken; the problem lies beyond it.

  1. 1

    The free trial ends

    Many services that let you create dynamic QR codes for free stop forwarding after a set period or number of scans. A typical sign is a landing page saying “this QR code has expired” when you scan it. Before printing, always check how long the free use lasts.

  2. 2

    The URL shortener shuts down or changes its rules

    This happens when a short URL is turned into a static QR code as it is. If the shortener shuts down, the forwarding target is lost: the code still works, but the destination has vanished. For long-lived printed material it is safer not to put a shortener in between.

  3. 3

    The destination page is deleted or its URL changes

    Campaign pages taken down, URLs changed by a site redesign, or an expired custom domain. In this case, either remake the QR code or set up a redirect from the old URL to the new one on the website.

Keeping the link changeable after printing

You can get the same “redirect later” ability as a dynamic QR code without a paid service: prepare one redirect URL on a domain you control and turn that URL into the QR code. The basic steps for creating a code are in how to make a QR code, and how to troubleshoot a printed code that will not scan is in what to do when a QR code won’t scan.

  1. 1

    Decide on the redirect URL

    For example, set up a short path such as /go/spring on your own site. That URL is the only thing you put in the QR code. Because it is short, the squares are coarse and the code holds up well in print.

  2. 2

    Set where it redirects to

    Use your server’s redirect settings, your CMS’s redirect feature, or a redirect rules file on a static site to send /go/spring to the real page. When you want to change the destination, edit only this setting.

  3. 3

    Create the QR code

    Enter the redirect URL, generate the QR code and save it at a size suitable for print. The QR Code Generator lets you choose a size from 128 to 1024 px and export it as PNG.

  4. 4

    Scan it on real devices before printing

    Do a test print on the actual paper at the actual size and check that it scans on both iPhone and Android. Also check at this stage that the redirect works and lands on the intended page.

  • Shorter redirect URLs are better. Long URLs make the squares finer, and accuracy drops when the code is printed small.
  • Visits can be counted in your site’s analytics, so you can measure scans yourself as well.
  • If you forget to renew the domain, this method stops redirecting too. For long-term displays, keeping track of the renewal date is a prerequisite.
  • If one sheet carries several QR codes, give each purpose its own redirect URL so you can tell which one people used.

FAQ

Do QR codes have an expiry date?
A static QR code with the URL embedded directly has no expiry. The code is a string turned into black and white squares, so it still scans no matter how much time passes. It only seems to expire when the plan for a dynamic QR code (one whose destination can be changed later) ends, or when the destination page is deleted.
Should I choose a dynamic or a static QR code?
Static is enough for business cards and event notices whose link will not change. It is free and never expires. Dynamic suits things you may need to redirect later, such as long-running posters and product packaging. Dynamic codes depend on a relay service, though, so make sure you can accept the risk of them all stopping at once if the service closes or the free tier ends.
What can I do if I want to change the destination after printing?
If you prepare a redirect URL on your own domain, you can change the destination just by editing that redirect. The key is to put only the redirect URL in the QR code. If you did not prepare this, you will need to set up a redirect from the old URL to the new one on the destination website, or remake the QR code.
Is it safe to use a free QR code generator?
If it only creates static QR codes, there is no problem. The generated image stays with you and cannot be disabled later for the service’s own reasons. The ones to watch for claim to be free but route scans through a relay service. These may limit the free period or number of scans, so check the terms before you print.

Tools in this article

Related articles