All guides

How to

How to make a QR code for a link that keeps working

Making a QR code for a link takes a minute. Making one you won't reprint takes a few decisions: link length, static vs dynamic, and what happens when the page moves.

The Nameplate team · September 30, 2026 · 7 min read

To create a QR code for a link, paste the full URL into a generator, download the PNG, and scan it with a phone before you print anything. The part that decides whether it still works next year is what the code contains: the link itself (static) or a redirect you can change later (dynamic).

The QR code itself is a free, open format. The step people get wrong is the one before the generator: deciding what the code should point at. A code printed on 500 flyers or a shop window can't be edited, so the link inside it has to be one you'll still control in a year.

What you need before you start

  • The exact URL, including https://. A bare domain often works, but a full URL removes one guess from the scanning phone.
  • A rough idea of where it will be printed and how big. A code on a slide can be huge; a code on a business card has about 2 cm to work with.
  • A decision about whether you'll want to change the destination later. That's the static vs dynamic question below.

The steps

  1. Paste the link into the free QR code generator. It redraws as you type, so there's no generate button. If the link carries tracking parameters, build them first with the UTM builder and paste the finished URL, not the bare one.
  2. Look at how dense the code is. A busy, tightly packed pattern means the link is long. Section three shows why this matters at print size.
  3. Download the PNG. The tool draws it in your browser at 512px, so nothing you type is uploaded.
  4. Scan it with two phones, one iPhone and one Android if you can borrow one, from the distance a real person would hold them. Check that the address bar shows the page you meant, not a near miss with a typo.
  5. Only then print. Scan the printed copy too. The screen and the paper are different tests.

Why link length changes the print size

This is the part we measured rather than repeated. A QR code is a grid of squares called modules, and every extra character in your link forces a bigger grid. We ran several links through the same qrcode library our generator uses, at the same medium error correction, and counted the grid. Then we worked out how big each square becomes if the code prints 20 mm wide including its margin:

What was encodedCharactersGridModule size at 20 mm
Bare domain2425×250.69 mm
A profile link3729×290.61 mm
A short link (/s/a8Kd2x)3329×290.61 mm
Profile link plus three UTM parameters11545×450.41 mm
A long shared-file link with a query string12345×450.41 mm
The redirect address our dashboard codes point to6337×370.49 mm

Denso Wave, the company that created the format, says on its FAQ that the smallest module a common laser printer can print is about 0.17 mm. So all of these are printable on paper. The issue is the phone camera and a slightly soft print: a 0.41 mm square is about 60% the size of a 0.69 mm one, and every unit of blur you lose costs more of it.

The rule of thumb we took from the table: adding UTM tags to a link nearly triples the character count and moves the grid from 29 to 45 squares a side. If the code is going on a card or a small sticker, put the tags on a short redirect and encode that instead. On a poster you won't notice the difference.

Static or dynamic: the decision that outlives the print run

A static code holds the link directly. Nothing sits between the phone and your page, and Denso Wave's FAQ states that using QR codes is free of any licence or fee, so a static code has no account behind it that can lapse. If your destination is a page you own, this is usually the right choice.

A dynamic code holds a short redirect address, and the redirect decides where the scan lands. You can change the destination after printing. The cost is that someone runs that redirect. Look at what one commercial generator's pricing page lists on its cheapest plan: 2 dynamic codes and 10,000 scans, with a 14-day free trial. A plan that ends is a redirect that ends, which is the situation people describe when they say QR codes "expire." The code doesn't expire. The service in the middle does.

Ours works the second way on purpose, and we'll be specific about it. The codes attached to a page in the dashboard don't contain your link. They contain https://www.nameplate.cc/q/<id>, a 63-character address, and that address answers with a 307 redirect to whatever destination you saved. It also counts the scan. Nobody has to pay us for a code to keep redirecting, but the redirect does depend on the page still being published: we requested a /q/ address with an id that doesn't map to a published page, and it returned a 307 to our homepage, not an error. So a dynamic code is only as durable as the account and page behind it.

That gives a simple test for the choice:

  • Link you own and won't move (your domain, your own site): static. No middleman.
  • Link that will change (a menu PDF that gets replaced, a campaign page): dynamic, and prefer one where you control the destination.
  • A link on someone else's platform: dynamic, because you can't promise their URL won't change.

Where people get stuck

The code scans but lands on the wrong page. You encoded a staging or draft URL. This is why step four says to read the address bar.

Works on one phone, not the other. Density again. Go back to the table and shorten the link.

You need a person's contact details, not a page. A plain link code sends people to a website; it doesn't put a name into their contacts. For that, use the vCard QR generator, which packs the fields into the code itself. It comes with the density trade-off from the table, and we cover what breaks in our post on cards that don't save to contacts.

It fails only once printed. That's a different set of causes (margin, contrast, glossy stock), covered in why a QR code that scans on screen fails on paper.

What this doesn't solve

The free generator makes a static code and stops there. It has no scan counts, no editable destination, and no styling controls. If you need to know how many people scanned or want to change the link after printing, you need a dynamic code, and ours require a Nameplate account and a published page. If you only need a code for a page you own, you don't need any of it: a static code from any generator works just as well, and we'd rather you know that than sign up for something you don't need.

If you do want a page behind the code, a template plus a dashboard code gets you the scan counter, and the page can change while the printed code stays the same.

Common questions

How do I create a QR code for a link?

Paste the full URL into a QR generator, download the image, and scan it with a phone before printing. Most generators, including our free one, draw the code as you type. Read the address your phone shows after scanning: it should match the page you intended, exactly.

Can I make a QR code for free?

Yes. The format is free to use with no licence fee, and static codes from a free generator never stop working because no account sits behind them. What costs money at other providers is the dynamic layer: editable destinations, scan tracking, and more than a couple of codes.

Do QR codes expire?

A static code doesn't, as long as the page it points to still exists. A dynamic code stops redirecting if the plan behind it ends or the code is deactivated. Ask before you print: what happens to this code if I stop paying?

How do I make a QR code for a website link?

The steps are the same as for any link. Use the full address of the exact page, with https://, and prefer the shortest version of it. A homepage-length URL makes a lighter, easier-to-scan code than a long one with query parameters.

Why is my QR code so dense?

Your link is long. Every extra character adds squares. Our test above went from a 29×29 grid for a 37-character link to 45×45 for one with tracking parameters. A shorter link or a short redirect brings it back down.

How big should a QR code be printed?

Big enough that each square stays legible. The Denso Wave FAQ gives 0.17 mm as the smallest module a common laser printer can produce, but that's a printer limit, not a scanning target. Test a printed copy at the real size and distance, and go bigger if a phone hesitates.