QR Code Generator
Make a QR code that works. Encode a plain link, a Wi-Fi network your guests can join by pointing a camera at it, or a contact card — and download it as a PNG or as a scalable SVG.
QR Code Generator tool
How to use the QR Code Generator
Choose what to encode
Text or a link for the common case. Wi-Fi builds a network payload from the name, password and security type. Contact card builds a vCard.
Fill in the details
A live preview updates as you type, so you can see the code taking shape.
Adjust size and colours
Keep strong contrast between foreground and background. Higher error correction makes the code survive damage and partial obstruction, at the cost of a denser pattern.
Download
PNG for screens and quick use. SVG for print, since it stays sharp at any size.
Where your files are processed
Your files are processed locally in your browser and are not uploaded to our servers.
The QR Code Generator runs as JavaScript on the page you are reading. When you choose a file, the browser hands it to that code directly — it is never put into a network request, so there is no upload to cancel, no copy sitting in a queue somewhere, and nothing for us to delete afterwards. We could not see your file if we wanted to.
You can verify this rather than take our word for it: open your browser’s developer tools, switch to the Network tab, and run the tool. You will see no request carrying your file. Better still, once the page has loaded you can disconnect from the internet entirely and the QR Code Generator will keep working — which it could not do if it depended on a server.
To be exact about what doesleave the page: like the rest of this site, it loads analytics, which record that a tool was opened and whether it succeeded. Those events carry the tool’s name and a duration — never a file, a file name, or anything read out of your file. The tool panel above is also excluded from session recording, so nothing shown inside it is captured either.
Frequently asked questions
Keep exploring
Credits
The file-processing behind this tool is adapted from DoxDock by Mithun Srinivas, used under the MIT Licence. Rebuilt here in TypeScript for this site.