Static link codes and dynamic ones
Services that sell dynamic QR codes for links usually put a short address of their own in the code and forward visitors to your page. That lets them count scans and lets you change the destination. It also means the printed code depends on that service: if the redirect or your account ends, the code stops working.
A static code has your own address inside it, so the only thing that can break it is your own page. This tool makes static codes. If you want counts without a dynamic service, add campaign tags to the end of the link, for example ?utm_source=poster&utm_medium=qr. Your website analytics can then separate visits that came from the code. Tags make the link longer and the code denser, so keep to one or two.
If you might need to change the destination later, point the code at a short path on a domain you control, such as example.com/menu, and forward that path to the real page. You can then change the forwarding without reprinting.
Shorter links make easier codes
Every character of the link takes space in the code. These are the sizes at medium error correction:
- 20 characters, such as
https://example.com/: 25 by 25 squares - 40 characters: 29 by 29
- 100 characters: 41 by 41
- 200 characters: 57 by 57
- 500 characters: 85 by 85
- 1,000 characters: 121 by 121
Printed at the same width, the squares get smaller as the code gets denser, and small squares are harder for a camera to tell apart. Cut the link down: use a short path on your own domain, drop tracking tags you do not need and avoid long encoded parameters.
A logo needs the highest error correction, so it grows the code too: a 100 character link goes from 41 by 41 squares at medium to 57 by 57 at high.
Before you print a link code
- Use https. Phones can warn before opening an http link.
- Check the page on a phone. It should load quickly on mobile data and work on a small screen.
- Think about how long the code will live. A code on a printed menu or a product stays around as long as the paper does, so the page needs to stay as well.
- Do not use localhost or a private address. A link such as
http://192.168.1.20only opens on that network. - Scan the finished code with two different phones, from the distance people will use.
For colours, error correction and print size, see the QR code generator page, which covers them for every kind of code.