Paste the URL
Include the https:// — cameras treat a bare string without a scheme as text, not a link. The shorter the URL, the fewer modules in the grid and the further away it scans.
Free tools · No account, no watermark
The simplest QR code there is: a URL, encoded into a grid, opened by any phone camera. The generator below is the same renderer our paid product uses — type your address, pick a look, and the scannability check judges the result before you print it.
One decision matters more than the design: static or dynamic. A static code encodes the URL itself — free forever, works forever, but the destination is fixed the moment you print. A dynamic code encodes a short link you can repoint later, which is what you want the day the page moves.
Pick a look
Error correction
Logo
This is the app's own renderer and its own scannability check, running in your browser — the logo included never leaves your device. Every preset on this shelf is decode-audited before it ships.
Scannability: Excellent
No watermark, no account. Print-grade: whole pixels per module.
Any http(s) URL. The full address is encoded, so shorter URLs make coarser, easier-scanning grids.
How to get it right
Include the https:// — cameras treat a bare string without a scheme as text, not a link. The shorter the URL, the fewer modules in the grid and the further away it scans.
Every preset is decode-audited before we ship it. If you push contrast too low the verdict below the preview says so — before the print run does.
Use vector formats (SVG, PDF, EPS) for anything a print shop touches; PNG for screens and documents. Leave the quiet zone alone — the empty border is part of the code.
The honest catch
What you make here is a static code: the content is encoded in the grid itself, it never expires, and it needs nothing from us to keep working — print it and forget us. The one thing it can never do is change. A dynamic code encodes a short link you can repoint any time after printing, counts every scan, and can carry your own domain. That's the paid product, and it starts with a free trial.
Questions
No. A static code encodes the URL directly in the grid — there is no service in the middle, nothing to renew, and nothing we could switch off. It works for as long as the URL it points to does.
That's the one thing a static code can't survive — the destination is baked in. If the address might change, use a dynamic code instead: it encodes a short link you can repoint any time, and the print stays valid.
More free generators
Unlimited static codes on every plan. Dynamic codes you can repoint after printing, on your own domain.