The question sounds simple, and the answer is a clean split: the QR codes you print yourself never expire, and the ones sold by subscription services absolutely can. Most confusion — and most dead codes on menus and business cards — comes from mixing the two up. Here's how each works, what kills a printed code, and how to make one that outlives your redesign.
Static QR codes — the kind our QR code generator makes — do not expire, ever. The data is encoded directly in the pattern of black and white modules. There's no server involved, no account, nothing to lapse. A static code printed in 1994 scans today, thirty years on, because the phone reads the ink, not a database.
Dynamic QR codes are a different animal dressed in the same squares. They encode a short redirect URL owned by a service — your code points to their server, which forwards to your destination. That indirection buys you editability and scan analytics, but it means the code works only as long as the service stays up and your subscription stays paid. When a vendor's marketing emails warn that "your QR codes are about to expire," this is the mechanism: the redirect dies, not the pattern. Free tiers are the classic trap — generate dynamic codes free, stop paying (or hit the scan cap), and every printed piece goes dark.
| Feature | Static | Dynamic |
|---|---|---|
| Where the data lives | In the printed pattern itself | On a redirect server; code stores a short URL |
| Can expire | No | Yes — if the service, plan, or domain dies |
| Editable after printing | No (reprint to change) | Yes (repoint the redirect) |
| Scan tracking & analytics | No | Yes (counts, time, rough location) |
| Works offline | Yes, for text/WiFi/vCard content | No — needs the redirect server online |
| Ongoing cost | None | Often subscription-based |
| Best for | WiFi, vCards, permanent links, anything printed in bulk | Campaigns you'll retarget, A/B tests, anything temporary |
The trade is dependency for flexibility. A restaurant WiFi code should be static — the password changes rarely and reprinting a table tent is cheap. A code on a cereal box pointing at a promotion that ends in March is a legitimate dynamic use case, as long as someone remembers to repoint it in April.
The pattern itself doesn't age — the failures are all around it. In practice, codes die for one of these reasons:
| Failure mode | Affects static? | Affects dynamic? |
|---|---|---|
| Target page moved or deleted (404) | Yes | Yes |
| Domain registration lapsed | Yes | Yes |
| Redirect service shut down or subscription lapsed | No | Yes |
| Short-link service went bankrupt (the bit-link graveyard) | Only if you encoded one | That's the whole design |
| Physical damage beyond error correction | Yes | Yes |
| Quiet zone (white border) cropped by a designer | Yes | Yes |
The most common killer is link rot, and it's fully in your control. The second — designer enthusiasm — is too: keep the quiet zone at least four modules wide, whatever the brand guidelines say.
QR codes carry Reed-Solomon error correction, which reconstructs missing or smudged modules from redundant data. You choose the level when generating, and the trade is straightforward: stronger correction means more redundancy and a denser pattern for the same content.
| Level | Restorable damage | Use when |
|---|---|---|
| L | ~7% | Clean environments, minimal data, smallest code |
| M | ~15% | Default for most uses; good balance |
| Q | ~25% | Codes that will get scuffed — packaging, outdoor |
| H | ~30% | Worst-case surfaces, or you're overlaying a logo on the center |
At level H, nearly a third of the code can be unreadable — torn, sun-bleached, drawn on by a toddler — and the scan still lands. This is also what makes the center-logo trick work: the middle of a code is its least critical spot, and error correction papering over a small logo is deliberate design, not luck. Keep the logo under roughly a quarter of the area and test on two phones before the print run. For codes destined for harsh treatment, generate at high correction with short content, and scan-test the actual printed piece rather than the screen preview — ink spread on cheap stock does things a monitor won't show you.
Print is permanent; the web isn't. The future-proofing is all about building slack into the destination:
URLs, WiFi credentials, contact cards, and plain text — free, no signup, PNG download, nothing to renew.
QR Code Generator →A QR code is a link in costume — scanning one can't install anything or execute code, but it can take you somewhere you didn't intend, and "quishing" (QR phishing) works exactly like email phishing: the sticker on the parking meter points at a payment page that isn't the city's. The defenses are the same instincts you already have. Let the camera's preview show the URL before you tap through, be suspicious of codes printed on stickers slapped over other prints, and don't enter payment details on a page a random code led you to — type the domain yourself. A QR code scanner that displays the decoded content before acting gives you that pause built in.
"Do QR codes expire?" is really two questions. The standard doesn't — QR is open, license-free, and read natively by every phone made in the last decade. The infrastructure around a code does: domains lapse, pages move, and dynamic redirects die with the subscriptions that feed them. Print static codes for anything permanent, point them at URLs you control, keep the quiet zone intact, and check the destination once a year. Do that, and the code outlasts the campaign, the redesign, and probably the printer.
Scanning works offline — the phone decodes the pattern locally. What happens next depends on the content: a URL needs a connection to load its destination, but plain text, WiFi credentials, and contact cards carry their payload entirely in the code and work with no network at all.
Not if it's static — the destination is physically encoded in the pattern, so changing it means reprinting. Dynamic codes encode a redirect URL you can repoint from a dashboard, which is why they exist: editability in exchange for ongoing dependency on the service that hosts the redirect.
The pattern itself is ink on a surface, so it lasts as long as the print does. QR is an open ISO standard (ISO/IEC 18004) with no licensing or expiration, and every modern phone camera reads it natively. A static code's practical lifespan is the lifespan of whatever it points to.
No. Denso Wave invented the code in 1994 and chose not to exercise its patent, and the technology is standardized as ISO/IEC 18004. Codes generated by free tools carry no royalties, subscriptions, or attribution requirements — anyone telling you a QR code needs renewing is selling dynamic redirect services.