Free QR Gen LogoCreate a QR code

Why did my QR code stop working?

A QR code that worked last month and now shows an error page, an “expired” message or nothing at all is frustrating, especially when it is already printed on hundreds of menus, flyers or business cards. Here is how to work out why, how to fix it, and how to make sure it never happens again.

By Aidan Lowson · Updated

Check this first

Scan the code with your phone's camera and look closely at the link it shows before you tap it.

  • It shows your own web address, like yourcafe.com/menu. The code is fine. The problem is the page it points to, or the way the code is printed. Jump to the causes below.
  • It shows a short link on someone else's domain, usually the website you made the code on. You have a dynamic code, and the most likely cause is that the company behind it has switched the redirect off.
  • Nothing happens at all. The phone cannot read the code. That points to a printing or design problem.

Static vs dynamic QR codes

This is the single biggest reason QR codes "expire", and most people never know which kind they made.

Static QR codes

A static code stores your link directly in the pattern of squares. A phone reads it and goes straight to your page. Nothing sits in the middle, so there is nothing that can be switched off. A static code works for as long as the page it points to exists.

Dynamic QR codes

A dynamic code stores a short link that belongs to the QR code company. When someone scans it, they go to the company's server first, which then forwards them to your page. That lets you change the destination and count scans, but it also means your code only works while that company keeps forwarding.

Many QR code websites create dynamic codes by default, often on a free trial. When the trial ends or a subscription isn't renewed, the forwarding stops, and every printed code shows an error or an upgrade page instead of your content. How QR codes work explains the technology in more detail.

StaticDynamic
Can it expire?NoYes, if the service stops forwarding
Change the destination later?Change the page, not the codeYes, while subscribed
Scan countingThrough your own analyticsBuilt in
CostFreeUsually a monthly subscription

7 reasons a QR code stops working

1. A free trial or subscription ended

The most common cause for dynamic codes. The code itself is fine, but the redirect behind it has been turned off.

2. The page it points to moved or was deleted

A website redesign, a renamed page or a new menu PDF uploaded under a different name all break the link. File-sharing services often create a brand new link every time you upload a new version.

3. Sharing settings changed

Codes pointing to Google Drive, Dropbox or OneDrive files stop working for the public if the file is set back to private. Check the file is shared with "Anyone with the link".

4. The domain expired

If the website's domain name wasn't renewed, every link on it, and every QR code pointing to it, stops working at once.

5. It's printed too small or too low in contrast

A code should be at least a tenth of the distance it is scanned from, and never smaller than 2 x 2 cm. Pale colours, a light code on a dark background, glossy lamination and busy backgrounds can all stop phones reading it.

6. The margin was cropped or the logo is too big

Scanners need the empty border around the code to find it. A large logo can hide more of the code than error correction can recover. Keep logos to around 20% of the code's width and use High error correction.

7. It's damaged

Scratches, fading, creases and dirt build up on codes outdoors and on tables. Error correction can only fill in so much.

How to fix it

  • Dynamic code switched off: renewing with the original company is the only way to bring the printed codes back. If you would rather not pay, replace the codes with static ones.
  • Broken link: put the page back at the same address, or set up a redirect from the old address to the new one on your website. The printed codes will start working again straight away.
  • Printing or design problem: make a new code with dark-on-light colours, a smaller logo and High error correction, print it bigger on matt paper, and test it on an iPhone and an Android phone before printing the rest.

How to make a QR code that never expires

  1. Use a static code. Every code made with the Free QR Gen generator is static, with no sign-up, no trial and no expiry date.
  2. Point it at an address you control, like yoursite.com/menu, rather than a file-sharing link. You get the main benefit of a dynamic code, changing what people see, without paying anyone or depending on another company.
  3. Track scans yourself if you need to, by adding a tag such as ?utm_source=qr-poster to the link and checking your website analytics.
  4. Test before you print, at the final size, in the place it will be used.

Not every code needs a link either. WiFi, contact card and text QR codes store everything in the code itself, so they work even with no internet connection.

Frequently asked questions

Do QR codes expire?

A QR code itself cannot expire. It is just a pattern of squares. Static codes, which store your link directly, work forever. Dynamic codes store a short redirect link instead, and that redirect can be switched off when a free trial ends or a subscription lapses.

How do I know if my QR code is static or dynamic?

Scan it and look at the link your phone shows before you open it. If it is your own web address, the code is static. If it is a short link on the QR code company’s domain, the code is dynamic and depends on that company.

Can I fix a dynamic QR code that has been deactivated?

Only the company that made it can switch the redirect back on, usually by renewing the subscription. Otherwise, the printed codes need replacing. Make the replacements static so it cannot happen again.

Can I change where a static QR code points?

Not the code itself, but you can change the page it points to. Point the code at a page on your own website, such as yoursite.com/menu, and update that page whenever you like.

Are Free QR Gen codes static?

Yes. Every code is static: the link or details are stored in the code itself, with no redirect, no sign-up and no expiry date.

Make a free QR code that never expires →

QR Code is a registered trademark of DENSO WAVE INCORPORATED.