URL QR Code Generator
Turn a link into a QR code.
Paste your URL below and the code updates as you type. Style it, then download it in the format your printer actually wants — no account, no watermark, nothing stored unless you save it yourself.
Customize
Scanning opens the phone's default maps app centered on this point.
The end time must be after the start time.
Leave the date blank to preview with a sample event. Defaults to a 1-hour event if no end time is set.
We tested this against a real scanner: codes start failing between 16% and 20% of the area, so 15% is the safe ceiling. How we measured it.
Pick a preset to fill in the dot and background colors below, or skip this and choose your own.
Light backgroundsLight dots read fine on dark backgrounds on screen, but most scanners are tuned for dark-on-light -- test before printing at volume. Scan reliability tips.
This content is too long to encode in a QR code. Shorten it before downloading or saving. Why there's a limit.
These colors are close in tone and may be hard for some scanners to read. Consider more contrast. Choosing colors that scan.
Preview
Dynamic QR codes redirect to a web address, so they're available for the URL and WhatsApp types. Other types encode their content directly and can't be repointed later.
Generated in your browser — nothing is uploaded or saved.
Your URL's length decides whether the print job works
This is the single most useful thing to know about link codes, and it is invisible until something fails in the field. Every character of the URL is encoded into the pattern, so the address you paste directly sets how fine the grid is — and a fine grid needs a bigger printed size to stay readable.
The difference is not marginal. A short redirect might produce a 25×25 grid. The same destination with campaign parameters bolted on needs 53×53. Printed at the same width, that more than halves the size of every individual module, and small modules are what scanners fail on first — especially on matte stock, at an angle, or in bad light.
So strip the URL down to what's needed. Drop the tracking parameters, drop www. if your site works without it, drop trailing slashes and session junk. If you can see the difference in the preview above as you edit, so can a phone camera.
See why dense codes fail for what's physically happening when a code doesn't scan.
You still need campaign tracking. Don't put it in the pattern.
The reason people paste 200-character URLs into QR generators is UTM tags, and the instinct is right — you should know which poster worked. The mistake is encoding them, because that pushes the density cost onto the printed artifact for a benefit that has nothing to do with printing.
A dynamic code solves this properly: the printed pattern holds a short redirect, and the campaign parameters live on the destination, which you can change whenever you like. Your analytics see exactly what they saw before. The code stays coarse, robust, and cheap to print small. You also get scan counts, which a static code can never give you, because a static code never contacts anyone.
Dynamic codes are available on every signed-in plan, including the free one.
Include the scheme
Type or paste the full address including https://. Without a scheme, scanners disagree: some infer a web address correctly, some display the raw text and do nothing at all, and you find out which after it is printed on five thousand flyers.
Use https rather than http. Both encode identically, but browsers increasingly interrupt plain HTTP with a security warning, and a warning screen is a poor first impression for something someone just scanned off a poster.
Where a link code earns its place
Anywhere the action you want is "look at this specific page" and typing is the obstacle: posters, packaging, table talkers, business cards, vehicle livery, print ads, product manuals, review cards, conference signage, shelf edging.
The most common and most expensive mistake is pointing it at a homepage. If a poster is about one product, send people to that product. Every navigation step between the scan and the thing they were promised is somewhere to lose them, and they are standing in a corridor holding a phone — they will not persevere.
Frequently asked questions
Is this free, and is there a watermark?
Free, and no watermark on any plan. You can generate and download without an account at all. Signing in adds a saved library, dynamic codes and scan analytics, but the codes themselves are never degraded to sell you an upgrade.
Does the code expire, or stop working if I stop using the site?
A static link code has the URL inside the printed pattern. It works forever with no dependency on us, or on anyone else, because scanning it never contacts a server. Dynamic codes are the deliberate exception — they route through our redirect so you can repoint them, which is the entire feature.
Can I point it at something that isn't a web page?
Yes. An app store listing, a PDF, a Google Maps place, a YouTube video, a payment link — they are all URLs, so they all work here. If what you want is a dialler, a mail draft or a Wi-Fi prompt, use the type built for it instead; those produce a proper native prompt rather than a browser hop.
Which download format should I send to a printer?
SVG, PDF or EPS — all three are vector, so they scale to any size with no quality loss. PNG is fine for screens and for anything you are placing at a known size. If a print shop asks for "vector artwork", that is what they mean.
Can I change where the code points after it's printed?
Only with a dynamic code, and only if you made it dynamic before printing. A static code's URL is part of the pattern — there is nothing to update. If there is any chance the destination moves, that decision has to be made now, not later.