# Dynamic QR codes, without renting one > What a dynamic QR code is, when you actually need one, and how to build an editable, trackable code on your own domain without a subscription. Source: https://qr-code-build.com/dynamic-qr-code/ Last reviewed: 2026-08-24 Publisher: QR Code Builder ## Summary A dynamic QR code encodes a short URL that redirects to a destination you can change at any time. The code itself is static and permanent; only the redirect target changes. Nothing about the QR format is special — the editability comes from the redirect, which you can host yourself. ## What you are actually paying for Every dynamic QR service works the same way: 1. You give them a destination URL. 2. They create a short URL on their domain, like `qrs.example/a1b2`. 3. They encode *that* in a completely ordinary QR code. 4. When someone scans it, their server logs the hit and issues a 302 redirect to your destination. 5. You can change the destination in their dashboard, because you are only changing a database row. What you are buying is the redirect and the log. That is a legitimate product — but it means your printed material now depends on somebody else's domain staying registered and their business staying solvent. If the service shuts down, every code you printed becomes a dead link. This has happened to enough companies to be a known risk rather than a hypothetical one. ## A redirect on your own domain The self-hosted version takes an afternoon and removes the dependency entirely. Buy a short domain, point codes at it, and control the redirect table yourself. A minimal Cloudflare Worker, which is free at the volumes most printed campaigns produce: ``` const ROUTES = { 'menu': 'https://example.com/menu-autumn', 'spring': 'https://example.com/campaigns/spring-2026', }; export default { async fetch(request) { const key = new URL(request.url).pathname.slice(1); const target = ROUTES[key]; if (!target) return new Response('Not found', { status: 404 }); return Response.redirect(target, 302); } }; ``` Encode `https://yourshort.link/menu` and you have a dynamic code. Change the routes map and every printed code follows, instantly. Use 302 and not 301 — browsers cache permanent redirects aggressively, and a cached 301 will keep sending people to the old destination long after you have changed it. ## Counting scans without a platform Because the redirect passes through your own code, you can log whatever you need before redirecting: timestamp, code identifier, user agent, referrer, country from the edge headers. Write it to a log store, a database row, or an analytics event. Two honest caveats. Scan counts are inflated by bots and link previewers that follow URLs automatically. And logging scan data makes you responsible for it under most data protection laws — if you store IP addresses or anything else that identifies a person, you need a proper reason for holding it and a privacy notice that covers it. Aggregate counts without identifiers avoid most of that. ## Most printed codes should not be dynamic | Situation | Better choice | |---|---| | Restaurant menu that changes weekly | Static code to a page you edit | | Wi-Fi password on a table card | Static — a redirect cannot carry Wi-Fi credentials | | Business card contact details | Static vCard | | Campaign poster you may repurpose | Dynamic, on your own domain | | Product packaging with a five-year shelf life | Dynamic, on a domain you will definitely renew | | Equipment label with no network | Static text — a redirect needs a connection | | A/B testing landing pages | Dynamic, with your own logging | The pattern: dynamic is worth it when the destination genuinely will change and you cannot control the page it points at. Otherwise, a static code aimed at a page you own gives you the same flexibility with none of the dependency. ## Frequently asked questions ### Is a dynamic QR code a different type of code? No. It is a standard QR code containing a short URL. The editability comes entirely from the redirect behind that URL. ### Can I make a dynamic QR code for free? Yes, by hosting the redirect yourself. A short domain costs a few pounds a year and an edge worker is free at typical volumes. ### What happens if a dynamic QR service shuts down? Every code printed through it stops working, because the encoded domain no longer resolves. This is the main argument for owning the domain in the encoded link. ### Do dynamic codes look different from static ones? Usually simpler, because short URLs contain fewer characters and therefore produce fewer modules. That is the one genuine technical advantage. --- Licence: this page may be quoted with attribution to QR Code Builder (https://qr-code-build.com/dynamic-qr-code/).