URL QR Generator
Turn a web address into a QR code you can print, share, or stick on a poster. The code is drawn in your browser, so the address never leaves this page and no account is needed.
Leave off the https:// and it is added for you, because a scanner has no way to guess a scheme.
Tracking parameters are usually the longest part
A short address produces a code that is easy to scan and easy to print. Add campaign tracking to it and the code can grow by half its length again, which makes the modules smaller, the printed code larger, and the margin for a smudge or a bad angle thinner. Decide whether you actually need the parameters before you add them; where you do, this tool has a companion UTM-style question worth answering honestly rather than by habit.
Shortening a link adds a hop
A redirect service makes the code shorter by pointing it at a long address. You get a scannable code and you also get a dependency: the printed code will keep working for exactly as long as the redirect service does, and it will work for whoever the service decides to send people to. For a poster with a shelf life of a year, that is a real consideration. For a menu or a leaflet handed out this week, it is not.
Never point a shortened code at a domain you do not control, or accept a shortened code from someone you have not verified. The destination is decided at the far end and can change at any time without anything on the printed page changing.
Size it for the worst scanner, not the best one
A code is made of square modules, and each module has to be resolved by the camera from a distance and an angle. Printed at the size your phone reads comfortably, every code works. Printed as small as the layout allows, some codes will not. If the code is going on a business card or a product label, make it as large as there is room for; on a card there usually is.
Keep the quiet zone, the plain margin around the code. It is part of the specification, not decoration, and scanners rely on it to find the code’s edge.
Test the printed thing
A code that works on your screen is not proven. Print or display it in its final position, then scan it with a second phone rather than the one you made it on, from a realistic distance and at a realistic angle, in the lighting it will actually be read in. Ten seconds here replaces a reprint.
Put a readable address on the page as well
A printed code is an exclusion. Anyone without a working phone camera, or who does not want to scan an unknown square, is left with nothing. On anything public, put the address in ordinary text beside the code. It costs a few millimetres and it is the difference between a poster and a locked door.
Scanning a code is not a risk by itself
Nothing executes when you point a camera at a QR code. It is an address written in squares, and the only decision it asks of you is whether to open what it says. Read the domain before you type a password into anything you arrived at that way.
How to use it
Paste an address, then download the result as a PNG for a screen or a document, or as an SVG when you want it to stay sharp at any size. An SVG is a vector file, so it can be scaled to a wall-sized poster and printed without blurring, which is why it is usually the better choice for anything going to paper.
Choosing the error correction level
Error correction adds redundant data to the code so it still reads when part of it is dirty, creased, or lit badly. The trade-off is size: a more resilient code is made of more modules and therefore prints larger for the same content.
- L is the smallest code and tolerates the least damage. Fine for a clean screen scan.
- M is the sensible default and is what most generators use.
- Q and H suit codes that will be printed on packaging, shown outdoors, or partially covered by a logo.
Getting a code that actually scans
Most failed scans come down to contrast or print size rather than the code itself. A few things that make a real difference:
- Keep the foreground and background strongly different. The tool warns you when the contrast drops below the 4.5:1 that most scanners need, because a pale code on a pale background looks perfectly fine on screen and fails in the wild.
- Do not go below roughly 2 cm across for a code that will be scanned with a phone at arm’s length. If it has to be smaller, put fewer characters in it.
- Leave the quiet zone, the plain margin around the code. The tool includes it by default, and many scanners genuinely fail without it.
- Test the printed code with more than one phone before you commit to a large print run.
Long addresses make dense codes
Every character counts toward the size of the code. A short link is dramatically easier to scan than a long one carrying tracking parameters. If a code needs to be small, removing query strings is usually the single biggest improvement you can make.
