QR code generator
Create a QR code from any link or text, ready to download.
A logo goes in the middle. A PNG with a transparent background looks best.
Type something above to generate a QR code.
Type a link or any text and the QR code appears as you type. Download it as a PNG to print on a menu, a poster or a business card. The codes never expire and do not pass through any tracking redirect.
How to use it
- Type or paste your link or text.
- Adjust the size and error correction if you need to.
- Download the PNG.
Why use this tool
Completely private
Everything runs inside your browser. Your files and text are never sent to a server.
Free, with no limits
No sign-up, no watermarks and no cap on how many times you can use it.
Instant results
There is no upload or queue to wait for, so results appear as fast as your device can work.
Works on any device
Runs in any modern browser on phone, tablet or desktop. Nothing to install.
Frequently asked questions
- Do these codes expire?
- No. The QR code encodes your link directly, so it works for as long as that link does. Beware of generators offering 'dynamic' codes — those point at the generator's own redirect, which can stop working or start charging.
- What does error correction do?
- It adds redundancy so the code still scans when part of it is damaged, dirty or covered. L tolerates about 7% damage and H about 30%. Higher levels make the pattern denser, so for a fixed print size the modules get smaller.
- Which level should I choose?
- M is a good default for screens and clean printing. Choose H if the code will be printed small, placed outdoors, or have a logo overlaid on the middle — that overlay is damage as far as the scanner is concerned.
- Why does it say there is too much data?
- QR codes have a capacity limit that falls as error correction rises. Long URLs with tracking parameters hit it surprisingly often. Shorten the link or lower the level.
- Is my data sent anywhere?
- No. The code is generated in your browser, so the link — which might be a private document or an internal address — is never transmitted or logged.