Guide March 14, 2026

Static vs Dynamic QR Codes — Which One Do You Need?

Every QR code is either static or dynamic. The difference isn't cosmetic. It determines whether you can edit your code after printing, whether you get scan analytics, how much you'll pay, and what happens if a third-party service goes offline. Here's how to pick the right type.

What Is a Static QR Code?

A static QR code stores the destination data directly inside the code pattern itself. When someone scans it, their phone reads the URL (or text, or Wi-Fi credentials, or vCard) straight from the black-and-white modules. No middleman, no redirect, no server involved.

Think of it like carving an address into a stone tablet. The information is right there in the physical pattern. A static QR code pointing to https://yoursite.com/menu will always point to that exact URL for as long as the printed material exists. Twenty years from now, if that URL still works, the code still works.

This is the original type of QR code. Denso Wave invented them in 1994 for tracking auto parts in factories, and every code they created was static. The dynamic variety came later, driven by marketing use cases.

How static codes store data

The URL or text gets converted into a binary string, then encoded into the grid of dark and light modules using one of four encoding modes (numeric, alphanumeric, byte, or kanji). The more characters you encode, the more modules the code needs — which is why a QR code containing a 20-character URL looks noticeably simpler than one containing a 150-character URL. For a deeper look at the encoding process, see How QR Codes Work.

What Is a Dynamic QR Code?

A dynamic QR code doesn't store your destination URL directly. Instead, it encodes a short redirect URL — something like https://qr-service.io/abc123 — that forwards the scanner to your actual destination. The redirect is controlled by a dashboard where you can change the target URL, view scan statistics, and sometimes set up A/B tests or time-based routing.

The code pattern itself never changes. What changes is where the redirect points. That's the core appeal: you print the code once, and you can update its destination as many times as you want without reprinting.

The redirect layer

When someone scans a dynamic QR code, here's what happens:

  1. Phone camera reads the encoded redirect URL
  2. Browser sends a request to the QR service's server
  3. Server logs the scan (timestamp, device, approximate location)
  4. Server responds with a 301 or 302 redirect to your actual destination
  5. Browser follows the redirect and loads your page

That extra hop through the redirect server is what makes analytics and editability possible. It's also the source of every downside dynamic codes carry.

Side-by-Side Comparison

Here's how the two QR code types stack up across the dimensions that matter most:

FeatureStatic QR CodeDynamic QR Code
Data storageEncoded directly in patternShort redirect URL in pattern
Edit after printingNo — permanentYes — change destination anytime
Scan analyticsNo (use UTM params instead)Yes — scans, devices, locations
Works offlineYes (for non-URL data like Wi-Fi)No — requires internet for redirect
Depends on third partyNoYes — redirect server must stay online
Code densityHigher (full URL encoded)Lower (short URL = simpler pattern)
Scan speedSlightly slower for long URLsFaster scan, but redirect adds latency
Typical costFree$5–$50/month for most services
LifespanUnlimitedTied to subscription

Pros and Cons of Static QR Codes

Advantages

Disadvantages

Pros and Cons of Dynamic QR Codes

Advantages

Disadvantages

Vendor risk is real: Several QR code startups have shut down or changed pricing drastically over the past few years. When a dynamic QR provider closes, every code that routes through their servers dies instantly. Before committing, ask: what happens to my codes if this company disappears?

When Free Static QR Codes Are Enough

Most QR code use cases don't actually need dynamic features. Here's where static codes do the job perfectly:

Free static code trick: If you think you might need to change the destination later, encode a URL on a domain you own — like yourdomain.com/go/menu — and handle the redirect server-side with a simple nginx rule or .htaccess entry. You get the editability of dynamic codes without the subscription or vendor dependency.

When You Actually Need Dynamic QR Codes

Dynamic codes earn their subscription fee in a few specific scenarios:

Notice the pattern: dynamic codes make sense when the cost of reprinting exceeds the cost of the subscription, or when you need analytics that UTM parameters can't provide. For everyone else, static is the pragmatic choice.

