URL QR Code Generator

Generate a free QR code for any website link in seconds. Customize colors, add your logo, and download as PNG, SVG, JPEG, or WEBP — no signup required.

Link length is the variable that matters most

A URL QR code encodes exactly one thing: the address, as a plain string. There is no wrapper format, no field separators, nothing clever. Which means the only real decision you make is how long that string is, and that decision determines whether your code is a chunky grid readable from across a room or a fine mesh that needs a steady hand and good light.

QR codes come in 40 fixed sizes called versions. Version 1 is a 21 × 21 grid; each subsequent version adds four modules per side up to version 40 at 177 × 177. The encoder picks the smallest version your data fits into, so every character you cut is a potential step down in density.

URL Length Version at level M Practical read distance at 3 cm printed
qrfast.io 9 1 ~40 cm
https://example.com/blog 24 2 ~35 cm
https://example.com/products/winter-collection 46 3 ~30 cm
Same URL + 60 characters of UTM parameters 106 6 ~20 cm

The rough guide is a 10:1 ratio — a code needs to be about one tenth as wide as the distance it will be scanned from, and denser codes sit at the pessimistic end of that range.

Dropping the scheme, and why you probably should not

You can encode example.com instead of https://example.com and save eight characters. Most modern scanners will prepend https:// and open it correctly.

Most is doing a lot of work in that sentence. Some scanners treat a scheme-less string as plain text and show it rather than opening it; a few default to http://, which then triggers a redirect and, on a badly configured server, a browser security warning. The eight characters are not worth the tail risk on printed material you cannot recall.

Where you should absolutely economise is the rest of the URL. example.com/w beats example.com/winter-collection-2026-landing-page by 30 characters and one or two versions of density.

Uppercase does nothing for URLs (but does for some payloads)

There is a widely repeated tip that uppercasing your URL shrinks the code. The mechanism is real but does not apply here.

QR encoding has an alphanumeric mode that packs two characters into 11 bits, roughly 45% more efficient than the 8-bits-per-character byte mode. But it only covers digits, uppercase A–Z, space, and the symbols $ % * + - . / :. Crucially, it excludes lowercase letters, ?, =, &, _ and #.

A URL path is case-sensitive on most servers, so you cannot uppercase it without breaking the link. And any URL with a query string contains ? and =, which forces byte mode regardless. In practice: ignore this advice for URLs. It is genuinely useful for other payload types — Bitcoin addresses in particular — but not this one.

Short links: what you gain and what you take on

Routing your QR code through a shortener buys three things:

It also creates a dependency that deserves a clear eye. The shortener is now a single point of failure for every piece of physical material you have produced. Free URL shorteners have shut down before and taken millions of links with them. Some corporate networks and email filters block shortener domains outright. And the user cannot see where they are going before they tap, which raises the phishing-adjacent feel of the whole interaction.

If the material has a life of weeks — an event, a promotion, a conference handout — a shortener is usually the right call. If it is going on packaging, signage, or anything with a multi-year lifespan, use a short path on your own domain and control the redirect yourself. yourbrand.com/w gives you the density benefit, the editability, and the trust of a recognisable domain, with no third party in the chain.

Tracking scans without wrecking the code

UTM parameters are the standard way to attribute traffic, and they are verbose. ?utm_source=poster&utm_medium=qr&utm_campaign=winter-2026 is 55 characters that do nothing for the user and push your code two or three versions denser.

Better options, in rough order of preference:

  1. A dedicated short path that 301-redirects server-side to the full tracked URL. The code stays tiny; your analytics still sees the UTM parameters after the redirect.
  2. A single short parameter?s=p1 — that your server or tag manager expands. Five characters instead of fifty-five.
  3. A distinct landing page per placement, which gives you attribution from the page path alone with no parameters at all.

If you must put UTMs directly in the code, drop utm_content and utm_term first; source, medium and campaign carry nearly all the value.

Testing that actually predicts real-world failure

Scanning your own code on your own phone under your desk lamp tells you very little. The failure modes appear elsewhere:

Contrast rules that are not negotiable

Frequently asked questions

Does a QR code expire?

The code itself never expires — it is a static encoding of a string and will decode identically in fifty years. What expires is the destination. If the URL stops resolving, the code is dead. This is why the domain you point at matters more than the code you print.

Can I change where a printed code points?

Only if you encoded a URL you control the routing for. A code pointing at yourdomain.com/promo can be redirected anywhere at any time by changing the server rule. A code pointing directly at the final destination cannot be changed once printed.

Should I include https:// in the URL?

Yes. Omitting it saves eight characters but leaves the behaviour up to the scanner, and a minority will treat the string as plain text or fall back to http. Not worth the risk on anything printed.

How small can I print a link QR code?

2 cm square works for a short URL scanned at arm's length. Below that you are relying on modern phone cameras and good lighting. For signage read from several metres, apply the 10:1 rule: 2 metres of distance needs roughly a 20 cm code.

Why does my code scan on screen but not in print?

Three usual suspects: the quiet zone was cropped during layout, the code was scaled down past the point where modules survive ink spread, or it was placed on a low-contrast or textured background. Print a proof at final size on the real stock before committing to a run.

Are QR codes safe to scan?

The code itself cannot execute anything — it is data, not a program. The risk is the destination, which the user cannot see before scanning. This is why phishing via QR codes ("quishing") works, and why codes on your own materials should point at a domain your audience recognises.

Do I need a licence to use QR codes commercially?

No. The QR code specification was published by Denso Wave, which holds patents but has explicitly waived enforcement for the standard format. It is also an ISO standard (ISO/IEC 18004). You can use QR codes commercially without permission or payment.