A QR code on a printed menu, product label, flyer, or business card can keep working for years - or stop being useful the moment a campaign page disappears. Whether QR codes expire depends less on the black-and-white pattern itself and more on the type of code you made, where it points, and whether the destination still works.

For most everyday projects, the goal is simple: make a code that scans quickly, sends people somewhere useful, and does not create a dead end six months later. That means choosing the right setup before you print 500 postcards or add a code to packaging.

Do QR codes expire?

A standard static QR code does not have an expiration date. The pattern stores information directly, such as a website address, plain text, phone number, email address, Wi-Fi details, or a payment instruction. As long as the code is clear enough to scan and the information inside it remains valid, it can work indefinitely.

The catch is the destination. A static QR code that contains a web address will still scan after years, but it cannot help if that web page has been deleted, the domain has expired, or the URL was typed incorrectly in the first place. The code survived. The experience did not.

Dynamic QR codes work differently. Instead of holding your final destination directly, they usually contain a short redirect address managed through a QR platform. That platform sends the scanner to the current destination. Because the redirect can be changed, dynamic codes are useful when a campaign, landing page, menu, or file may move later.

But a dynamic code can effectively expire if the service account is canceled, a free trial ends, scan limits are reached, or the provider removes access to the redirect. Some services keep codes active with limited features; others do not. Read the plan terms before using a dynamic code on anything expensive or long-lived.

Static vs. dynamic QR codes: choose based on the job

Static codes are the practical choice when the information is final and unlikely to change. A link to a permanent contact page, a fixed PDF, a Wi-Fi password for a small office, or a simple email address can be a good fit. There is no outside redirect service required to keep the code active.

The trade-off is that you cannot edit what is inside after printing it. If you change the URL, replace the document, or notice a typo, you need to create a new code and replace the old one wherever it appears.

Dynamic codes are better when flexibility matters. A restaurant may update a seasonal menu. A marketer may want to send the same QR code to a different campaign page next month. A creator may want to keep a printed portfolio card while changing the featured work behind it. Dynamic codes can also provide scan reporting, although that data depends on the provider and the plan you use.

The trade-off is dependence. You are relying on a service, its redirect infrastructure, and its account rules. For a short promotion, that may be completely reasonable. For product packaging expected to stay in circulation for years, a static code or a redirect URL you fully control may be safer.

What makes a QR code stop working?

Expiration is only one reason a QR code fails in the real world. More often, the problem is a bad destination, poor print quality, or a design that looks better than it scans.

A dead web page is the most common issue. This can happen after a site redesign, a campaign is unpublished, a cloud file is moved, or a social profile link changes. If a code leads to a temporary file-sharing URL, assume it needs regular checking.

Physical damage matters too. QR codes need enough contrast and a clean border around the pattern, known as a quiet zone, so a phone camera can recognize them. A code may struggle if it is printed too small, placed on a curved bottle, covered by glare, distorted during resizing, or printed in low contrast colors.

Over-customizing can also cause trouble. Adding a logo, rounded modules, gradients, or a decorative background is possible, but every visual change reduces margin for error. A simple code with a clear call to action often performs better than a highly styled one that only scans under perfect lighting.

Finally, the code may work technically but still fail the user. A QR code that opens a slow page, requires an unexpected login, downloads a huge file over cellular data, or gives no clear next step creates friction. Scanning is only the first step. The page after the scan has to earn the action.

Create QR codes that last

Start by deciding whether the destination is truly permanent. If it is, use a static code and point it to a stable URL you control. Avoid linking directly to a temporary campaign page, a short-lived upload, or a platform profile you may abandon later.

If the destination will change, use a dynamic setup only after checking what keeps it active. Look for ongoing costs, account requirements, redirect limits, ownership terms, and what happens if you stop paying. Do not assume that "dynamic" automatically means permanent.

A useful middle ground is a short, branded URL on a domain you manage. The QR code can point to that URL, while you update where the URL leads from your own site. This approach takes a little planning, but it gives you more control than tying a major printed asset to an unfamiliar third-party redirect.

When you build a code, keep the destination short and purposeful. Long URLs create denser patterns, which can become harder to scan at small sizes. Add campaign tracking parameters only when you need them and when the resulting code will still be large enough for the placement.

For campaign work, use a builder that lets you create a trackable destination, generate the QR code, and preview it before export. MikeSullyTools' UTM & QR Builder is designed for this kind of straightforward workflow: set the destination, add campaign details when needed, review the output, then export the asset you will actually use.

Test before you print or publish

Do not test a QR code only once on the phone that generated it. Scan it with at least two different phones, in normal lighting, from the approximate distance people will use. Test the printed version too. A code that scans from a laptop screen may fail after being compressed into a tiny sticker or printed on textured paper.

Check the full path after the scan. Does the page load quickly on mobile? Is the message clear without pinching and zooming? Can a person complete the next action, whether that is viewing a menu, downloading a document, booking a service, or filling out a short form?

For an outdoor poster, window sign, or trade-show banner, test at the real viewing distance. People will not walk across a parking lot to scan a code they cannot read. For a business card or product insert, test it at the actual finished size, not the enlarged version on your design canvas.

How to keep old QR codes useful

Treat QR codes like any other published business asset. Keep a simple record of where each one appears, what it links to, whether it is static or dynamic, and who controls the destination. This is especially helpful for small teams where campaigns, websites, and product materials change hands.

Review long-running codes periodically. Scan the code, check the landing page on mobile, and confirm that any forms, files, or offers still make sense. A quarterly check is enough for many businesses; high-volume campaigns may need closer monitoring.

If you find an old static code with a broken destination, you cannot edit the pattern. You can sometimes preserve the experience by restoring the old page or setting up a redirect at the original URL. If neither option is available, replace the printed item when practical and use a clearer, more durable link strategy next time.

A QR code does not need to be complicated to be dependable. Build it around a destination you can maintain, preview it in the format people will scan, and check it again after launch. That small bit of setup protects the work you put into every flyer, label, sign, and campaign.