The code is generated in your browser. Nothing you type — including Wi-Fi passwords — is sent anywhere.
Which error correction level to pick
Error correction lets a scanner read the code even when part of it is dirty, damaged or covered by a logo. Higher levels reproduce more redundant data, which makes the code denser.
| Level | Recoverable | Use it for |
|---|---|---|
| L (Low) | ~7% | Screens and clean digital use where size matters |
| M (Medium) | ~15% | General printing — the sensible default |
| Q (Quartile) | ~25% | Small labels, packaging, anything handled often |
| H (High) | ~30% | Codes with a logo over the centre, or harsh conditions |
Longer content needs a bigger, denser code. If yours looks crowded, shorten the URL before reaching for a lower error-correction level.
Printing a code that actually scans
- Keep the quiet zone. The white margin around the code is part of it — about four modules wide. The downloads here already include it.
- Two centimetres minimum for something scanned from arm's length. For a poster, the rule of thumb is width ≈ distance ÷ 10.
- Dark on light. Scanners expect a dark pattern on a light background. Inverting it stops many readers.
- Keep the contrast strong. Pale grey on white fails under poor lighting.
- Never stretch it. Scale width and height together.
- Test before printing 5,000 of them — with more than one phone.
What each code type contains
A QR code holds plain text. What makes a phone act on it is a prefix that tells the operating system what kind of thing it is:
- Website —
https://example.com - Wi-Fi —
WIFI:T:WPA;S:NetworkName;P:password;; - Email —
mailto:you@example.com?subject=Hello - Phone —
tel:+919876543210 - SMS —
smsto:+919876543210:Your message - Contact — a vCard block with name, phone and email
- UPI —
upi://pay?pa=you@bank&pn=Your%20Name&am=100
The Wi-Fi and UPI formats are the ones worth knowing: a Wi-Fi code lets guests join without being told the password aloud, and a UPI code works with every Indian payment app.