Tools
QR Code Generator
Turn text, a URL or Wi-Fi credentials into a QR code as you type — crisp SVG and PNG downloads, your colours, your choice of error correction. Built in your browser: no tracking, no expiry, no sign-up.
More on this site: all tools ·color palettes ·Base64 & URL encoder ·JSON formatter ·the arcade
Found a bug or a rough edge? Tell me — reports get fixed fast.
What is this tool?
A free QR code generator for plain text, links and Wi-Fi credentials. The code redraws live as you type, and downloads as acrisp SVG (infinitely scalable — right for print) or a PNG at the size you pick. You control the colours and the error-correction level, and the tool warns you when a choice would hurt scannability.
Two things set it apart from most "free" QR sites.First, nothing you type leaves your browser — the entire encoder (Reed–Solomon error correction included) runs client-side, so it's safe for Wi-Fi passwords and private notes. Second, the code encodes your actual content, not a shortened tracking link through someone else's server — which means it can't be used to count your scans, can't break when a middleman shuts down, andnever expires.
How to use it
- Pick Text, URL or Wi-Fi up top and fill in the payload.
- Choose an error-correction level — higher levels survive more damage but make a denser code (see below).
- Adjust colours if you like; keep the code darker than its background.
- Download as SVG for print and design work, or PNG at 256, 512 or 1024 pixels for documents and chat. Copy PNG puts it straight on your clipboard.
- Share copies a link that reopens this page with the same payload and options.
How a QR code works
A QR code is a grid of dark and light modules. The three big squares are finder patterns that let a camera locate and orient the code from any angle; the smaller square(s) are alignment patterns that correct for perspective; and the alternating line between finders is a timing pattern that establishes the grid. Everything else is your data — encoded, split into codewords, and protected byReed–Solomon error correction, the same maths that let CDs play through scratches.
Sizes are called versions: version 1 is 21×21 modules, and each version adds 4 modules per side up to version 40 (177×177, up to 2,953 bytes). This tool always picks the smallest version your content fits — smaller codes have bigger modules at the same print size, and bigger modules scan more reliably.
Error correction: L, M, Q or H?
Error correction adds redundant codewords so a partly damaged, smudged or obscured code still scans. More redundancy means a denser code, so it's a trade-off:
| Level | Recoverable | Choose it when… |
|---|---|---|
| L | ~7% | The code lives on a screen and space is tight. |
| M | ~15% | Default — the standard choice for most uses. |
| Q | ~25% | Print that will be handled, stickered or weathered. |
| H | ~30% | Small print, rough conditions, or a logo placed over the middle. |
That last case is how logo-in-the-middle QR codes work: the logo simply destroys the modules under it, and level H's redundancy reconstructs them. Keep any overlay well under 30% of the area, and never cover the three corner squares.
Wi-Fi QR codes
Phones understand a smallWIFI:T:WPA;S:name;P:password;; payload: point the camera at the code and the phone offers to join the network — no typing, no reading the password aloud. This tool escapes special characters in names and passwords correctly (a semicolon in a password breaks naive generators), supports WPA/WPA2/WPA3, WEP and open networks, and can flag a hidden SSID. Since the encoding happens on your device, your Wi-Fi password is never sent anywhere — which is not something most online Wi-Fi QR generators can honestly say.
Colours and scannability
- Keep the code darker than the background. Most readers assume dark-on-light; an inverted code fails on many phones. The tool warns you if you flip them.
- Contrast matters more than hue. Navy on white scans fine; yellow on white doesn't. Aim for a contrast ratio of 4:1 or better — the tool checks this for you, and the palette generator can find accessible pairs.
- Respect the quiet zone. The empty margin around the code (4 modules, included in every download here) is how a reader finds the edges. Don't crop it or print on top of it.
- Test at final size. A rule of thumb for print: scanning distance ÷ 10 ≈ minimum code width. A code scanned from 25 cm should be at least 2.5 cm wide.
FAQ
Is it free? Yes — free, no sign-up, no watermarks, no limits.
Do the codes expire? No. A QR code is just a picture of your data. Generators that "expire" codes are routing your scans through their server with a short link — this tool encodes your content directly, so the code works as long as the content does.
Is my data uploaded anywhere? No. The encoder runs entirely in your browser; the page works the same if you go offline after loading it. Wi-Fi passwords included.
Can I track scans? Not with a plain QR code — and this tool doesn't add tracking. If you need scan counts, point the code at a URL whose analytics you control.
SVG or PNG? SVG for anything printed or designed (it stays razor-sharp at any size); PNG for documents, slides and chat apps. For print at PNG, use 1024 px.
Which standard does it follow? ISO/IEC 18004 — versions 1–40, all four error-correction levels, numeric, alphanumeric and byte (UTF-8) modes, with the mask pattern chosen by the standard's penalty scoring so the result scans as reliably as possible.
Built from scratch for this site in vanilla TypeScript — the full ISO/IEC 18004 encoder with Reed–Solomon error correction over GF(256), mask penalty scoring and BCH format codes, unit-tested against an independent decoder, zero runtime dependencies.