A QR code that worked last month and shows an error today has not “expired” in any technical sense. Something behind it has changed. Here is how to find out what, and what to do.
First, decode it
Photograph the printed code and drop it into the decoder. Read the link.
- A short link on a domain that is not yours, such as a vendor’s redirect domain: this is a dynamic code and the redirect has stopped. Continue below.
- A long link to your own site: the code is static and fine. The page has moved or been deleted. Fix the page or set up a redirect on your own site.
- Nothing decodes: the code itself is damaged or was never sound. See QR code not scanning.
Do this
Decoded: a redirect link on the vendor's domain. Cause found in thirty seconds.
Not this
Reprinting the code from the original file without checking, so the new print fails the same way.
Why dynamic codes die
A dynamic code holds a link to a redirect service. The service looks up your destination and forwards the scanner. Three things kill it:
- Your subscription ended. Most vendors stop redirecting when a trial or plan lapses, sometimes within days. Some show an advert or an upgrade page instead of your content.
- The vendor changed its domain or shut down. Every code ever printed with the old domain dies.
- You deleted or paused the code in the dashboard.
Common mistake
Signing up for a free trial, printing a thousand menus with a dynamic code, and discovering after the trial that the codes now show the vendor’s upgrade page. Read the free-tier terms before you print; our comparison pages list them.
What you can recover
| Situation | Recovery |
|---|---|
| Plan lapsed, vendor still exists | Pay again; codes usually resume. Check for a grace period |
| Vendor changed domain | Ask if the old domain still redirects; usually not. Reprint |
| Vendor gone | Nothing. Reprint with a new code |
| Static link, page moved | Restore the page or add a redirect at the old address on your own site |
Preventing it next time
- Use static codes wherever the destination will not change. Wi-Fi, vCards, a permanent page.
- If dynamic, know the exit. Choose a service that publishes what happens when you stop paying, and prefer one that keeps printed codes redirecting.
- Own the redirect. For anything long-lived, use a short link on a domain you control, so you can move the redirect anywhere.
- Calendar the renewal. A dynamic code on a printed sign is a subscription with a physical consequence.
Do this
A menu code that is dynamic on a service that keeps redirecting after a lapse, with the renewal date in the diary.
Not this
A permanent sign carrying a dynamic code from a free trial.
Try it in QR Studio
QR Studio dynamic codes keep redirecting to their last destination even after a plan ends; editing needs Pro again. Any code can be duplicated as a static one, so nothing printed has to die.
Checklist
- Printed code decoded and the link read
- Cause identified: lapsed plan, vendor change, deleted code, or moved page
- Recovery attempted where possible
- Reprint planned with a static code or a redirect you control
- Renewal dates recorded for any remaining dynamic codes
Try it yourself
Photograph it and see where it was trying to go. The domain tells you who to call.