qr-code-build

Feature

Dynamic QR codes, without renting one

A dynamic code is not a different kind of QR code. It is an ordinary code pointing at a redirect you control — which means you can build one yourself, on your own domain, and never lose it.

  • Self-hosted recipe
  • No subscription
  • Own your domain
Short answer

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.

The mechanism

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.

Build it

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.

Analytics

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.

When static wins

Most printed codes should not be dynamic

SituationBetter choice
Restaurant menu that changes weeklyStatic code to a page you edit
Wi-Fi password on a table cardStatic — a redirect cannot carry Wi-Fi credentials
Business card contact detailsStatic vCard
Campaign poster you may repurposeDynamic, on your own domain
Product packaging with a five-year shelf lifeDynamic, on a domain you will definitely renew
Equipment label with no networkStatic text — a redirect needs a connection
A/B testing landing pagesDynamic, 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.

Questions

Frequently asked

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.

Last reviewed 24 August 2026 · Checked by the QR Code Builder team