QRAnalytica

How to Tell If a QR Code Is Static or Dynamic: 4 Checks

To tell if a QR code is static or dynamic, decode the link: a generator's short URL that redirects means dynamic; your own full URL usually means static.

Nookesh Karri · 7 min read
Dark cover card with the title 'How to Tell If a QR Code Is Static or Dynamic: 4 Checks' in white and a lime accent bar

To tell if a QR code is static or dynamic, decode it and read the link inside. If the link is a short URL on a QR generator’s domain and the server answers with a redirect, the code is dynamic. If it holds your full website address, Wi-Fi details or a contact card, it is static.

That settles most codes in a minute. When it doesn’t, the server’s response or the generator account will.

What makes a QR code static or dynamic

A static QR code stores the final content in its pattern, while a dynamic QR code stores a short link that a server forwards to the real destination. The printed squares look the same either way.

The ZXing project, which maintains a widely used open-source barcode reader, documents the common payloads. A URL is encoded as the full address including the protocol, such as https://google.com/m. Wi-Fi codes use a WIFI: string, and contact cards use MECARD or vCard text that the phone turns into an address book entry.

Our dynamic vs static QR code guide explains why the difference matters for editing and tracking.

The quickest way to tell if a QR code is static or dynamic is to scan it and read the link your phone shows before you tap it. A generator’s short domain points to dynamic; your own full address points to static.

Most phone cameras show the decoded link first. ZXing’s guidance for reader apps says it is “probably desirable” to display the URL and ask whether to proceed. Look at the domain, not the page that loads. A dynamic code ends up on the same page a static one would.

  • Your own domain with a full path, like https://yourbakery.com/menu/autumn: most likely static.
  • A QR generator’s domain with a short random path, like qr-vendor.example/a8Fk2: dynamic.
  • Text starting with WIFI: or BEGIN:VCARD: static. There is no link to redirect.

As of October 2026, QR Planet’s help center uses the same rule: if the encoded domain belongs to a QR code platform, the code is dynamic, and otherwise it is most likely static.

Check 2: decode the image on a computer

When you only have the image file, such as a PDF proof from a designer, decode it on a computer. The ZXing Decoder Online takes an uploaded image or an image URL and shows the raw text inside.

This is the safer option for codes you don’t trust, because nothing opens in a browser. The raw text also shows things a phone preview can trim, such as UTM tags on the end of a long static URL. If you want to check contrast and look for a swapped link at the same time, our QR validator checks a code for hijacked links and low color contrast.

Check 3: ask the server whether it redirects

To confirm a dynamic code, request the decoded URL and see whether the server answers with a redirect. A redirect status plus a Location header means a server is forwarding scans, which is how dynamic codes work.

MDN describes the Location header as the one that “indicates the URL to redirect a page to,” and it only has that meaning on a 3XX response. With curl, the -I option fetches the headers only:

curl -I https://qr-vendor.example/a8Fk2

A dynamic code typically answers like this:

HTTP/2 302
location: https://yourbakery.com/menu/autumn

The first line is the status. A 302 or 307 is a temporary redirect, and MDN notes that crawlers “don’t memorize the new, temporary URL,” which suits a code whose destination can change. A 301 or 308 is permanent. A success response with no location line means the URL serves the page directly, so the code is static unless something downstream redirects.

Check 4: look in the generator account

The generator account is the most certain check, because it is where a dynamic code’s destination is stored. If the code appears there with an option to edit the link or view scan stats, it is dynamic.

QR TIGER’s help center describes it this way: dynamic codes show options to edit and see stats, while static codes are listed without scan statistics. If you can’t find the account, use checks 1 to 3 and treat the answer as probable rather than certain.

When the quick check fails to tell static from dynamic

The domain rule fails in two cases, and both matter if you plan to edit the code.

A dynamic code on a custom domain looks static. Many tools let you serve dynamic codes from your own domain, such as brand.link/summer-sale. The link looks like your site, but check 3 shows a redirect, and the destination lives in a dashboard. QRAnalytica supports branded custom domains like this, and its dynamic codes run through its redirect servers, which is a dependency.

A static code with a short link behaves like a dynamic one. Someone may have encoded a link from a URL shortener in a plain static code. The pattern can’t change, but the short link can, and only its owner can edit it. If that is you, edit it there. If it isn’t, our guide to changing a QR code’s destination after printing covers your options.

My take: run check 3 before you reprint anything

Run the redirect check every time someone says a code “can’t be changed.” The domain misleads in both cases above, and one curl -I takes seconds. If it shows a redirect, find who controls it before you pay for new print.

The limitation of these checks

None of the outside checks can prove who controls a redirect. A 302 tells you a server forwards the scan. It doesn’t tell you whose account holds it or whether that account is still active. A redirect can also be switched off later, which is the main way dynamic codes fail; see do QR codes expire?. Only the account that made the code can confirm it.

FAQ

How do I know if my QR code is dynamic?

Decode it and look at the link. If it is a short URL on a QR generator’s domain, or the URL answers with a redirect to another page, it is dynamic. If it appears in your generator account with edit and stats options, that settles it.

Are Wi-Fi QR codes static or dynamic?

Static. A Wi-Fi code stores the network name and password in the pattern, and the phone reads them directly. There is no web link for a redirect service to sit in front of.

Can a static QR code redirect?

Yes, if the URL it holds redirects. A static code that stores a short link from a link shortener behaves like a dynamic code, but only the owner of that short link can change where it goes.

Can I turn a static QR code into a dynamic one?

Not the printed pattern. If the static code points to a page on a domain you control, you can add a redirect on that page’s URL so it forwards scans elsewhere.

Sources

Track your dynamic campaigns. 7-day trial, no credit card.
Generate Dynamic QR