Can I Make a QR Code That Expires After a Certain Date?
Yes, but only a dynamic QR code can have an expiration date. Set a schedule, swap the destination, or expire the landing page itself.
Yes, you can make a QR code stop working after a set date, but only if it’s a dynamic QR code. A static code has the link printed into the pattern, so nothing can switch it off. A dynamic code points to a redirect server, and that server can be told to stop sending people to your page on a chosen QR code expiration date.
Why a static QR code can’t expire
A static QR code can’t expire because the destination is stored in the squares themselves. Scandit’s QR code guide puts it plainly: once a static code is printed or distributed, the encoded data is permanent, and a changed URL needs a new code.
That means you can’t add an end date to a code you made with a free static generator. What you can still control is the page it opens. If you own that page, you can retire it on the day the offer ends, which is the third method below.
A dynamic code works differently. It encodes a short link that resolves to a redirect service, and the service decides where each scan goes. If you’re not sure which kind you already printed, our guide on how to tell if a QR code is static or dynamic walks through four quick checks.
Three ways to give a QR code an expiration date
There are three practical ways to make a code expire, and they differ mostly in what the person scanning sees afterwards. Choose by what you want that person to see.
| Method | Works with | What scanners see after the date | Automatic? |
|---|---|---|---|
| Built-in schedule in the generator | Dynamic codes, on tools that offer it | Usually a short “no longer active” message | Yes |
| Swap the destination yourself | Any dynamic code | Any page you choose, such as an “offer ended” page | No, someone has to do it |
| Expire the landing page | Static or dynamic | Your own expired-offer page, ideally with a link to current offers | Depends on your website |
Method 1: use a built-in expiry or schedule setting
A built-in schedule is the hands-off option: you set an end date once and the generator stops redirecting on its own. As of November 2026, Scanova’s scheduling docs describe two separate rules, an Activation Rule and a Deactivation Rule, and you can set either one alone. Many other dynamic generators put a start and end date in an advanced “Schedule” section.
The typical setup looks like this:
- Open the dynamic code’s settings and find the schedule or expiry option.
- Pick the end date and time.
- Check the time zone field before you save.
- Add a custom message for people who scan after the deadline, if the tool allows one.
- Save, then confirm the code shows a “scheduled” status.
Some tools can also expire a code by number of scans. As of November 2026, QR TIGER’s help center lists expiry by date, by number of scans, or by IP address, and notes the feature needs an Advanced plan or higher.
Method 2: swap the destination on the end date
Swapping the destination means you edit the dynamic code on the deadline and point it at a different page. It works with any dynamic code, even on tools with no scheduling feature, but a person has to remember to do it.
In QRAnalytica, for example, you can change a dynamic code’s target URL at any time without reprinting, so on the end date you point it at an “offer ended” page. The full process is in our guide to changing where a QR code goes after printing. I’d put the swap in a shared calendar with a named owner, because “someone will do it” usually means nobody does.
Method 3: expire the landing page itself
Expiring the landing page means the QR code keeps working, but the page it opens now says the offer is over. This is the only method that works for a static code, and it gives you full control of the message.
MDN’s page on the HTTP 410 Gone status uses almost exactly this case as its example: a request for a summer promotion page returns 410 with a short “Promotion expired” note and a link to current offers. MDN adds that 410 means the page is likely gone for good, and that a 404 is the better choice if you aren’t sure the removal is permanent.
What people see when a QR code expires
What scanners see after the date is the part most vendor guides skip, and it matters more than the setting itself. A built-in schedule often shows plain text. The same scheduling docs say the after-expiry message is informational text and doesn’t redirect anywhere, with a default along the lines of “This QR Code is no longer active”.
That’s fine for a one-off event. For a menu, a poster on a busy street, or packaging that sits in homes for months, it wastes the scan. The person is still interested, and a bare message gives them nowhere to go.
With methods two and three you choose the page. A good expired page:
- Says clearly that the offer or event has ended, and when.
- Links to what’s current: this month’s offer, the next event, or your homepage.
- Uses your normal branding, so people know they landed in the right place.
Common mistakes with QR code end dates
Most mistakes come from settings that don’t behave the way people expect. Check these before you print.
- Wrong time zone. One scheduling tool’s picker defaults to your browser’s local time zone. If you set the code from one country for a campaign in another, it can switch off hours early or late.
- Picking a past date by accident. In that same tool, the deactivation date picker doesn’t block past dates, and saving one expires the code immediately.
- Misreading scan-count limits. One scan-limit feature counts cumulatively. A code capped at 1,000 scans needs the limit raised to 2,000 to allow another 1,000.
- Expiring something that stays in print. If the code is on a menu or a product box, a hard stop frustrates real customers. Send them to a current page instead.
How to extend or reuse an expired code
A dynamic code can almost always be brought back, because the printed pattern never changed. You edit or remove the end date, or point the code at a new campaign page. Our post on whether QR codes get reused covers what happens to old codes and links over time.
My take: expire the offer, not the code
For most print campaigns, method two or three beats a hard expiry. A scheduled shutdown makes sense for a ticket, a time-boxed giveaway or anything that must stop for legal or stock reasons. For flyers, posters, menus and packaging, a code that lands on a friendly “this ended, here’s what’s on now” page keeps the traffic you paid for.
The limitation
Every expiry method depends on something you don’t fully control. A built-in schedule needs the generator’s redirect server to stay up. The manual swap needs a person to act on the right day, and an expired landing page needs someone to maintain your website. QRAnalytica’s dynamic codes run through its redirect servers too. That’s what makes editing and scan counts possible, and it’s a dependency you accept with any dynamic code.
If you’re planning a time-limited promotion, our list of QR code campaign examples shows what different campaigns measured, which helps you decide what the code should do once the deadline passes.
FAQ
Can a static QR code have an expiration date?
No. A static code stores the link in the printed pattern, and that data can’t change after it’s made. The only way to stop it is to take down or change the page it points to.
What do people see when they scan an expired QR code?
It depends on how you expired it. A built-in schedule usually shows a short message, a swapped destination shows whatever page you chose, and an expired landing page shows your own “offer ended” page.
Can I extend a QR code after it expires?
With a dynamic code, usually yes. You edit or remove the end date, or point the code at a new page. The printed code keeps working because the pattern never changed.
Can a QR code expire after a number of scans instead of a date?
Some generators offer a scan-count limit as well as a date. Check how the limit counts, because some tools count the total over the code’s life rather than a fresh batch each time you raise it.