QR Code Free Forever QR Code Free Forever Create QR codes. 100% free. Forever. Make a QR code

Home · Guides

Static vs Dynamic QR Codes

The words make it sound like a feature comparison. It is closer to a question of ownership: whether the printed square points at your destination, or at a company that promises to keep pointing at it.

The actual difference

A static QR code contains your data. Encode https://example.com/menu and those 24 characters are physically present in the pattern of light and dark squares. Nothing is stored anywhere else. Photograph it, print it, carve it into wood: the destination travels with the image.

A dynamic QR code contains a short link to a redirect service — something like qr-provider.com/a7Kd9. Scanning it opens the provider's server, which looks up where that identifier currently points and forwards the phone there. Your destination is a database row, not part of the code.

That single structural difference generates every advantage and every failure mode on both sides.

Why dynamic codes expire

Since the printed square only contains the provider's short link, the code works exactly as long as three things remain true: the provider is still trading, your account is still current, and that identifier is still in their database.

This is why "your QR code has expired" is a real message people receive. The pattern of squares has not changed at all — it still encodes the same short link. What changed is the answer at the other end. A trial ended, a subscription lapsed, a limit on monthly scans was reached, or the service shut down.

A dynamic code on printed material is a recurring cost with no exit. Ten thousand printed menus, and the leverage is entirely with whoever holds the redirect.

Static codes cannot expire, because there is nothing to expire. They can still break — if the page they point to moves, the code points at a dead page — but that is a problem on your own server, and you control both ends.

What each one really costs

StaticDynamic
Where the data livesInside the imageIn the provider's database
Can it be changed after printingNoYes
Can it stop workingOnly if your page movesYes — account, billing or provider
Scan analyticsNone built inBuilt in
Ongoing costNoneSubscription, usually per code
Symbol sizeGrows with the URLAlways small — short link
PrivacyNothing is loggedEvery scan is logged by a third party
Works offlineThe code does; the page may notNeeds the provider reachable

Two rows deserve elaboration.

Symbol size. This is the one honest technical advantage of dynamic codes. A five-character short link produces a tiny, coarse, extremely robust symbol regardless of how monstrous the real destination URL is. If you genuinely need a 12 mm code on a small label, that matters.

Privacy. Every scan of a dynamic code is an HTTP request to a third party, carrying an IP address, a timestamp, a user agent and often a referrer. If the code is on a medical form, a legal notice or anything to do with children, that is a data-protection question and not a marketing one.

The middle path

Most people who reach for a dynamic code want one of two things: the ability to change the destination later, or scan counts. Both are available without handing the code to a third party.

To change the destination later: encode a static code that points at a short path on your own domain — example.com/m — and make that path a redirect you control. Change the redirect whenever you like. The printed code never changes, nothing expires, and there is no subscription, because you already own the domain.

# Netlify _redirects
/m   https://example.com/menu/spring-2026   302

# Apache .htaccess
Redirect 302 /m https://example.com/menu/spring-2026

Use a 302 rather than a 301, so browsers do not cache the old destination permanently.

For scan counts: the redirect is a request in your own server logs. Any analytics you already run will count it. You get the number without the dependency.

The one thing this does not give you is a dashboard someone else maintains. For most people that is the entire honest value of a dynamic QR service — and it is worth deciding whether it is worth an indefinite subscription and a single point of failure on printed material.

Which to use

Every code this site generates is static and is created in your browser — nothing is uploaded, nothing is stored, and there is nothing to lapse. If you want to see what is actually inside one, the anatomy of a QR code takes a symbol apart region by region.

Written by Manuel Llovet, who builds and maintains QR Code Free Forever. Published 2026-08-31, last checked 2026-09-08. Figures and measurements on this page were produced for this site; the method is described in each caption.

Make this code now

Free, no sign-up, and it never expires. Everything runs in your browser.

Open the generator

Keep reading