QR code for a link

A link code holds one thing: a web address. It is the simplest type and the one most people actually need, which is why the failures are almost never in the code but in the address inside it.

Create a link QR code

Static, no account, no expiry

Editorial teamLast reviewed: 29 October 2026Editorial standards

Short answer

Paste the full address including https://, keep it under about 100 characters, print at least 2.5 cm wide for a card held in the hand and 4 to 5 cm for a table stand. A static code never changes, so the page it points at has to stay where it is.

Every camera made in the last ten years reads a link code without an app. There is no format inside that can break, no version to pick, no compatibility list to check. What decides whether the scan works is the address and the surface it is printed on.

That makes this page less about technology and more about two decisions you make before generating anything: which URL goes in, and how large the code will be on the finished item.

What is stored in the code

The URL as plain text, protocol included. The code is static: the characters are baked into the pattern and stay there for as long as the printed item exists. Nothing is called at scan time, no service sits in between, and nothing can be switched off later.

The protocol matters more than people expect. Without https:// some camera apps do not recognise the string as an address and only offer to copy it, which is a dead end for a reader holding a flyer.

  • Short and stable beats clever: example.com/menu rather than a campaign URL with five parameters
  • Check the case of the path, most servers treat /Menu and /menu as different pages
  • Spaces and accented characters must be percent-encoded or the server receives a path it does not know
  • No redirect in front of the target if you can avoid it, every hop is another place to fail

How long is too long

Technically a QR code can hold thousands of characters. Practically, every extra character adds modules to the pattern, and the same physical square has to fit more and smaller dots. A 300 character address needs visibly more space than a 30 character one before it scans as reliably.

A workable rule: under 100 characters is not a concern, up to about 200 works if you print large enough, beyond that shorten the address. A short path on your own domain is better than a third-party shortener, because the domain stays yours and does not expire with a subscription.

Choosing a print size

Size follows reading distance, not taste. The long-standing rule of thumb for QR codes is a 10:1 ratio: one unit of edge length for every ten units of distance between the eye and the code. A size chart is below, and it is worth printing a test sheet before the real run.

Two adjustments on top of the ratio: add roughly a third of the width for long addresses, because the pattern is denser, and keep a quiet zone of four modules free on every side. No logo, no text and no border may sit inside that margin.

How big the code has to be

Edge length by reading distance
Where the code isTypical distanceMinimum edge length
Business card, flyer in hand20 to 30 cm2.5 cm
Table stand, counter40 to 60 cm4 to 5 cm
Poster at eye level1 to 1.5 m10 to 15 cm
Sign read from a few steps back2 to 3 m20 to 30 cm

Questions people ask about link codes

Can I change the address after the code is printed?

Not with a static code. The URL is part of the pattern. Changing it means a dynamic code with a redirect in front, and that introduces a provider you then depend on.

Do I need a QR scanner app?

No. iOS has read codes in the Camera app since iOS 11, and Android does the same in the camera app or from the quick settings. A separate app is only useful for niche formats.

Why does my code scan on screen but not on paper?

Paper has less contrast than a backlit screen, and printing small or on textured stock blurs the module edges. Increase the size, use pure black on uncoated white, and test the actual printed item in the light where it will be used.

Should I use a URL shortener?

Only if the short domain is yours. A rented shortener turns every printed code into a liability the day the subscription ends.