Skip to content
OpenApps

Guides

Why "free" QR codes stop working, and how to make one that never expires

Many free QR generators make dynamic codes that stop working when a trial ends. Here is why, how to check yours, and how to make one that lasts.

A "free" QR code usually stops working because it was a dynamic code on a trial. The code does not hold your web address. It holds a short link on the generator's own site, and when the trial ends the generator switches that link off unless you subscribe, often for $10 to $35 a month, as reported in 2026. To make a QR code that never expires, either make a static code that holds your address directly, or make a dynamic code with a service that does not expire them, like Links.

Static and dynamic QR codes

A QR code is a piece of text drawn as squares. What that text is decides how long the code lasts.

A static code holds your full web address. Your phone reads it and opens the page. Nothing sits in between, so nobody can turn it off. The downsides: you can never change where it points, there is no count of scans, and a long address makes a dense code that is harder to scan when printed small.

A dynamic code holds a short link, and the short link redirects to your page. That is useful. You can change the destination after printing, the code stays simple and easy to scan, and you can count how often it is opened. The catch is that the code only works while the short link does. If the service turns it off, every printed copy stops working at once.

Many "free QR code generator" sites make dynamic codes by default, because a code that will stop working is a reason to pay.

How to check a QR code you already have

  1. Scan it with your phone's camera and look at the address it shows before opening it.
  2. If the address is on your own site, it is static. It keeps working as long as your page does.
  3. If the address is on the generator's domain, it is dynamic. Check that service's terms for what happens when a trial or plan ends.

If you have codes on menus, packaging or signs that depend on a trial, make replacements before the trial runs out.

Make a QR code that never expires, with Links

Links makes dynamic codes that do not expire. It is free, with no limit on links or QR codes, no ad page and no account.

  1. Open Links and paste the address the code should open.
  2. Pick an ending, like /autumn-menu, or let Links choose a short random one.
  3. Download the QR code as SVG for print or PNG for screens, in your color. Links refuses colors too light to scan.
  4. Save the private edit link. It lets you change where the code goes, turn it off, and see how often it was opened.

Later, when the menu changes, open the edit link and paste the new address. The printed code opens the new page.

Why trust that it will not expire?

Fair question. Every dynamic code depends on someone keeping the redirect running.

Links can be free because opening a short link costs almost nothing to serve: one tiny read, and OpenApps pays for it. There is no paid plan to push you toward. And Links is an OpenApp: its source code is public, and it can be handed to the community that uses it, so nobody, including us, can quietly turn it into a paid product later. More on that in why these apps are free.

If you want a code that depends on nobody at all, make a static one. Plenty of free tools make them, and as long as your page stays at the same address, the code keeps working.

Tips for printing QR codes

  • Test before you print. Scan the final file with two different phones.
  • Keep contrast high. A dark code on a light background scans best.
  • Leave a margin. Keep a clear border of empty space around the code.
  • Do not print it too small. A common rule of thumb is at least 2 cm (about 0.8 inches) wide for something held in the hand, and larger for posters read from a distance.
  • Say where it goes. A line like "Scan for the menu" tells people why to scan.

Moving off Bitly for your links and codes? See Bitly's free plan and the alternatives, or compare QR code generators directly.

Questions

Do QR codes expire?

A static QR code, which holds the web address itself, never expires. A dynamic QR code, which holds a short link, stops working if the service behind the short link turns it off. Many free generators make dynamic codes that stop working when a trial ends.

Why did my free QR code stop working?

Most likely it was a dynamic code from a generator with a free trial. The code points at the generator's short link, and the generator turned that link off when the trial ended. Scan it and check the address: if it is on the generator's domain, that is the cause.

Can I change where a QR code goes after printing it?

Only if it is a dynamic code. With OpenApps Links, open the link's private edit link and paste a new address. The printed QR code stays the same and opens the new page.

Are QR codes from Links free forever?

Yes. OpenApps Links has no paid plan and never expires a link. A Links QR code stops working only if its owner turns it off from the private edit link.

Should I use a static or a dynamic QR code?

Use a static code when the address will never change and you do not need to know how often it is scanned. Use a dynamic code, like one from OpenApps Links, when you might change the destination later or want a count of how often it is opened.