Skip to content
Back to Blog
Tutorials

Static vs Dynamic QR Codes — Why Yours Stops Working

Dynamic QR codes expire when their redirect service shuts down. Static QR codes never expire. Why the difference matters and how to choose.

9 min read

Static vs Dynamic QR Codes — Why Yours Stops Working

A real-estate agent prints 5,000 glossy flyers, each with a QR linking to the property listing. Six months later, leads dry up. The QR was generated on a free dynamic-QR service that quietly downgraded her plan. Every flyer in every mailbox now points to a 404. The listing is unchanged. The domain is unchanged. The phone number is unchanged. Only the third-party redirect, sitting between the QR and the destination, has died — and it took every printed asset with it.

This is the most expensive misunderstanding in QR-code marketing, and it is entirely avoidable.

The 30-Day Timer No One Warned You About

When a customer scans a QR, their camera decodes the modules into a string. If that string is your real URL — https://yourdomain.com/menu — the browser opens it directly. There is no middleman, no expiration, no failure mode beyond your own server.

If the string is a short URL — https://bit.ly/xyz — the camera hands it to the browser, the browser hits Bitly’s servers, and Bitly’s servers respond with an HTTP 301 to your real URL. The QR is a pointer to a pointer. That second pointer is a service you do not own.

Every dynamic-QR vendor charges a monthly fee per QR or per scan. The contract is implicit: as long as you pay, the redirect resolves. The day you stop paying — or the day they stop operating, get acquired, change pricing, or decide your usage looks like spam — the QR dies. Your printed asset becomes a coaster.

The end-user has no way to detect this. The QR still scans. It still produces a URL. The URL just no longer reaches your content. By the time you notice, the QR is on bottle labels, billboards, business cards, restaurant menus, real-estate signs, conference badges, and product packaging shipped to retail. Recall is impossible.

What’s Actually Inside a QR Code

A QR is a 2D matrix of black and white modules encoding bits, standardized as ISO/IEC 18004. The encoding is well-defined and open. There is no vendor lock-in at the format level — only at the content level.

Two ways to use it:

  • Static QR: the data — a URL, plain text, vCard, WiFi credentials, geo coordinates — is encoded directly in the modules. The modules are the destination. To change the destination you must regenerate and reprint. There is no third party, no subscription, no expiration. A static QR scanned in 1997 with a beta camera and scanned in 2046 with whatever has replaced phones will return the same string.

  • Dynamic QR: the modules encode a short URL like https://bit.ly/abc123. When scanned, the browser hits the short-URL service, which looks up the destination in its database and redirects. The destination can be changed without regenerating the QR — but only as long as the redirect service runs.

Encoding https://yourdomain.com/menu directly produces a denser QR (more modules, smaller squares, slightly harder to scan from a distance) but works forever. Encoding https://bit.ly/abc123 produces a smaller, cleaner QR but depends on Bitly being alive. The cosmetic difference is rarely worth the dependency.

You can generate either kind in seconds. The difference is what survives the next ten years. Use the QR Code Generator to encode your full URL directly — the data is embedded in the modules, with no service in between.

Why Companies Sell Dynamic QRs

Dynamic-QR vendors are not running a scam. The product has real value, and it is worth understanding what they sell before you decide whether you need it.

The pitch: edit the destination after print. Track scans by time, location, and device. A/B test landing pages. Pause a campaign without retiring physical assets. Change a menu URL when the restaurant rebrands. Fix a typo in a printed URL without reprinting 10,000 cards.

Some of this is genuinely useful. A marketing team running a six-week TV campaign with a QR overlay benefits from analytics: they want to know which spots drove scans, which regions converted, which creative pulled best. A product manager testing two versions of a landing page benefits from the redirect layer because it lets them split traffic.

The trap is paying that subscription forever for a QR that does not need any of those features. A restaurant menu QR does not need A/B testing. A business card does not need scan analytics — there is one customer, one card, no campaign. A real-estate sign needs to point to the listing for as long as the listing exists, which is months at most. None of these benefit from edit-after-print, and all of them suffer when the subscription ends.

The math: print 1,000 stickers at $0.10 each, total $100. Pay $25/month for the dynamic QR service. Twelve months in, you have spent $300 on the redirect — three times the print cost — and one missed payment kills all 1,000 stickers. A static QR encoded into the same stickers costs zero in recurring fees and never expires.

Failure Modes of Dynamic QRs

