Back to Journal

April 20, 2026 · 5 min read

Static or dynamic: choosing the right QR code.

A static code is an artifact. A dynamic code is an instrument. Which one your project needs depends on whether the destination is meant to hold still.

Every QR code is a promise. Point a phone at the square, get somewhere useful. The moment that promise breaks — a dead link on a printed poster, a redirect to a competitor after a rebrand — the artifact becomes noise.

There are two architectures for keeping that promise. One encodes the destination directly into the geometry. The other encodes a pointer to a destination you can edit later. Picking the wrong one is a common, expensive mistake. This piece is a short field guide.

What a static code actually is

A static QR code is a bitmap that literally contains the destination. The URL, the vCard, the Wi-Fi credential — encoded in the black and white squares themselves. Nothing on the internet needs to be alive for a static code to work. Scan it in a hundred years and, assuming the destination still exists, the phone resolves it directly.

Because the data lives in the code, static codes cannot be edited after they are printed. If the destination disappears, the code becomes a dead end. If the URL is long, the code gets dense and harder to scan at distance.

What a dynamic code actually is

A dynamic QR code encodes a short link on a routing server. When a phone scans it, the request hits that server, which looks up the current destination and redirects. The code never changes. The destination, rules, and targeting can all be edited after the fact.

This sounds like pure upside, but it adds a dependency. The routing service has to stay online forever for the codes it issued to keep working. Dynamic codes are also scannable events, which is exactly what you want for analytics and exactly what you want to disclose if you care about user privacy.

When a static code is the right call

  • Wi-Fi credentials.The SSID and password rarely change, and guests don't need to be tracked.
  • vCards. A contact card printed on the back of a business card is stable. Encoding it statically keeps the artifact self-sufficient.
  • Permanent plaques. Museum labels, architectural signage, monument installations — anything where the destination is an evergreen URL meant to outlast the company that made it.
  • Offline payloads. Plain text, geolocation, calendar events. The code is the payload.

When a dynamic code is the right call

  • Marketing campaigns. The destination rotates between landing pages; the poster stays up.
  • Print runs with unknown shelf life. You printed 10,000 menus and then your website moved. A static code would have orphaned the whole run.
  • Anything you want to measure. Scan counts, geography, time of day. Static codes cannot report these signals, because there is no server in the loop.
  • A/B tests and geo routing. Same code, different destinations by country, device, or split.

A heuristic

If the destination will never change and privacy is the point, use static. If the destination might change or the measurement matters, use dynamic. If you're not sure, dynamic is the reversible choice: you can always route a dynamic code to a static-style evergreen URL, but you cannot un-print a static code once the URL behind it is dead.

How Scanta handles both

Scanta generates both. Static codes are free and ship with vector exports. Dynamic codes are part of Pro, route through our infrastructure, and carry a privacy-respecting analytics layer that records aggregates rather than individuals. The code geometry itself never changes — only what it points to.

The point of the system is not to make QR codes flashier. It is to make the artifact outlast the campaign behind it.