The short answer
A static QR code cannot redirect to a different URL, because the destination is baked into the pattern of modules at the moment you generate it — the code stores the literal text and there is no server to change where it goes.
A dynamic QR code can redirect, because it does not store your real destination at all. It stores a short redirect link (for example r.example.com/abc) that lives on a server you control, and the server tells the scanner’s phone where to actually go. Change the server’s mapping and the same printed code now goes somewhere else.
Why static codes can’t redirect
A static QR code is just a printed string. When a phone scans it, the camera reads the text directly from the image — there is no lookup, no database, and no middleman. If the code encodes https://old-site.com/menu, that is exactly what the phone opens, every time, forever.
This is a feature, not a limitation: it makes static codes free, private, and immortal. No one can ever turn them off. The trade-off is that changing the destination means generating and reprinting a new code. See our guide to static vs dynamic QR codes for the full comparison.
How a dynamic QR redirect works
A dynamic QR redirects in three steps. First, the phone scans the code and reads a short URL like r.example.com/abc. Second, the phone’s browser requests that short URL from the redirect server. Third, the server replies with an HTTP 301 (permanent) or 302 (temporary) redirect pointing at your real destination, and the phone follows it automatically.
Because the mapping from /abc to the real destination lives in the server (not in the code), you can change it at any time without touching the printed QR. The same printed code can point at one page today and a different page tomorrow. That is the whole point of the dynamic tier.
A 3-step redirect, at a glance
Here is what actually happens when someone scans a dynamic QR code, broken into the three hops the data takes between the code and the final page.
| Step | What happens | Who controls it |
|---|---|---|
| 1. Scan | The phone camera reads a short URL (e.g. r.example.com/abc) from the printed code. | Printed on the code at generation time — never changes. |
| 2. Redirect | The phone’s browser requests the short URL; the server replies with a 301/302 to the real destination. | The redirect server (you, via the dynamic tier). |
| 3. Land | The phone follows the redirect and opens the real destination page. | The destination URL you set in the dashboard. |
| Edit later | You change the destination mapping on the server; the same printed code now goes to the new page. | The redirect server — no reprint needed. |
| Analytics | Each redirect is logged: scan count, time, device, referrer, approximate location. | The redirect server, server-side. |
When you actually need a redirect
The classic case is a restaurant menu printed on every table. With a static code you commit to one menu URL for the life of the print run; with a dynamic code you can swap from a lunch menu to a dinner menu, fix a typo, or move hosts without reprinting a single tent.
Marketing campaigns benefit too: a dynamic code on a flyer can rotate destinations for A/B testing, route iOS vs Android users to different app stores, or send scanners to a seasonal landing page months after the flyer was printed. Packaging codes can point at the latest product information even after a rebrand.
The expiry and link-rot caveat
A redirect is a dependency. If the redirect server goes down, the subscription lapses, or the provider shuts off your account, every printed dynamic code stops working at once — a far worse failure than a static code slowly going stale one destination at a time.
That is why QRForge’s free generator produces static codes by default: they have no dependency to fail. When the paid dynamic tier ships, point dynamic codes at a domain you own so you keep control of the redirect forever, and read our do QR codes expire guide for the full link-rot picture.
Frequently asked questions
Can a QR code link to a different URL?
A static QR code cannot — the URL is encoded directly into the pattern and never changes. A dynamic QR code can, because it encodes a short redirect link on a server you control, and you change the destination mapping without reprinting.
What is a QR code redirect?
It is a dynamic QR code whose short URL lives on a redirect server. The phone scans the short URL, the server replies with a 301/302 redirect to your real destination, and the phone follows it. You edit the destination on the server, not on the printed code.
How is a dynamic QR redirect different from a URL shortener?
Mechanically similar — both store a short link that redirects to a longer one. A dynamic QR product adds a dashboard for editing the destination, scan analytics (count, device, location, time), and tier features like expiry and password gates, on top of the redirect itself.
Do QR code redirects expire?
A static code never expires but cannot redirect. A dynamic redirect can be set to expire on a date or after a number of scans, and it also stops working if the redirect server or your subscription goes away — the dependency is the trade-off for editability.