QR Code Generator
Create custom QR codes for links, WiFi, email, and more — download as PNG or SVG.
21 characters
Higher levels stay scannable even if the code gets damaged or partly covered — useful if you add a logo.
Preview
Enter some content to generate your QR code.
Generated entirely in your browser. Your data never leaves this page.
QR codes went from a niche inventory tool to something you scan at restaurant tables, and the technology underneath is more interesting than its ubiquity suggests. A QR code is a two-dimensional barcode that stores data in a grid, and its defining feature is Reed-Solomon error correction — the same mathematics that keeps CDs playable when scratched. That is why a code with a logo covering its center still scans, and why a partially torn poster still works. This generator creates codes for URLs, WiFi credentials, email, and phone numbers, entirely in your browser, and exports as PNG or SVG.
How the generator works
Enter your data — or pick a preset for WiFi, email, or phone, which formats the underlying string correctly for you — then choose a size, error correction level, and colors. The code is rendered live in your browser as you type, with nothing sent to any server. Export as PNG for general use or SVG when you need to scale the code without quality loss, which matters for print work where a rasterized code at the wrong size becomes unscannable.
How error correction works
Level L ≈ 7% of the code can be damaged
Level M ≈ 15% (the usual default)
Level Q ≈ 25%
Level H ≈ 30% (needed for center logos)
Higher correction = more redundant data
= denser grid for the same content
WiFi format: WIFI:T:WPA;S:NetworkName;P:password;;Error correction is not free — the redundancy has to live somewhere, so raising the level from L to H roughly doubles the number of modules needed for the same data. A denser grid means smaller squares, which paradoxically makes the code harder to scan at a distance or in poor light. Level H is genuinely necessary when placing a logo over the center; using it everywhere else trades away scan range for redundancy you do not need.
What to know about QR codes
- 1Keep the quiet zone. QR codes need a clear margin of at least four modules on every side, and scanners genuinely fail without it. Designers who crop the code tight against surrounding artwork produce codes that look better and work worse — this is one of the most common real-world QR failures.
- 2Contrast matters more than color. Codes do not have to be black, but they must be dark-on-light with strong contrast. Inverting to light-on-dark breaks many scanners, which expect dark modules on a light background. Test any colored code on both iOS and Android before printing a thousand of them.
- 3Shorter data means a simpler, more reliable code. A long URL creates a dense grid of tiny modules that struggles at distance or on a phone with a mediocre camera. Shortening the URL first is the single most effective way to make a code scan reliably from across a room.
- 4Size the code for scanning distance. The rule of thumb is that the code should be roughly one tenth of the intended scanning distance — a code scanned from 2 meters needs to be about 20 cm across. Business card codes work because they are scanned from 20 cm, not because they are large.
- 5Static QR codes cannot be changed after printing. The URL is baked into the pattern itself. If you might need to redirect it later, encode a short link you control rather than the destination directly — otherwise a changed landing page means reprinting everything.
Frequently asked questions
Which error correction level should I choose?
Medium (M) is the right default for most uses, tolerating about 15% damage while keeping the grid reasonably open. Choose High (H) only if you are placing a logo over the center or printing onto something that will be handled roughly. Higher levels are not universally better — the extra redundancy makes the grid denser, which actually reduces scanning range.
Can I put a logo in the middle of a QR code?
Yes, and this is exactly what error correction enables. Use level H, keep the logo under roughly 25% of the code's area, and center it — the corner alignment patterns must stay completely clear. Always test the result on multiple phones before committing to print, since the margin for error is smaller than it looks.
Do QR codes expire?
The code itself never expires — it is just a pattern encoding a string, and it will decode identically in fifty years. What expires is whatever the code points to. A code linking to a dead URL scans perfectly and delivers a 404. This is why encoding a short link you control is safer than encoding a destination you might one day change.
How do I create a WiFi QR code?
Use the WiFi preset, which builds the correctly formatted string for you: `WIFI:T:WPA;S:NetworkName;P:password;;`. Scanning it prompts the phone to join the network without typing the password. Note that this stores the password in plain text inside the code, so anyone who photographs it has your WiFi credentials — fine for a guest network, less so for your main one.
Is my data sent to a server?
No. The code is generated entirely in your browser and nothing is transmitted or stored. This matters for WiFi codes in particular, since those contain a real password. You can verify it by disconnecting from the internet — the generator continues to work, because no server is involved at any point.