QR Code Generator
A QR code whose destination you can change after printing — via a redirect you own. Free, no subscription.
Not encoded in the QR code — only used in the setup instructions below.
Your QR code will appear here
How dynamic QR codes work
The code encodes a URL you own, and that URL redirects to the real destination. Change the redirect whenever you like — the printed code never changes. This is exactly what paid QR services sell; with your own domain it's a redirect rule you control.
- Pick a URL on a domain you own, e.g. qr.your-domain.com/launch or your-domain.com/go/launch.
- Point it at your destination with a temporary redirect (302/307) — never 301: permanent redirects get cached by browsers and scanners, freezing your "dynamic" code forever.
- Make sure the redirect host serves valid HTTPS (any modern host or Cloudflare does this automatically) — that's what keeps phones from showing a warning on scan.
- Want scan counts? Add UTM parameters to the redirect destination (e.g. ?utm_source=qr&utm_campaign=launch) — your analytics will attribute each code separately, and the printed code stays unchanged. Camera apps send no referrer, so without UTMs scans look like direct traffic.
- Generate and print the code above. To repoint it later, edit the redirect — nothing else.
Don't want to configure redirects by hand? Copy this prompt — it has your URLs filled in — and paste it to your AI assistant:
Set up a dynamic QR redirect for me.
Goal: https://qr.your-domain.com/launch should HTTP-redirect to <destination URL>. A printed QR code points at https://qr.your-domain.com/launch, so that URL must never change — but I need to be able to change where it forwards to later.
Requirements:
- Use a TEMPORARY redirect (302 or 307), NOT 301. Permanent redirects get cached by browsers and QR scanners, which would freeze the destination and defeat the purpose.
- qr.your-domain.com must serve valid HTTPS so phones don't show a security warning when the code is scanned.
- If DNS for the (sub)domain doesn't exist yet, create it as part of this.
- Append UTM parameters to the redirect DESTINATION (not the redirect URL itself) so my analytics can attribute scans, e.g. ?utm_source=<redirect-domain>&utm_medium=qr&utm_campaign=<slug>. Keep source/medium identical across codes; make utm_campaign the per-code slug.
- When you're done, show me exactly where the destination is configured so I can change it myself next time.
My stack: <tell your AI where this domain's DNS/hosting lives — e.g. Cloudflare, Vercel, Netlify, nginx on a VPS>