Why some QR codes stop working
The QR code itself does not expire. What expires is the promise behind it.
A dynamic QR code stores a short link on the provider's server. The printed pattern points at that link, the server redirects to your real destination, and the provider can count scans, change the target — or switch it off. Free plans often expire after a trial, cap the number of scans, or deactivate the code when the subscription lapses. The sticker on the wall still scans; the page behind it is gone, so the guest sees an error.
A static QR code stores the actual data in the pattern. There is no link, no redirect and no account keeping it alive. That is the kind you want for a WiFi network.
What "static" means for a WiFi code
A WiFi QR code contains a short payload with the network name, the password and the security type. The scanner reads those characters directly from the pattern, then offers to join the network.
- No request goes to a server, so there is nothing to expire or rate-limit.
- It works offline: the phone only needs the camera and the printed code.
- It works the same in five years, as long as the network details are unchanged.
- There is no scan counter and no analytics attached — the trade-off for permanence.
How to make a code that never expires
Use a generator that exports the static payload as an image, not one that hands you a hosted link.
- Open the WiFi QR code generator and enter the guest network name, the password exactly as typed, and the security type.
- Test the code with two phones before printing — one iPhone and one Android if possible.
- Download the PNG and keep the file next to the network documentation.
- Print it on paper or card; avoid putting a URL shortener or a dynamic-code wrapper around a WiFi payload.
What can still go wrong (and is not expiration)
People often blame "expired QR codes" for problems that come from the network or the print:
- The WiFi password changed. The code is still valid, but the credentials inside it are not. Regenerate and reprint.
- The network was renamed or replaced. Same fix: generate a new code for the new SSID.
- The print is too small or low-contrast. A code scanned from two metres needs to be roughly one-tenth of that distance wide.
- The sticker is damaged or behind glass with reflections. Replace it; a crease through the pattern can make it unreadable.
When a dynamic code is the right choice
Dynamic codes earn their keep when the destination has to change without reprinting: a menu, a campaign landing page, a seasonal offer. The provider hosts the redirect, so you can repoint it later.
A WiFi code has no such need. The network name and password are the destination, and they only change when you change the network. Static is simpler, free forever, and has no third party in the middle.
Checklist before you print
- SSID matches exactly, including capital letters and spaces.
- Password is typed exactly; test it once by joining manually.
- Security type is correct (WPA2/WPA3, WEP only for ancient hardware, or open for a guest network with no password).
- You are using the guest network, not the one that runs the till or the door locks.
- The code is at least one-tenth of the intended scanning distance wide, with a quiet white border.
- A second copy of the PNG is saved somewhere you will find it after a laptop replacement.
Frequently asked
Do QR codes expire?
The pattern does not expire. A dynamic QR code can stop working when the provider deactivates the redirect, the free plan ends or a scan limit is reached. A static QR code has no redirect, so it keeps working as long as the data inside it is still correct.
Why did my old QR code stop working?
Most likely it was a dynamic code whose redirect was switched off, or the WiFi password changed. Check whether the code contains a short link or the WiFi payload; if it is a link, the provider is in control, not you.
Is a static WiFi QR code really free?
Yes. You generate the image once and own the file. There is no account, no scan limit and no renewal.
What if I change the WiFi password later?
Generate a new code and replace the printed copies. The old code is not expired; it simply contains the old password.