Clean product page link
A short path with no query string. This is the ideal case — the pattern stays sparse and prints reliably at small sizes on a label.
Encoded as
https://example.com/products/kettleThe plainest and most reliable QR code there is — a link, and nothing else.
Generated on your device. Nothing you type is sent anywhere.
A URL QR code holds a web address and nothing more. Point a camera at it and the phone offers to open that page. It is the simplest payload type and by some distance the most reliable, because every scanner ever made understands a link and no interpretation is required. It is also the most flexible: if the destination is a page you control, you can change what lives there without touching the printed code. That single property makes a URL code the right answer far more often than people expect, including for things that seem to call for a specialised payload.
A link needs no special support. Older phones, third-party scanner apps and in-app scanners inside social platforms all open a URL correctly, which is not true of contact, calendar or network payloads.
The code is fixed but the page is not. Point it at a URL you control and you can change the content, the layout or even redirect it elsewhere long after the code is printed.
A tidy URL is one of the shortest payloads possible, so the pattern stays coarse and readable even at small sizes — an advantage on packaging and business cards where space is tight.
Because the destination is a normal web page, ordinary site analytics record the visit. There is no need for a tracking redirect service to know the code is being used.
A short path with no query string. This is the ideal case — the pattern stays sparse and prints reliably at small sizes on a label.
Encoded as
https://example.com/products/kettleSomeone pastes a bare domain. The https prefix is added automatically, which prevents the phone from treating it as a search query.
Encoded as
https://example.com/menuA URL with tracking attached. It works, but note how much longer the encoded string becomes and therefore how much denser the printed code.
Encoded as
https://example.com/spring?utm_source=poster&utm_medium=print&utm_campaign=spring26Put the full address in the Destination link field. If you leave off the scheme, https:// is added automatically — without it, many phones treat the text as a search term and take the person to results rather than to the page you meant.
Shorter links produce sparser patterns that survive being printed small. Campaign and tracking parameters are usually the largest avoidable part of a URL, so remove any that are not genuinely being measured.
Check the page actually works on a small screen before encoding it. A code is only ever as good as what it opens, and most scans happen on a phone held at an awkward angle in imperfect light.
Download the code and scan it back before printing. This catches transposed characters and stray whitespace that are almost impossible to spot by reading the URL alone.
A code containing example.com with no scheme is ambiguous. Some scanners prepend https, others hand the text to a search engine, and the person ends up on a results page wondering what went wrong. This generator adds the scheme for you, but if you are producing codes elsewhere, always include it explicitly.
Campaign parameters can easily double the length of a link, and the pattern grows to match. A code that would have been comfortable at 2 cm may need 3 cm or more purely to carry analytics tags. Decide whether the attribution is worth the physical size before adding them.
The domain is case-insensitive but the path is not. On most servers /Menu and /menu are different pages, and a capital letter introduced by autocorrect or by retyping produces a code that scans cleanly and lands on a 404. Copy the address from the browser bar rather than typing it.
Shorteners make the pattern smaller, but they put a third party between the code and the destination. If that service shuts down or blocks the link, every printed code stops working at once. They also look opaque, and some people will not scan a code that hides where it goes.
Each redirect adds a round trip before anything appears, which is noticeable on a slow mobile connection while someone is standing in front of your sign. Encode the final destination rather than a URL you know will bounce.
Universal. Every QR scanner recognises a URL, including built-in cameras on iOS and Android, third-party scanner apps, and the in-app scanners inside Instagram, WhatsApp and Snapchat. Phones show a preview of the domain before opening it, which is a deliberate safety measure — one reason a recognisable domain gets scanned more often than a shortened one. Desktop scanners and webcam-based readers handle links equally well. This is the only payload type on the site with essentially no compatibility caveats at all.
Links are encoded in byte mode, so each character costs eight bits. That is why URL length maps almost linearly onto pattern density, and why removing twenty characters of tracking has a visible effect on the printed result.
Not the code itself — the address is fixed inside the pattern. But if you point it at a page you control, you can change that page's content or set up a redirect on your own server. That is the standard way to get editable behaviour from a static code, and it keeps the control with you rather than with a third-party service.
Usually not. It does produce a sparser pattern, but it introduces a dependency that can break every printed copy if the service disappears, and an opaque link discourages some people from scanning at all. Removing tracking parameters from your real URL often shortens it enough without adding that risk.
The address was almost certainly encoded without https:// at the front. Without a scheme the scanner cannot tell a web address from a phrase, and several hand it to a search engine. Re-generate the code with the full address including the protocol.
Technically a QR code can hold a few thousand characters, but practically a long URL produces a pattern too fine to scan at printed size. Aim to keep the address under about 100 characters for anything printed small, and treat anything over 300 as needing a large format to remain readable.
Not by itself — a static code has no counter inside it. But because it opens an ordinary web page, your normal site analytics record the visit like any other. Adding a campaign parameter lets you separate those visits from other traffic, at the cost of a longer link and a denser pattern.
No. The code is drawn in your browser and nothing is transmitted while you type. You can confirm it by opening developer tools and watching the Network tab stay empty. Nothing about the destination is logged, because there is no backend here to log it.
This generator is part of website & links QR codes — see the whole group, and what to decide before you generate one.