Skip to main contentSkip to templates
All articles
guides··9 min read

How to Make a QR Code That Never Expires (Free)

A static QR code never expires: your link is in the pattern itself. Why codes from "free" generators stop working after a trial, how to check whether a printed code is static or dynamic, and how to keep an editable link without a subscription.

tutorialstatic-qr-codesdynamic-qr-codesexpiryqr-codes
A dark green QR code on white next to the words: A QR code that never expires
Ozan Tunca
Ozan Tunca
Founder of Pretty QR, passionate about design and technology

A QR code never expires when it is static: your link is written into the pattern itself, so there is no server, account, or subscription that can switch it off. To make one, use a generator that creates static codes, such as the free Pretty QR editor, enter your link, and download the file. The codes that "expire" are dynamic codes. They hold a short link on the generator's server, and the generator stops forwarding scans when a trial or subscription ends.

The code still works as long as the page it points to works. That part is up to you.

What is the difference between a static and a dynamic QR code?

FeatureStatic QR codeDynamic QR code
What the pattern holdsYour link or textA short link on the generator's domain
Can it expire?NoYes, when the plan or trial ends
Change the destination after printing?Not in the code (see the redirect trick below)Yes, in the generator's dashboard
Scan statisticsNoYes
Account neededNo (on most generators)Yes
Typical costFreeMonthly or yearly subscription
Works if the generator closes downYesNo

A static code is the same idea as a printed web address. Nobody can turn off yourshop.com on a flyer. A dynamic code is closer to a phone number that forwards calls: useful, but only while the forwarding service runs.

Why do QR codes from "free" generators stop working?

Some generators offer a free start, but the codes they create in that start are dynamic. They work during the trial. When the trial ends, the generator deactivates the short link until you pay. The printed code then opens an error page or a page that asks the owner to subscribe.

The problem shows up late. A restaurant prints table cards in week one, the trial ends in week two, and nobody notices until a guest says the menu does not open. Reprinting costs more than the subscription would have, which is the point of the model.

The vendors say this in their own help pages. QR Code Generator (qr-code-generator.com, part of Bitly) gives dynamic codes with a 14-day trial, and its support page says that after the trial they "are deactivated and point to a service page". Uniqode's pricing FAQ says that after its 14-day trial, "any dynamic QR Codes you created will become inactive". QR.io's free option is a 7-day trial. In each case the static codes keep working; the dynamic ones are the problem. (Checked November 5, 2026.)

This is not a scam in itself. The terms usually say it. But the word "free" on the landing page and the word "trial" in the terms are often far apart.

How do I check if a QR code is static or dynamic?

You can check any printed code in under a minute:

  1. Open your phone camera and point it at the code. Do not tap the link yet.
  2. Read the link the phone shows. If it is your own website (for example yourshop.com/menu), the code is static.
  3. If it is a short link on a different domain, the code is dynamic. That domain belongs to the generator, and it decides whether the scan reaches you.

You can also check before you download: if the generator asks you to sign up before it shows the file, offers "scan tracking", or lets you "edit the link later", it makes dynamic codes.

How do I make a QR code that never expires in Pretty QR?

Pretty QR makes static codes only. Every code works with no account and no subscription.

  1. Open the editor at pretty-qr.com/design. No sign-up.
  2. Choose the content type: URL, plain text, Wi-Fi, vCard contact, email, or phone. Wi-Fi, vCard, text, email, and phone codes hold all of their data in the pattern. They do not even need a website.
  3. Enter your link. Use the final address, with https://. A short link from a link shortener makes the code depend on that shortener, so skip it.
  4. Style it if you like: colors, module and corner shapes, a logo, a frame with a call to action, or a heart or circle shape. Or start from a template.
  5. Scan it with two phones.
  6. Download PNG or JPG for screens, SVG for print. There is no watermark, and commercial use is allowed.

The code you download is the complete product. If Pretty QR closed tomorrow, the file on your disk and every printed copy would keep working. One exception: a Pro hosted-file code opens a photo or PDF stored on Pretty QR (pretty-qr.com/f/…), so it depends on that file staying online, the same as any page you link to.

Can I change where a static QR code goes after I print it?

Not by editing the code. The link is in the pattern, so a new link means a new pattern.

But you can get the same result with a redirect you control:

  1. Encode a link on your own domain that you reserve for the code, for example yourshop.com/qr/menu.
  2. On your website, set that path to redirect to the real page. Most website builders and hosts have a redirect setting (for example a "301 redirect" or "URL redirect" option).
  3. When the menu moves, change the redirect. The printed code stays the same.

This gives you the main benefit of a dynamic code, a destination you can change, with no QR subscription and no third-party domain. If you also want scan counts, add a UTM tag to the redirect target (?utm_source=qr&utm_medium=print) and read the visits in your normal web analytics.

When is a paid dynamic QR code the better choice?

Be honest about what static codes do not do. A paid dynamic service is worth it when:

  • You need scan statistics inside the QR tool: scans per day, city, or device, without your own analytics.
  • You print thousands of codes that each need a different, changeable destination, and you cannot manage redirects on your site.
  • Your team has no access to the website to set up redirects.

In those cases, choose the dynamic service on purpose, read what happens to the codes when you stop paying, and keep the subscription active for as long as the codes are in print. Our comparison of free QR code generators lists which tools make static and which make dynamic codes on their free plans.

What else can make a QR code stop working?

Expiry is one cause. These are the others, and none of them depend on the generator:

  • The page is gone. The site moved, the domain lapsed, or the page was deleted. Keep the domain renewed and use a redirect (above) when pages move.
  • The print is too small or low contrast. A code must be at least 2 cm wide, with dark modules on a light background. See our QR code design rules.
  • The quiet zone was cropped. Leave 4 modules of empty space around the code.
  • The surface is damaged. Scratches, folds, and glare on laminated menus. Higher error correction helps a little; a new print helps more.

Static code, your own link, your own domain: that combination does not expire. Make yours free in the editor, no account needed.

Questions? [email protected]

Frequently asked questions

Do QR codes expire?

A static QR code does not expire. Your link or text is stored in the pattern itself, so the code works for as long as the link works. A dynamic QR code can stop working: it holds a short link on the generator's server, and when the subscription or free trial ends, the generator can stop forwarding scans.

How do I make a QR code that never expires for free?

Use a generator that makes static codes and no account or trial is behind them. In Pretty QR, open the editor at pretty-qr.com/design, enter your link, style the code, and download PNG, JPG, or SVG. There is no sign-up, no watermark, and nothing to renew.

How can I tell if a QR code is static or dynamic?

Scan it with your phone camera and read the link the phone shows before you open it. If it shows your own website, the code is static. If it shows a short link on the generator's domain, the code is dynamic and depends on that service.

Why did my free QR code stop working?

Most often it was a dynamic code from a generator with a free trial. When the trial or subscription ended, the generator deactivated the short link, so scans land on an error or sales page. The other common cause is that the website the code points to moved or was taken down.

Can I change the link of a static QR code after printing?

Not in the code itself. But you can point the code at a link on your own domain, for example yourshop.com/menu, and change where that link redirects on your website at any time. You get an editable code with no QR subscription.

When should I use a dynamic QR code?

When you need scan counts by date, place, or device, or when you must change the destination often and cannot set up a redirect on your own website. Then pay for a dynamic QR service on purpose and keep the subscription active for as long as the codes are in print.