Static codes can’t expire
A static QR code stores its content in the pattern itself: the web address, the Wi‑Fi details, the phone number. When a phone scans it, the phone reads that content and acts on it. Nothing online is involved in reading the code, and the QR standard has no field for an expiry date, so there is nothing that could run out.
It also means the company that made the code can’t switch it off. If the generator you used closed tomorrow, a static code to your website would keep working, because your website is all it depends on. A static Wi‑Fi, contact or phone code depends on nothing but the print.
The link inside can die
Most codes hold a web address, and that address is where static codes usually fail. The code still scans; the page it opens shows an error. The common causes:
- the website was rebuilt and the page moved, say from
/menu.pdfto/menu, with no redirect from the old address; - the domain wasn’t renewed. Once it lapses anyone can register it, and your printed codes then send people to them;
- a shared file was deleted or moved, or its sharing was switched off;
- a social media account changed its name;
- a link shortener closed, or deleted links it decided were inactive;
- an event or campaign page was taken down when it ended;
- a marketplace listing was relisted under a new address.
The fixes are habits rather than technology: link to a page on your own domain, keep old addresses working after a redesign by redirecting them, set the domain to renew automatically, and scan your printed codes a few times a year.
Content that goes out of date
Some codes never break and still stop being useful, because what they hold has changed. A Wi‑Fi code stops joining the moment the password changes. A contact card keeps offering an old phone number after you move. A calendar code for last year’s open day still adds last year’s date. None of these expired: the content was simply printed, and the print can’t follow the change.
For anything likely to change, put the details on a web page and print a code to the page. Change the page, and every printed code shows the new details on the next scan.
Dynamic codes stop when the service does
A dynamic code holds a short link on the provider’s domain. Every scan goes to the provider first, which looks up your destination and forwards the visitor. That’s what lets you change the destination after printing, and it’s also why a dynamic code can stop. It stops when:
- the subscription ends, through cancelling or a failed payment;
- a free plan reaches its scan limit or its trial runs out;
- the provider suspends the account or closes down.
What people see when they scan after that depends on the provider: an error, a page asking the owner to reactivate, sometimes an advert. The printed code looks exactly the same, so the owner usually finds out from a customer.
The “free trial” trap
Some generators make dynamic codes by default without making it obvious, then switch them off when a trial ends unless you subscribe. The code looks no different from a static one, and the first sign of trouble is someone saying it’s broken, often weeks after the menus or flyers were printed.
Warning signs: the site wanted an account before it let you download, it talks about scan statistics or tracking, or it offers to let you change the link later. Any of those means the code runs through the company’s servers. Find out what happens when you stop paying before you print.
How to tell which kind you have
- Scan the code with a phone camera and read the address it shows before you tap. An iPhone shows the website’s name; Android phones and Google Lens show the link.
- If it shows your own address, or the code joins a Wi‑Fi network, adds a contact or dials a number, it’s static.
- If it shows the generator’s domain, or a short link you don’t recognise, and then lands on your page, it’s dynamic. It depends on that company.
Still unsure? Type the short address into a browser on a computer and look at the address bar once the page has loaded. If it has changed to a different address, the code redirects, and the redirect is the part that can expire.
Prints wear out too
A code can also stop scanning because the print has faded or worn. Dye-based inkjet ink can fade noticeably in direct sun within months, paper labels lift in the rain, and stickers on doors get scratched. Error correction helps with local damage: a code at level Q can rebuild about a quarter of itself. It can’t fix a code that has faded evenly all over, because then it’s the contrast that has gone. Outdoors, use laser or pigment-ink prints, laminate them or print on vinyl, and scan outdoor codes every few months.
Make it in QR Island
Every code you make for free in the QR Island studio is static and made in your browser, and it never expires: there is nothing to renew and nothing we could switch off. Keeping the address inside it working is up to you, and the habits above cover it.
If you need a web link you can change after printing, QR Island also sells Editable codes, our dynamic codes, for US$19 a year. One renews every year until you cancel, which you can do at any time from its manage link, and we email you about 30 days before each renewal. If you cancel or a payment fails, the code keeps forwarding to the end of the year you’ve paid for and then for a 14-day grace period. After that, scanning shows a page saying the code needs renewing, and starting a new yearly subscription switches the same printed code back on.



