What should the code do?
No https:// needed — it is added automatically if missing.
Most phones join the network straight from the camera app (Android 10+, iOS 11+).
Scanning saves the contact to the phone. Only filled-in fields are included.
Scanning opens the dialler with this number ready to call.
Scanning opens the point in the phone's maps app. Tip: in Google Maps, long-press a spot to see its coordinates.
Preview
Style & export
Error correction lets a scuffed or partly covered code still scan: L recovers ~7% damage, M ~15%, Q ~25%, H ~30%. Higher levels make a denser code. M suits screens and most uses; pick Q or H for stickers and print that may get scratched.
Generated entirely on your device — nothing is uploaded, no watermark, no expiry, free for commercial use. SVG stays razor-sharp at any print size.
What's inside this code?
The exact text stored in the QR code — handy for debugging or pasting elsewhere:
Scanning & printing tips
Size: print at least 2 × 2 cm for arm's-length scanning — roughly 1 cm of code for every 10 cm of scanning distance.
Quiet zone: keep the light margin around the code. It is part of the standard; don't crop it or place graphics inside it.
Colours: a dark code on a light background scans best. Low-contrast or inverted (light-on-dark) codes fail in many apps.
Test first: scan the preview with two different phones before printing a batch — especially M-Pesa codes (beta).
Engine: codes are generated locally by a faithful JavaScript port of Project Nayuki's MIT-licensed QR Code generator library. Nothing leaves your device.
Everything happens in your browser — nothing is uploaded, no account, no watermark, and your codes never expire.