QR Code Generator
Generate a QR code as SVG or PNG in your browser, with a choice of error-correction level. Nothing about what you encode is uploaded.
Input
QR
| Version | 2 (25×25) |
|---|---|
| Error correction | M |
| Mask | 2 |
Why local generation matters here
QR codes routinely carry things worth protecting: a Wi-Fi password, a private meeting link, a contact card with a home address. Most generators send that text to a server to render the image.
Here the Reed–Solomon coding, the matrix layout and the mask selection all run in the page, and the SVG is assembled locally. No request is made at any point.
Choosing an error-correction level
- L — recovers about 7% damage. Smallest code; use it for a screen.
- M — about 15%. The usual default, and what this tool starts with.
- Q — about 25%. Worth it for print, or for a code that will be scanned at an angle.
- H — about 30%. Needed if you put a logo over the middle, since that is damage as far as the decoder is concerned.
A higher level means more of the code is redundancy, so the same text needs a larger version — more modules in the same space, which can make scanning harder rather than easier if the code is printed small.
Formats a scanner recognises
- A plain URL opens directly.
- WIFI:T:WPA;S:network;P:password;; joins a network on both iOS and Android.
- mailto:, tel: and sms: open the matching app.
- A vCard block adds a contact.
Frequently asked questions
Why does my code get denser when I add text?
It moves to a higher version, which has more modules. Past a certain size a code becomes hard to scan from a phone — keeping URLs short is the practical fix.
Can I put a logo in the middle?
Yes, at error-correction level H, covering no more than about 20% of the area. The decoder treats the logo as damage and recovers from it.
SVG or PNG?
SVG for print and for anything that will be resized — it stays sharp at any scale. PNG when you need to paste into a tool that does not accept SVG.
Is the Wi-Fi password I encode sent anywhere?
No. Everything is computed in this page, with no network request. That is the reason to generate a Wi-Fi code here rather than on a site that renders it server-side.