Printed QR codes never have to go stale

A code on a menu, a badge or a billboard outlives whatever page it pointed at. Dynamic codes solve that, and this is how ours work, down to the pixel.

§
PRODUCT

A QR code is a URL drawn as squares. Print it, and the URL is fixed for as long as the print exists, which is usually longer than the page it points at. Menus change. Campaign pages get retired. The conference badge from last year still scans.

The fix is old and simple: the code should not point at the page. It should point at a short link, and the short link should point at the page. Change the link, and every printed copy of the code follows.

What "dynamic" means here

Every QR code you generate encodes a short link on your domain, never the destination directly. That gives it three properties a static code cannot have:

  • Repointable. Edit the destination in the dashboard and the code goes there from the next scan onward. The print run does not know or care.
  • Measurable. Each scan is a click on the link, with country, device and time attached, and the code is tagged as the source so scans can be separated from other traffic to the same link.
  • Governed. Everything a link can do, a code can do: expiry dates, scan ceilings, password locks, geo targeting, and the safety warning if the destination is ever flagged.

Getting the print right

Codes fail in print for a handful of predictable reasons, so the generator guards against them.

Error correction defaults to level M, which survives around fifteen percent of the code being damaged or obscured. Turn it up to H if the code will carry a logo in the centre or sit somewhere it will get scuffed.

Quiet zone, the blank margin around the code, is included in every export at the minimum four modules the specification asks for. Trimming it is the most common way a good-looking code becomes unscannable.

Contrast is checked when you pick colours. Dark modules on a light ground scan best. Inverted codes work on modern phones but not on older scanners, and the tool warns before you export one.

Format matters more than resolution. SVG scales to any size without softening, so use it for anything that goes to a printer. PNG is fine for screens and for tools that cannot take vectors.

Short domains make small codes

The number of squares in a code grows with the length of the URL inside it. A destination URL with tracking parameters can push a code to version 10 or beyond, which is dense, fragile and ugly. A short link on a five-character domain fits in version 2 or 3: a code you can print at two centimetres and still scan from across a table.

This is the other reason a custom domain pays for itself. The shorter the domain, the smaller the code.

Where scans show up

Scans appear in the link's analytics like any other click, and the analytics page can filter to scans alone. Compare scan counts across placements by giving each placement its own code on the same destination, which is the QR equivalent of a UTM source. Twenty codes, one page, and you know which poster worked.

What is on the plans

Every plan includes QR codes. Free accounts get a handful per month, Pro gets more with custom colours, Business adds white-label codes with your logo baked in. The scan analytics are the same everywhere.

All posts Published Jul 8, 2026
§
READ NEXT

Ready to shorten something?

Free to start, and your first branded link is about ninety seconds away.

  • Free forever plan
  • No card required
  • Cancel anytime