QR Code Generator
runs in your browserMake a QR code for a link, Wi-Fi network, contact card, email, phone number or any text, and download it as SVG or PNG.
Details
Code
Fill in the details to see a code.
Higher error correction survives more damage but makes the code denser. Medium is right for a screen; use High or Highest if the code will be printed, folded or put on a sticker.
about this tool
More than a link
A QR code holds text, and phones act on that text according to a few conventions. This builds the right payload for you rather than making you remember the syntax:
- URL — opens in the browser
- Wi-Fi — joins the network, with the password embedded
- Email — composes a message with the address, subject and body filled in
- Phone and SMS — dials or opens a message
- vCard — offers to save a contact
The Wi-Fi code is the one people underuse. A code taped up in a guest room saves dictating a 20-character password, and it works on both iOS and Android without an app.
Error correction, and why it matters
QR codes carry redundant data so they still scan when damaged. Four levels are available, recovering roughly 7%, 15%, 25% and 30% of the code.
The choice is a genuine trade-off, not a "higher is better": more correction means more modules for the same content, so the pattern gets denser and each module smaller at a given print size. M is the sensible default. Choose Q or H for something printed on a surface that will be scuffed, curved, or partly obscured — a sticker on a machine, a label on a bottle — and L when the code is on a screen and the payload is long.
Keep the payload short
The theoretical ceiling is 2,953 bytes, but a code holding anything near that is a dense grid that phones struggle to read at speed. Short content produces a coarse, forgiving pattern that scans instantly from across a room.
For a long URL this is a real argument for a short link — though a shortener means the destination can change, and you cannot see where the code goes before scanning it, which is worth weighing for anything printed at scale.
A URL containing spaces or non-ASCII characters should be percent-encoded first, or some readers will mangle it.
Printing so it actually scans
Keep the quiet zone: the blank margin of about four modules around the code is part of the specification, and scanners fail without it. Maintain strong contrast — dark on light, never the reverse — and do not stretch the code out of square. Two centimetres square is a practical floor for print, more if it will be scanned from a distance. Always test with a real phone before printing a thousand.
Nothing leaves your browser
The code is generated in the page and downloaded from there. That is not incidental: many free QR generators route through a redirect they control, so the code stops working when they do, and they can see every scan. A code generated here points only where you told it to.
To make a code for every row of a spreadsheet rather than one at a time, the batch QR & barcode generator does the whole list and hands back a zip.
questions
- Which error correction level should I choose?
- M for most uses. Higher levels survive more damage but add modules, making the pattern denser and each module smaller at a given size. Use Q or H for codes on surfaces that will be scuffed or curved, and L for a long payload shown on screen.
- Can a QR code join a Wi-Fi network?
- Yes. Choose the Wi-Fi type and fill in the network name, password and security, and scanning it offers to join on both iOS and Android with no app. It is the most underused kind of QR code.
- Why will my QR code not scan?
- Most often a missing quiet zone — the blank margin of about four modules around the code is part of the specification. Otherwise: too small for the scanning distance, low contrast, inverted colours, or a stretched, non-square image.
- How much data can a QR code hold?
- Up to 2,953 bytes in theory, but a code near that limit is a dense grid that phones struggle with. Short content produces a coarse pattern that scans instantly, so keep payloads brief.
- Do these codes expire or track scans?
- No. The code is generated in your browser and encodes exactly the content you entered, so it points only where you told it to. Many free generators route through a redirect they control, which lets them count scans and stops working if they do.