Guide

Dynamic vs static QR codes — what's the difference, and which should you use?

Both look identical on paper. The difference is what's encoded in the image and what happens when someone scans it.

The short version. A dynamic QR code holds a short redirect URL. The destination it points to lives on a server you control, so you can change it any time — even after the code is printed. A static QR code holds the data itself — a phone number, a WiFi password, a vCard. It can't be edited later, but it doesn't need a server to work.

What a dynamic QR code is

When you create a dynamic QR code, the image encodes a short URL on a domain we run — for example, qrmy.app/scan/qr-7f2c1a. Every time someone scans the code, their phone opens that short URL, our server logs the scan, and our server redirects the phone to the destination you've set in your dashboard. You can change that destination at 9am on a Tuesday and the redirect picks it up immediately. The printed code never changes.

Dynamic only makes sense for one type of payload: a URL. There's nothing to redirect for a phone number or a WiFi password — those are the data, not a pointer to it.

What a static QR code is

A static QR encodes the actual data inside the image. A WiFi card holds the network name and password. A vCard holds your name, company, and contact details. A phone-number code holds the number. When someone scans it, their phone reads the data straight from the image and acts on it — joining the network, saving the contact, dialing the number. There is no server in the path.

Because the data is part of the image, a static code can't be edited. If your password changes, the printed card is wrong. The upside: it works without a network connection, and there's no service that can fail.

Side by side

Dynamic Static
Editable after printingYesNo
Records each scanYesNo
Needs a server to workYesNo
Works offlineNoYes
Image encodesA short redirect URLThe data itself
Best forMarketing URLs, menus, signage, campaignsWiFi, contact cards, phone numbers, SMS, plain text
Available on QR MyURL codesURL, Text, vCard, WiFi, Phone, SMS, Email

When to choose dynamic

Pick dynamic when the destination might change after the code is printed, or when you care about who scanned. A few cases where dynamic is the right call:

  • Restaurant menus — the brunch QR points at the brunch menu Mon–Fri and the Mother's Day prix fixe on the second Sunday in May. Same printed table tent, two destinations.
  • Sale and promo flyers — the sale ends, the offer rotates, the landing page changes. The flyer stack on the counter doesn't need to.
  • Marketing campaigns and OOH — one code per campaign. Redirect targets evolve as the funnel evolves. Every scan is timestamped.
  • Conference signage — change "Schedule" to "Slides from the keynote" between sessions without reprinting anything.

When to choose static

Pick static when the payload is the data itself and there's no destination to redirect to. The classic cases:

  • WiFi cards — a printed card on a coffee shop bar holding the network name and password. No server in the path means it works even if the cafe's internet goes down for the staff laptop.
  • Contact cards (vCard) — a one-scan way to add your name, company, phone, and email to someone's contacts. Static because the data lives in the image.
  • Phone, SMS, Email codes — a number to dial, a pre-filled SMS, a pre-filled email. Each is the data itself.
  • Plain text — a quick note, a poem, a serial number. Static is the only way that makes sense.

Common questions

Can I edit a static QR code later?

No. The data is part of the image, so changing it requires generating a new code and reprinting. That's the trade — static codes don't depend on a server, but they're locked the moment you print them.

Do dynamic codes expire?

Not on QR My. Codes you create on Free or Pro stay active as long as your account is active. There's no expiration timer and no premium markup added to the image.

What happens if my dynamic-code provider shuts down?

If the redirect server goes away, the printed code stops working. This is the structural risk of dynamic codes — you're trusting a service to keep running. It's why we publish a clear pricing page and don't gate the redirect endpoint behind a paid tier: the redirect has to keep working for printed codes you may have made years ago.

Can I track scans on a static code?

No. The phone reads the data directly from the image and never contacts our server. There's nothing for us to log.

Which is better?

Neither. They solve different problems. If you want to change a destination after printing or see scan analytics, you need dynamic — and that means the payload has to be a URL. If you want a printed card that works without any service in the loop (a WiFi card, a vCard), static is the right answer.

Try it

QR My makes both kinds. URL codes are dynamic by default; WiFi, vCard, Phone, SMS, Email, and Text codes are static. Try the live builder with no sign-up — type a URL, pick a shape, pick a color, and see a real code render. Sign up free to make it dynamic and track scans.

Make your first code

Print it once. Change where it goes anytime.

Start Free