The Cost Math

Let's run some real numbers. A mid-tier dynamic QR service charges about $15/month — that's $180/year. For that price, you could:

The break-even question is straightforward. If you'll change the destination URL more than once or twice during the code's lifespan, and reprinting the material each time costs more than the subscription, dynamic codes save money. If the URL is stable, or the material is cheap to reprint, static codes win.

For small businesses and solo operators, the answer is almost always static. A coffee shop doesn't need to pay $15/month so their menu QR code can be "editable" — they can just update the menu page on their website and leave the code alone.

The DIY Middle Ground

There's a third option that most guides skip: self-managed redirects. You get the editability of dynamic codes without the ongoing cost or vendor lock-in.

The setup is simple. Encode a short URL on your own domain in the QR code — something like yourdomain.com/go/spring. Then configure a redirect rule on your server. In nginx, that's a two-line location block. In Apache, it's a single RewriteRule. On platforms like Cloudflare Pages or Netlify, you can use a _redirects file.

When you want to change the destination, you edit the redirect rule. The QR code doesn't change. No subscription. No vendor dependency. You own the whole chain. The only requirement is that you control the domain and have basic server access.

For tracking, add UTM parameters to the redirect target. Your analytics tool picks them up automatically. It's not as granular as a dedicated QR dashboard, but it covers 90% of what most people need: how many scans, from which placements, over what time period.

Generate free static QR codes — no signup, no watermarks, unlimited use.

Try qrmcp.dev

Making the Decision

Ask yourself three questions:

  1. Will the destination URL change? If no, go static. If yes, can you manage your own redirect? If you can, go static with a self-hosted redirect. If you can't, go dynamic.
  2. Do you need scan analytics beyond UTM tracking? If basic "how many people scanned this" is enough, UTM parameters on a static code work fine. If you need real-time dashboards with device breakdowns and geo data, dynamic codes deliver that out of the box.
  3. What's the lifespan of the printed material? For anything meant to last more than a year — permanent signage, product packaging, engraved items — think hard about vendor dependency. A static code pointing to a URL you control will outlast any SaaS subscription.

For most people reading this article, static QR codes are the right answer. They're free, they're permanent, they don't depend on anyone else's server, and they handle the vast majority of real-world QR code needs. Save the dynamic subscription for the cases where you genuinely can't work around it.

For best practices on sizing, design, and placement regardless of which type you choose, check out the QR Code Best Practices guide. And if you want to understand the encoding mechanics — modules, masks, error correction — the How to Generate QR Codes tutorial breaks it all down.

Frequently Asked Questions

Can I convert a static QR code to a dynamic one?
No. A static QR code has its destination permanently encoded in the pattern itself. You'd need to generate an entirely new QR code using a dynamic service and reprint it. This is why choosing the right type upfront matters — especially for printed materials with long lifespans.
Do dynamic QR codes stop working if I cancel my subscription?
Usually, yes. Dynamic QR codes route through the provider's redirect server. If you stop paying or the provider shuts down, the redirect stops working and your printed codes become dead links. Some providers offer a grace period, but don't count on it. For mission-critical codes, consider self-hosting your own redirect on a domain you control.
Are dynamic QR codes faster to scan than static ones?
Dynamic codes are usually faster to scan because they encode a short redirect URL, which produces a simpler pattern with fewer modules. However, the actual page load is slightly slower because the user's phone has to follow a redirect before reaching the final destination. The scan speed advantage is real but small — about 0.1 to 0.3 seconds in most cases.
What's the cheapest way to get scan analytics without paying for dynamic QR codes?
Use a static QR code with UTM parameters appended to your URL, then track scans through your existing analytics tool (Google Analytics, Plausible, GoatCounter, etc.). For example, encode https://yoursite.com/page?utm_source=flyer&utm_medium=qr — you'll see exactly how many visits came from each QR code placement. This approach is completely free and doesn't depend on any third-party redirect service.