Generate QR codes that never expire
This generator encodes your content directly into the QR image — no redirect server, no tracking, and no expiry — so the code keeps working as long as QR codes exist. It’s for anyone putting a link, WiFi password, or contact card on a poster, menu, label, or slide who wants a permanent, downloadable code.
How it works
The tool runs the open-source qrcode library locally. Your text is rendered
onto a <canvas> and exported to a PNG via canvas.toDataURL("image/png"), and
separately rendered as an SVG string for a vector download. You control the pixel
size (80–1024), the foreground and background colors, and the
error-correction level, which sets how much redundancy is built in so the
code still scans when partly obscured.
Example
Encoding https://gera.tools at 320 px with level M produces a code with ~15%
error correction — enough to survive a small smudge or a tight crop. Bumping to
level H raises that to ~30%, the right choice if you place a logo in the centre.
Error-correction levels
| Level | Recovery | Best for |
|---|---|---|
| L | 7% | Clean digital displays |
| M | 15% | General use (default) |
| Q | 25% | Printed labels that may scuff |
| H | 30% | Codes with a logo overlay |
Everything is generated locally in your browser — your content is never uploaded.