QR Code Generator
Create a downloadable QR code from a URL, text, phone number or Wi-Fi network.
Runs entirely in your browser — nothing you enter is uploaded.
How to use QR Code Generator
- Choose what you're encoding — website address, plain text, phone number or Wi-Fi network.
- Fill in the fields for that content type.
- Choose an error correction level based on where the code will be used.
- Download as PNG for screens, or SVG for anything that will be printed or resized.
How this works
The encoder implements ISO/IEC 18004. Input is segmented into the most efficient mode available — numeric, alphanumeric or byte — then padded, protected with Reed–Solomon error correction, interleaved and masked. The mask pattern is chosen by scoring all eight candidates against the penalty rules in the specification, which is what keeps the finished symbol readable rather than producing large blocks that confuse scanners. Everything runs in your browser; the content is never uploaded.
Assumptions
- Error correction level M is used by default, tolerating roughly 15% damage to the symbol.
- The quiet zone is four modules wide, as the specification requires. Cropping it will break scanning.
- Wi-Fi codes follow the widely supported WIFI: URI scheme, which iOS and Android both recognise.
Worked example
Encoding a 40-character URL at error correction level M.
- Content
- 40-character URL
- Error correction
- M (~15%)
- Result
- A version 3 symbol, 29 × 29 modules
Shorter content produces a lower version with larger, more forgiving modules. Raising error correction to H on the same URL pushes it to version 4, because the redundancy needs space — which is the trade-off: more damage tolerance, denser code.
How to read the result
Choose error correction by where the code will live. Level L suits clean digital display; M is a sensible default for print; Q or H are worth the density penalty for labels, packaging or anything that will be scuffed, curved or partially obscured. For print, download the SVG rather than the PNG — it scales to any physical size without softening the module edges, which is the usual cause of codes that scan on screen but fail on paper.
Limitations
- Very long input produces dense symbols that need a larger physical size or a closer scan to read reliably.
- Codes are static. The destination cannot be changed once printed, and there is no scan tracking.
- Heavy styling, low contrast or inverted colours break scanning on many readers.
Frequently asked questions
- Will this QR code scan on any phone?
- Yes — it's a standard ISO/IEC 18004 symbol readable by any modern phone camera or QR scanner app, with no proprietary format or app requirement.
- Why does my code look different each time I change the error correction level?
- Higher error correction adds redundancy so the code still scans even if part of it is damaged or obscured, but that redundancy takes up space — so the same content produces a denser symbol at level H than at level L, as explained above.
- Is the Wi-Fi password visible in the code?
- Yes — anyone who scans a Wi-Fi QR code can see or use the credentials encoded in it, the same as if you told them the password directly. Only share it with people you'd give the password to anyway.