The risks are not theoretical. Here are the documented ways dynamic QRs die in production:

  • Bitly Pro 2018 sunset. Bitly retired its Pro custom-domain product and migrated customers to a different paid tier. Customers who did not migrate in time woke up to dead links across thousands of physical assets. Some never recovered the affected campaigns. This is the canonical case study in the dynamic-QR industry, and it has happened with smaller vendors several times since.

  • Subscription lapse. Your credit card on file expires while you are on vacation. The service sends three dunning emails to an address you do not check. After a 7-day grace period, the account is suspended. Every QR returns a 404 within 24 hours. Reactivating the subscription does not always restore the same short URLs — some vendors recycle them.

  • Domain expiry. Small QR-shortener vendors do not always renew their core domains on time. When the domain lapses, every QR using that-vendor.io/abc becomes a parking page or, worse, a malware lander purchased by a squatter. Your customers scan your QR and land on an ad for fake antivirus software.

  • Geo-blocking and rate-limiting. A vendor’s anti-abuse system flags scans from a country or carrier as bot-like and silently blocks them. Your QR works fine for you and your QA team and is dead for half your audience. You discover this from a single customer complaint weeks later.

  • Account ban. A TOS dispute, a hijacked email, an automated fraud detection false positive — any of these can close your account. Every QR linked to that account dies the same hour.

  • Acquisition or discontinuation. A startup gets acquired. Within twelve months the dynamic-QR product is shut down, customers are pushed to a successor product on different terms, and any QR they cannot or will not migrate is broken.

None of these are exotic edge cases. All of them have happened repeatedly across the last decade.

When Dynamic QR Is Actually Right

Dynamic QR is the correct choice in three narrow scenarios:

Time-bounded campaigns where analytics matter. A 30-day promotional poster series, a TV spot with a scan-to-enter sweepstakes, a conference booth with rotating offers. The campaign ends before the dependency risk compounds, and the analytics drive concrete optimization decisions.

A/B testing in flight. You print two batches of cards with different QRs and split traffic at the redirect layer to compare landing-page conversion. The experiment is short-lived and the redirect-layer flexibility is the entire point.

Content that must mutate by design. Event check-in URLs that expire. A daily-deal QR that points to a different offer each morning. Operational QRs in industrial settings (asset tags, equipment manuals) where the redirect target genuinely changes.

In all three, you accept the recurring fee and the service-dependency risk because the analytics or mutability outweighs them. For everything else — printed menus, business cards, real-estate signs, product packaging, conference badges, signage in physical retail — static QR wins.

How to Make a Static QR That Lasts Forever

The recipe is short:

  1. Encode the full URL directly. Do not use any third-party redirect. The string inside your QR should be the URL you want users to land on, with no intermediary.

  2. If you need a redirect for branding or trackability, own the redirect endpoint. A path on your own domain — yourdomain.com/go/menu — gives you full control of analytics and the ability to change destinations without depending on a vendor. You pay for your domain regardless; adding a redirect rule is free.

  3. Use error correction level H (~30% recovery capacity) for any QR that will be printed. Coffee stains, fold lines, pen marks, sun fading, and physical wear all eat into a QR’s readable area. Level H lets the QR survive significant damage. Level L is fine for screen display only.

  4. Keep the quiet zone — the 4-module margin around the QR — intact. Cropping it tight to fit a layout is the single most common cause of unscannable printed QRs. Every QR specification mandates the quiet zone for a reason: scanners use the contrast boundary to lock onto the symbol.

  5. Test on iOS Camera and Android Camera before printing. The two largest scanner populations on earth handle QRs slightly differently. A QR that scans on iOS may fail on Android if the contrast or quiet zone is marginal. Test both at the actual print size, from the actual scan distance.

  6. For very long URLs, shorten the URL itself before resorting to redirects. Drop UTM parameters from the printed version (track via your own server logs instead). Use a shorter path segment. Move query parameters to short server-side aliases. A 60-character URL produces a much cleaner static QR than a 200-character one — and is still permanent.

Generate the static QR with the QR Code Generator. The tool runs entirely in your browser — your URL never touches a server, the rendering is local, the output is a permanent SVG or PNG that encodes your data directly. There is no account, no subscription, no expiration. Print it once and it works for as long as your domain resolves.

Decision Matrix

ScenarioStatic QRDynamic QR
Restaurant menu (printed)Best fitRisky
Business cardBest fitAvoid
Real estate signBest fitAvoid
Conference badge (one-time)WorksWorks
Limited-time campaign posterOKBest fit
A/B testing analyticsBest fit
Long-lived product packagingBest fitAvoid
Ephemeral event check-inOKBest fit
WiFi credentials at venueBest fit
vCard contact shareBest fit

The pattern is clear. Anything physical, long-lived, or unattended belongs on a static QR. Anything campaign-driven and analytics-sensitive can justify the dynamic-QR subscription.

If you are unsure which side a project falls on, default to static. The downside of static is a reprint if the URL ever changes — usually a small, predictable cost. The downside of dynamic is every printed asset going dark on a vendor’s bad day, with no warning and no recovery path. Generate a permanent static QR with the QR Code Generator — your data is encoded directly into the modules in your browser, never uploaded, never expiring. For payloads that need encoding tweaks, the Base64 encoder handles binary-to-text transforms, and the URL encoder escapes query parameters cleanly so your QR target survives every scanner on the market.

Related Articles

View all articles