Why your free QR code stopped working, and how to make one that never expires
A QR code that worked on the day you printed it and stopped a week or two later was almost certainly a dynamic QR code made on a free trial. A dynamic code does not hold your address. It holds a short link to the generator's own server, which forwards every scan to your page. When the trial ends, the server stops forwarding, and every code on your bags, menus and flyers stops working with it, until you pay. The code itself never expired: the service switched it off. A static QR code holds your address or details directly, needs no account and works for as long as the address does. Before you print, scan the code and check that the phone shows your own address.
Do QR codes expire?
No. A QR code is a picture of text, like a printed phone number, and nothing in the format has an end date. What can stop working is the address inside it. With a static code, that is your own address, so it keeps working while your page exists. With a dynamic code, it is an address owned by the company that made the code, and that company decides whether scans get through.
The generators say so themselves. The blog of one of the largest, QR Code Generator, explains that dynamic codes can become inactive when a free trial ends, a paid plan lapses or you reach a platform limit, while static codes need no subscription. Another, The QR Code Generator, writes in its help pages that when an account is cancelled or deleted, all its dynamic codes stop working, and that on its free plan, scans of the codes that stay active see an advertisement before they reach your page.
Static and dynamic QR codes: the difference
| Question | Static QR code | Dynamic QR code |
|---|---|---|
| What is in the code | Your address, Wi-Fi details, phone number or contact card | A short link to the generator's server |
| Does it expire? | Never. It works as long as your address works | It stops when the trial or subscription ends, a scan limit is reached or the service closes |
| Account or subscription | Not needed | Needed to keep it working |
| Change the address after printing | Not in the code itself, but you can if it points to a page on your own website (see below) | Yes, in the generator's dashboard, while you pay |
| Scan statistics | None | Yes, and the generator sees every scan of every customer too |
| Scanning speed | Straight to your page | Through the generator's server first, sometimes with an ad on the way |
How the free trial works
- You search for a
free QR code generator
, paste your link and download a code. Many sites make a dynamic code by default and do not say so on the first screen. - To download it, or to
save
it, you are asked to sign up. Some sites also ask for a card for a free trial. - The code works. You print it on bags, menus, stickers, business cards or a shop window.
- The trial ends, often after a few days or a couple of weeks. The server stops forwarding scans: customers see an error page, a notice that the code is inactive, or an offer to buy a plan.
- You get an email: pay, and the codes come back. If a card was entered, the trial may also turn into a paid plan, sometimes billed for a whole year.
The word free
on these sites usually means free to make the code, not free to keep it working. Before you print, read what the free plan includes and for how long.
How to tell if a QR code is static or dynamic
- Look at the address before you open it. Point your phone's camera at the code. The iPhone camera and most Android cameras show the address, or its domain, before you tap. If it shows your own website, the code is static. If it shows a short address of a QR company, the code is dynamic.
- Codes that are not links. A static Wi-Fi code makes the phone offer to join the network, a contact card offers to save the contact, and a phone code offers to call. If you asked for one of these and the phone shows a web address instead, the code is dynamic: the generator turned your details into a page on its own server.
- Words on the generator's site.
Dynamic
,editable
,trackable
,scan analytics
andfree trial
all point to a dynamic code. - Follow every redirect. Our Android app SafeScan QR shows the address in the code and follows the redirects to the final page before you open it, so you see both the generator's link and where it leads.
The same check protects you as a customer. Our guide to fake QR codes explains how scammers use codes that hide where they lead.
Your printed QR code stopped working: what to do
- Stop the charges first. If you entered a card, look in the account settings for the subscription, check when it renews and at what price, and cancel what you do not want. Check your card statement too.
- Work out what the printed stock is worth. If you have thousands of bags or boxes, paying for a month or two may cost less than reprinting. If you pay, choose a monthly plan, not a year up front, and use the time to move to a static code.
- Make a static code for the same purpose. Point it to your website, menu page, WhatsApp, Instagram or Google Maps listing, whichever the old code was for.
- Cover or replace the old codes. Stick the new code fully over the old one on stock you still use, with your business name next to it, so customers can see it belongs to you and not to a scammer. Do not leave the old code readable: the short link still belongs to the generator, which decides what your customers see when they scan it.
- Update every place the code appears. Menus, signs, business cards, product packaging, invoices and your social media profiles.
How to make a QR code that never expires
- Decide where the code should lead. Your website or a page on it, a menu, a WhatsApp chat (
https://wa.me/followed by your number in international format), your Google reviews link, a PDF on your own site, Wi-Fi details, a phone number or a contact card. - Make a static code. Our QR code generator makes only static codes: free, with no sign-up and no trial, and nothing you type leaves your device.
- Scan it before you print. Check that the phone shows your own address or offers the right action, and that the page opens.
- Print it well. Dark on a light background, at least 2 cm (about 0.8 inches) wide, with an empty margin around it. Download the SVG for print.
Want to change where the code leads later, without a subscription?
This is the main reason people pick dynamic codes, and you can have it without one. Point a static code to an address on your own website, such as https://your-business.com/menu, and never to a file or page that may move. When the menu changes, update that page, or set a redirect on your own site. The printed code stays the same, and the redirect belongs to you, not to a QR company. If you have no website, link to something stable that you control, such as your WhatsApp number or your Google Business Profile.
Avoid a link shortener for printed codes as well: it is a dynamic code by another name, and it works only while that service keeps your link.
Questions and answers
Why did my QR code stop working?
If it worked and then stopped without anyone changing it, the most likely cause is a dynamic code whose free trial or subscription ended. Other causes: the page it leads to was moved or deleted, or the print is damaged, too small or has no margin.
Do QR codes expire?
A QR code itself never expires. A dynamic code stops working when the company that runs its short link stops forwarding scans.
Can I get my old QR code working again?
Usually only by paying the company that made it, because the short link in the code belongs to that company. If you no longer want to pay, make a static code and replace the printed ones.
Is there a free QR code generator with no expiration?
Yes, any generator that makes static codes. Our QR code generator is free, needs no sign-up, makes only static codes and runs in your browser.
Can I change the link on a static QR code?
Not in the code itself. Point it to a page on your own website, and change or redirect that page instead.
Do I need scan statistics?
Most small businesses do not. If you do, the statistics of your own website show visits from the code if you add a marker to the address, such as ?source=bag, without a QR company in the middle.