A static QR code stores the content itself (your link, text or Wi-Fi details) inside the black-and-white pattern, so the code never expires. A dynamic QR code stores only a short redirect link run by a provider, so you can edit the destination and count scans — but the code stops working if the provider closes, changes its terms or your subscription ends.
So the honest answer to “do QR codes expire?” is: the QR code itself never does. What expires is the service or the web page behind it. Below: how each type works, a side-by-side comparison, how to check your own codes, and the setup most restaurants should use.
• Static = the data is inside the code. No expiry, no tracking, no middleman, but you cannot change what is encoded after printing.
• Dynamic = the code holds a short link to a provider’s server, which forwards guests to your page. Editable and trackable, but dependent on that provider.
• A QR code has no built-in expiry date. “Expired” codes are almost always dynamic codes whose subscription or free trial ended.
• Best of both: a static code pointing to a link you own (your domain or a menu page you can update). The code never changes; the content behind it can.
How a static QR code works
A QR code writes data as a grid of black and white squares called modules. With a static code, the data you type is written straight into the grid. Nothing else is involved.
Static: phone camera → reads https://yourrestaurant.co.uk/menu straight from the code → opens your page.
Because the content lives in the pattern, a static code works for as long as the print is readable and, for a link, the web page exists. Text, Contact card and Wi-Fi codes are decoded entirely on the phone, with no internet needed.
How a dynamic QR code works
A dynamic code adds a step in the middle. The provider gives you a short link on their domain, and that short link is what gets encoded. When someone scans it, the provider’s server looks up where you want guests to go, records the scan, and forwards the phone there with an HTTP redirect.
Dynamic: phone camera → reads https://short.example/a8Kx2 → provider’s server logs the scan and looks up the destination → redirects to your page.
That middle step makes dynamic codes editable and trackable. It is also a single point of failure: if the provider stops forwarding (unpaid subscription, limited free plan, company closed), every printed copy leads to an error page or an advert instead of your menu.
Static vs dynamic QR codes: side-by-side comparison
| Feature | Static QR code | Dynamic QR code |
|---|---|---|
| Editable after printing | No — the encoded content is fixed (but the page it links to can change) | Yes — change the destination in the provider’s dashboard |
| Scan tracking | None in the code itself (your website analytics can still count visits) | Yes — scans, time, rough location, device |
| Expiry risk | None for the code; only if your own link breaks | Stops working if the subscription, trial or provider ends |
| Typical cost | Free, one-off | Often a monthly or yearly subscription; “free” plans are commonly limited |
| Privacy | No third party sees the scan | The provider logs each scan (IP address, device, time) |
| Scan speed and density | Long content makes a denser code; a short URL keeps it simple | Always a short URL, so usually a low-density code |
| Dependence on a third party | None | Total — the provider sits between every scan and your page |
| Offline content (Wi-Fi, text, contact card) | Yes | Usually no — it must go through the web |
Do QR codes expire?
No. The QR code format, defined in ISO/IEC 18004 (current edition 2024), has no expiry date or “switch-off” field. A code printed in 2015 decodes exactly the same today.
When people say a QR code “expired”, one of these has usually happened:
- It was a dynamic code and the provider stopped redirecting it — the most common cause by far.
- The destination page was removed, for example a deleted PDF, an expired domain or a moved website.
- The print is damaged — faded, scratched, laminated with glare or covered by a sticker. Error correction helps, but only up to a point (see below).
The “free generator” trap
Many generators advertise themselves as free but quietly create dynamic codes on their own short link. It works on day one. Weeks or months later a trial ends or a scan limit is reached, and the code shows a “please upgrade” page or nothing at all — by which time it is on every table, menu and window sticker.
Your options are then to pay whatever the subscription now costs, or reprint everything. We cover this and other surprise charges in how much a digital QR menu really costs.
Before you print any QR code, check:
- Does the generator say clearly whether the code is static or dynamic?
- When you scan the test code, does it open your link, or a short link on someone else’s domain?
- If it is dynamic, what happens to the code if you cancel, and is that written in the terms?
How to check whether a QR code is static or dynamic
You can check any existing code in under a minute:
- Open your phone’s camera and point it at the code, but do not tap the link yet. Both iPhone and Android show a preview of the address first.
- Read the address in that preview.
- If it shows your own domain or the final page (for example
yourrestaurant.co.uk/menuor a Google Drive link), the code is static. - If it shows a short, unfamiliar domain with a random code at the end, and the page you end up on has a different address, it is almost certainly dynamic.
- If it shows your own domain or the final page (for example
- For Wi-Fi, text or contact codes: if the phone offers to join the network or save the contact without opening a web page, the code is static.
Found a dynamic code? Keep it running for now, make a static code for a link you control, and replace the old ones gradually.
When is each type the right choice?
Choose a static QR code when…
- The code goes on something permanent: tables, menus, window stickers, packaging, business cards.
- It holds Wi-Fi details, a contact card, a phone number or plain text.
- You want no running costs and no third party between your guests and your page.
Choose a dynamic QR code when…
- You run short marketing campaigns and need per-code scan statistics (for example one code per poster location).
- The destination genuinely must change and you have no website of your own to redirect from.
- You will pay the subscription for as long as the code is in print.
The best of both: a static code pointing to a link you control
Here is the key idea most guides skip: a static QR code cannot change, but the page it points to can. If the encoded link is one you own, you get the permanence of a static code and the flexibility of a dynamic one, with no middleman.
Two ways to do it:
- Your own domain with a redirect. Encode
yourrestaurant.co.uk/menuand point that address wherever you like. Change the redirect next season; the printed code stays the same. Our step-by-step guide to putting your menu PDF online with a permanent menu link shows exactly how, including simple scan counting with your own analytics. - A hosted menu link that never changes. With QR Dining your menu lives at a fixed link like
qrdining.com/menu/your-code. You edit dishes, prices, allergens and languages, and the changes are live instantly while the QR code never changes. You also get menu analytics (views, most-opened sections and dishes, languages, devices) without a redirect service in the middle.
Technical facts worth knowing
How much data can a QR code hold?
QR codes come in 40 sizes, called versions, from version 1 (21 × 21 modules) to version 40 (177 × 177 modules). At the largest size and lowest error correction, a code can hold up to 7,089 digits, 4,296 alphanumeric characters or 2,953 bytes. The more you put in, the denser the code, and dense codes need printing larger.
What is error correction?
Every QR code includes extra data that lets a phone rebuild it if part of the code is dirty, damaged or covered by a logo. There are four levels: Low (about 7% of the code can be restored), Medium (15%), Quartile (25%) and High (30%). Higher levels are more robust but denser. In our generator you’ll find this under Advanced → Error correction; Auto picks a sensible level for you, and choosing a higher level is wise if you add a logo.
Why short links scan better
A short link like yourrestaurant.co.uk/menu fits in a small, low-density code that phones read instantly, even when printed small. A long link full of tracking parameters creates a busy code that is harder to scan. That is one genuine advantage of dynamic codes — and you get the same benefit from a short link on your own domain. For print sizes and a scanning checklist, see what size a QR code should be.
Frequently asked questions
Do QR codes expire?
No, the QR code itself never expires. A static code works for as long as it is readable and its destination exists; a dynamic code stops working when the provider stops redirecting it, typically after a subscription or free trial ends.
Can I edit a static QR code after printing?
You can’t change what is encoded, but if the code points to a link you control, you can change the page behind it at any time. That is why a short, permanent link on your own domain or a hosted menu link is the best thing to encode.
Are free QR codes safe to print?
Free static codes are safe: there is nothing to expire. Be careful with “free” generators that create dynamic codes on their own short domain, because they can be limited or paywalled later. Scan the test code and check the address before printing.
Can you track scans with a static QR code?
Not in the code itself, but you can track visits to the page it opens. Use your website analytics, add a simple tag to your own link, or use a menu service such as QR Dining that shows menu views and most-opened dishes.
How can I tell if my QR code is dynamic?
Scan it with your phone camera and read the link preview before tapping. A short, unfamiliar third-party domain that then redirects to your page suggests a dynamic code; your own domain or the final page means it is static.
One QR code, printed once, that never expires
Make a free static QR code with our QR code generator, or let QR Dining host your mobile menu at a link that never changes. Update dishes, prices, allergens and languages instantly, with analytics included, for £89 a year and a 30-day money-back guarantee.
Get your QR Dining menu
