How to use
- Type or paste a link or text. The quick starts fill in an email, phone or Wi-Fi format for you.
- Pick an error-correction level. M suits most uses; choose H if the code may get scratched or covered by a logo.
- Press Download SVG for print, or Download PNG at the pixel size you need.
- Scan the code with your phone before you print or share it.
Everything happens in your browser, and your text never leaves it. The code is static: the data sits in the pattern itself, so it never expires and scans are not tracked.
How a QR code works
Your text is stored as bits in a grid of black and white squares, called modules. Extra error-correction codewords (Reed–Solomon) are added, so a scanner can still read a partly damaged code.
The generator picks the smallest version that fits. Version 1 is 21 × 21 modules, and each version adds 4 per side, up to version 40 at 177 × 177. Scanners also need a blank quiet zone 4 modules wide on every side.
Example
https://example.com is 19 bytes. At level M it fits version 2: 25 × 25 modules, or 33 × 33 with the quiet zone. Printed at 0.5 mm per module, that is 12.5 mm wide, or 16.5 mm with the margin.
How much fits at each level
| Level | Restores about | Max digits | Max bytes (text) |
|---|---|---|---|
| L | 7% | 7,089 | 2,953 |
| M | 15% | 5,596 | 2,331 |
| Q | 25% | 3,993 | 1,663 |
| H | 30% | 3,057 | 1,273 |
These are version 40 limits. Accented letters and emoji take 2 to 4 bytes each.
Tips for codes that scan every time
- Color: DENSO WAVE advises black on white. A red code can’t be read, because scanners use red light.
- Size: bigger is safer for distant scanning. More text means smaller modules, so shorten long links.
- Margin: never crop the white border; it is part of the code.
- Safety: if you scan a code in an unexpected place, check the link before opening it.
Need to put special characters into a link first? The URL encoder makes any text safe for a URL.