QR Code Generator
Turn any link or text into a custom QR code — pick your colours and size, then download a sharp PNG. All in your browser.
Everything runs in your browser — your text is never uploaded or saved on our servers. This creates a static QR code (the data is encoded directly in the pattern), so it never expires and needs no account. Test custom-coloured codes with a real phone before printing.
Tips for QR codes that actually scan
Keep strong contrast: a dark pattern on a light background scans best, and the pattern must be darker than the background. Leave the quiet-zone margin on — QR codes need clear space around them to be detected. For print, download at 512px or larger so the code stays crisp, and keep the printed size at least 2–3cm wide. If you are placing a logo in the middle, raise the error correction to Q or H so the code still reads.
Frequently Asked Questions
Are these QR codes free and do they expire?
They are completely free and they never expire. This tool generates a static QR code that encodes your link or text directly into the pattern \u2014 there is no redirect, no tracking server, and no account behind it, so there is nothing that can be switched off or expire. The downloaded PNG will keep working forever as long as the destination URL it points to still exists.
Is my data sent to a server?
No. The entire QR code is generated inside your own browser using built-in JavaScript \u2014 your text or URL is never uploaded, logged, or shared. You can even disconnect from the internet after the page loads and it will still work.
What is the error-correction level?
Error correction lets a QR code still scan even if part of it is dirty, damaged, or covered (for example by a logo). Level L recovers about 7%, M about 15%, Q about 25%, and H about 30%. Higher levels make the code denser (more squares) but more robust. M is a good default for screens and print; use Q or H if the code will be printed small, on packaging, or with a logo placed over it.
Why does it warn me about my colours?
QR scanners rely on strong contrast between the dark pattern and the light background, and they expect the pattern to be darker than the background. If you pick a light foreground on a dark background, or two colours that are too close in brightness, many phone cameras will fail to read it. The warning appears when your chosen colours are likely to cause scan failures \u2014 test any custom-coloured code with a real phone before printing it.
What size should I download for printing?
For print, bigger is safer. Increase the size slider to at least 512px or 1024px before downloading so the PNG stays sharp when scaled onto a poster, flyer, or packaging. A rough rule for physical print is that the QR code should be at least 2\u20133cm wide for a close scan, and larger the further away people will scan it from.