# Static vs dynamic QR codes — which one do you need?

> Published 2026-04-08 · 5 min read · By QR Code Easily
> Canonical: https://qrcodeeasily.com/blog/static-vs-dynamic-qr-codes/

**TL;DR** — **Static** QR codes encode data directly. Free, permanent, fast, work offline. Use these for menus, business cards, WiFi, payments, events. **Dynamic** QR codes are short URLs to a redirector you control. Editable after printing and offer scan analytics, but cost a monthly fee, depend on a third-party server, and break the day that service goes down. For 90% of use cases, static is the right choice.

## What's actually in a QR code?

A QR code is just a 2D barcode that encodes *some text*. The "type" (URL, vCard, WiFi, etc.) is determined by what that text starts with — `https://`, `BEGIN:VCARD`, `WIFI:`, etc. The phone reads the text and decides what to do.

There's no built-in concept of "static" or "dynamic" in the QR spec. The distinction is about *what* you encode.

## Static QR codes

A static QR encodes **the actual destination directly**. The QR *is* the URL or vCard or WiFi credentials.

Examples:
- QR encoding `https://yourbusiness.com/menu` — opens that page directly
- QR encoding a vCard — adds the contact directly
- QR encoding `WIFI:T:WPA;S:CafeWiFi;P:secret123;;` — joins WiFi directly

**Pros:**
- **Free** — no subscriptions, no fees, ever
- **Permanent** — works forever, as long as the destination still exists
- **Fast** — one network round-trip (or zero, for WiFi/vCard)
- **Private** — no third party logs the scan
- **No dependency** — no risk of a paid service shutting down and breaking your printed material

**Cons:**
- **Cannot be edited** — once printed, the destination is set in stone
- **No scan analytics** — you don't know how many people scanned

## Dynamic QR codes

A dynamic QR encodes a **short URL pointing to a redirector**, e.g., `https://qrserve.io/abc123`. When scanned, the phone hits the redirector, which then redirects to your real destination. You can change that redirect at any time without changing the printed QR.

**Pros:**
- **Editable** — change the destination without reprinting
- **Analytics** — most services log scans (count, time, country, device)
- **A/B testing** — split scans across multiple destinations
- **Shorter encoded data** — sometimes results in a slightly less dense (easier to scan) code

**Cons:**
- **Recurring cost** — typically $5–50/month per provider
- **Depends on the redirector staying alive** — if the provider goes out of business or you miss a payment, every printed QR breaks
- **Slower** — extra HTTP redirect hop
- **Privacy implications** — scans logged to a third party
- **Trust issues** — some browsers warn users about going through redirectors

## When to use each

**Use static QR codes when:**
- You're encoding contact info, WiFi, payment addresses, or events
- Your URL is reasonably stable (homepage, permanent menu page, social profiles)
- You don't need scan analytics
- You don't want a recurring expense
- You want something that will still work in 10 years
- You care about privacy

**Use dynamic QR codes when:**
- You genuinely need to change the destination after printing
- You're running a marketing campaign and need scan counts to measure ROI
- You want A/B testing on the same printed flyer
- You're willing to pay an ongoing fee and accept the dependency

## The "permanence" trap

Many people choose dynamic codes because "what if I need to change it later?" — and then never actually change it. Meanwhile they pay $20/month for years.

The honest counter-argument: **if the URL of your menu changes, fix the URL, not the QR**. Set up a permanent redirect on your own domain (`yoursite.com/menu` → wherever). Now the printed QR pointing at `yoursite.com/menu` works forever, free, and you control the redirect.

## The middle path: your own short link

If you want editability without paying for a dynamic-QR service:

1. Use a short URL on your own domain (e.g., `yourbrand.com/r/menu`)
2. Configure that URL on your server / Netlify / WordPress to redirect anywhere
3. Encode the short URL in a static QR
4. Now you have static-code reliability + editable destination

This is what most savvy small businesses do. Costs nothing extra (you already have a domain), gives you full control, and doesn't break if a third party disappears.

> **Bonus:** on Netlify, redirects are free in `netlify.toml`. On Cloudflare, Page Rules. WordPress has plugins. There's no excuse to pay $20/month for a redirect.

## What about scan analytics?

Encode a static URL with `?utm_source=qr&utm_campaign=poster1` appended. Your existing analytics (Google Analytics, Plausible, etc.) will count scans as referrals. You get most of the data dynamic services charge for, in tools you already use.

## Bottom line

For 90% of users — small businesses, restaurants, freelancers, event organizers, individual users — **static QR codes are the right answer**. Free, permanent, fast, private. The only people who genuinely need dynamic codes are large marketing teams running campaigns where editability and scan analytics justify the recurring cost.

If unsure, start with static. You can always switch later if you discover you actually need dynamic features. Switching the other way is harder because you've already printed materials with the redirector URL.

## Related guides

- [How to make a QR code for free — complete guide](https://qrcodeeasily.com/blog/how-to-make-a-qr-code/)
- [Why my QR code doesn't scan — 8 common mistakes](https://qrcodeeasily.com/blog/why-my-qr-code-wont-scan/)
- [How big should you actually print a QR code?](https://qrcodeeasily.com/blog/qr-code-sizes/)
