How to use the QR code generator
- Pick the QR type — URL/text, Wi-Fi, vCard, email, SMS, or geo location.
- Fill in the content fields. The QR code regenerates live as you type.
- Adjust size (pixels), margin (quiet zone), foreground and background colors to taste.
- Pick an error correction level — M is the default and is fine for most uses. Use H if you plan to add a logo overlay.
- Download as PNG (raster) or SVG (vector, infinitely scalable).
QR code types explained
- URL / Text — the most common. Paste a URL or any text. The receiver's camera opens the URL or shows the text.
- Wi-Fi — lets guests connect without typing your password. Format:
WIFI:T:WPA;S:ssid;P:password;;. iOS 11+, Android 10+, most modern phones. - vCard — a contact card. Scanner offers "Add to Contacts" with the fields you filled in.
- Email (mailto) — opens the user's mail app with to/subject/body pre-filled.
- SMS — opens the messaging app with number and message pre-filled.
- Geo — opens the map app at the given coordinates.
Error correction levels
QR codes include redundancy so they still work when partially damaged or obscured. You pick the level:
- L — 7% recovery. Smallest code. Good when the QR will be printed cleanly and scanned up-close.
- M — 15% recovery (default). Balanced. Fine for most flyers, posters, business cards.
- Q — 25% recovery. Use for outdoor or slightly dirty environments.
- H — 30% recovery. Required if you overlay a logo on the center — the logo replaces ~25% of the code, and only H leaves enough margin.
Size and payload tradeoffs
QR codes have a maximum capacity per version. The longer your content (or higher your error correction), the bigger the code has to be to fit. For a typical URL, any EC level fits comfortably at 512×512. For Wi-Fi QRs with long passwords or full vCards, stick with M or use a larger pixel size. If you see a "too long" error, lower the EC level or shorten the content.
Privacy
This tool runs 100% client-side — the qrcode library executes in your browser and the QR is
drawn locally. Wi-Fi passwords, contact details, and email content never hit any server. Open DevTools →
Network and generate: zero requests. You can disconnect from the internet after the page loads and it keeps working.
Frequently asked questions
Why is my QR code scannable on one phone but not another?
Usually the issue is low contrast, too-small size, or bad lighting when scanning. Print at 2cm × 2cm minimum, use solid black on white if you can, and leave a quiet zone (the margin setting in this tool).
Can I add a logo to the center?
Yes — but pick error correction H (30%), download the SVG, and overlay your logo in a design tool (Figma, Illustrator). Keep the logo under 20% of the total QR area. A logo-in-QR feature is on the roadmap.
Does the QR include tracking?
No. The payload is exactly what you enter. If you want click tracking, wrap your URL in a URL shortener or redirector — but note that adds a dependency and a point of failure, and some QR scanners warn on shortened URLs.
Can I scan the QR with the same device that made it?
Usually no — phones can't scan a QR on their own screen. Display on one device, scan with another.
Are QR codes case-sensitive?
The encoded content preserves case. URLs ignore case in the hostname but preserve it in the path — make sure your URL path is correct.
What's the difference between PNG and SVG download?
PNG is a raster image — pixels. Fixed resolution. Good for web display, social posts, email signatures. SVG is vector — infinitely scalable, tiny file size, ideal for print (any physical size without pixelation) and for precise color control.
Related tools
- Base64 Encoder / Decoder — Encode and decode Base64 strings and files. Client-side, safe for sensitive data.
- URL Encoder / Decoder — Percent-encode and decode URLs per RFC 3986.
- UUID Generator — Generate UUID v4 and v7 identifiers in bulk.
- Hash Generator — Generate MD5, SHA-1, SHA-256, and SHA-512 hashes client-side.
Pillar
Part of Encoding & Crypto — Base64, URL encoding, JWT, hashes, UUID, QR.
Written by Mian Ali Khalid. Last updated 2026-04-25.