QR Code Generator
Generate QR codes for URLs, text, Wi-Fi networks, and email. Download as PNG or SVG.
No data sent to serverRelated Tools
What is a QR Code?
A QR code (Quick Response code) is a two-dimensional barcode that can store text, URLs, contact information, Wi-Fi credentials, and more. Invented in 1994 by Denso Wave, QR codes have become ubiquitous in modern life — from restaurant menus and payment systems to event tickets and product packaging.
This generator creates high-quality QR codes with customizable colors and sizes. It supports four content types: URLs (website links), plain text, Wi-Fi network credentials (scan to connect), and email addresses with pre-filled subject and body. All QR codes use error correction level M, which can recover up to 15% of damaged data.
Unlike many QR code generators that require server-side processing, this tool runs 100% in your browser. Your data never leaves your device, making it ideal for generating QR codes containing sensitive information like Wi-Fi passwords or private URLs.
How to Use
- Choose a content type: URL, Text, Wi-Fi, or Email.
- Enter the content you want to encode in the QR code.
- Optionally customize the size (100-1000px) and colors.
- The QR code generates automatically as you type.
- Click Download PNG for a raster image, Download SVG for a scalable vector, or Copy Image to paste directly.
QR code use cases
- Restaurant menus: scan to view digital menu (post-COVID standard)
- Wi-Fi sharing: guest network without typing the password
- Event tickets: contactless entry, anti-counterfeiting
- Marketing: print → digital bridge (poster URLs, business cards)
- Payment: PayPal, Venmo, banking apps, KakaoPay, WeChat Pay
- App downloads: scan to install from Play Store / App Store
- Vaccine / health passes: encoded credentials with signatures
- Product packaging: link to manuals, warranty registration, recipes
- Authentication: 2FA setup (TOTP secret encoding)
QR code error correction levels
QR codes have built-in redundancy — even partially damaged codes can scan. Four levels:
- L (Low): ~7% recovery — smallest QR, most data
- M (Medium): ~15% recovery — this tool’s default, good balance
- Q (Quartile): ~25% recovery — more robust to damage
- H (High): ~30% recovery — survives logo overlays, weathering
For business cards / print, M is safe. For outdoor / industrial use, prefer H.
Content type formats
# URL https://example.com # Plain text any UTF-8 string # Wi-Fi (auto-connect on iOS / Android) WIFI:T:WPA;S:NetworkName;P:Password;H:false;; # Email (mailto with subject + body) mailto:foo@bar.com?subject=Hello&body=Message # Phone tel:+15551234567 # SMS sms:+15551234567?body=Hello # vCard (contact) BEGIN:VCARD VERSION:3.0 FN:Alice Smith TEL:+15551234567 EMAIL:alice@example.com END:VCARD # Geo coordinates geo:37.5665,126.9780?z=15 (Seoul, zoom 15)
Error Correction, and Why Damaged Codes Still Scan
QR codes carry redundant data so they remain readable when part of the image is obscured. There are four levels, from roughly 7% recoverable up to about 30%, and the trade is that higher correction means more modules for the same content — a denser code that needs to be printed larger.
The practical consequences: a code printed on packaging that will be handled, folded, or partly covered benefits from a higher level. A code on a clean screen does not need it. And the common trick of placing a logo in the middle of a QR code works precisely because error correction covers the obscured area — but only up to the limit, which is why an oversized logo silently breaks scanning.
Making a Code That Actually Scans
Keep the URL short. Every character adds modules. A long tracking URL produces a dense code that phones struggle with at small sizes; a short link scans from further away.
Respect the quiet zone. QR codes need clear space around them — roughly four modules’ worth. Crowding the code with text or a border is a frequent cause of failure.
Do not invert the colours. Scanners expect dark modules on a light background. Light-on-dark works on some phones and fails on others.
Print big enough. A rough rule is that the code should be at least a tenth of the scanning distance — a code read from two metres away needs to be around 20 centimetres.
Test on a cheap phone. Modern flagship cameras scan almost anything; older devices are the ones that reveal a marginal code.
FAQ
What is the maximum content length?
Up to 4,296 alphanumeric characters or 7,089 numeric digits. But longer content produces denser QR codes that are harder to scan. Keep under 500 characters for reliable scanning from a distance.
Should I download PNG or SVG?
SVG for print (infinitely scalable, perfect at any size). PNG for digital (websites, social media). For maximum print quality, SVG always wins.
Can I use custom colors?
Yes — change foreground (dark modules) and background. Important: maintain at least 4:1 contrast ratio (light background, dark foreground). Inverted (light on dark) sometimes fails to scan.
Can I add a logo to the center?
This tool doesn’t support logo overlay, but the H error correction level can survive ~30% obstruction. To add a logo, generate the QR code, then overlay your logo (centered, max ~25% of QR size) in any image editor.
How small can I print a QR code?
Minimum scannable size: 2 × 2 cm (0.8 × 0.8 inches) at typical scanning distance (10-15 cm). Larger sizes scan from farther — for posters or signs, scale to 5-10 cm minimum.
Is my data safe?
Yes — generation runs entirely in your browser. Verify by disconnecting from the internet — the tool still works. Safe for sensitive content (Wi-Fi passwords, private URLs).
Can I put a logo in the middle?
Yes, within limits. Error correction covers a small obscured area, but a logo beyond roughly 20–25% of the code will break scanning on some devices even if it works on yours.
Why will my code not scan from across the room?
Either the printed size is too small for the distance, or the content is long enough to make the code dense. Shortening the URL helps more than enlarging the image.
Do QR codes expire?
The code itself never expires — it is just an encoded string. What expires is whatever it points to, which is why a printed code should point at a URL you control rather than a temporary link.
⚠️ Reference Only
Output is generated based on your input and is provided for reference. Results may vary depending on your specific use case, edge cases, or environment-specific behavior. We do not guarantee accuracy of conversions, validations, or computed values.
Always verify critical outputs against official documentation or production environments. We are not responsible for any decisions or losses based on these tool results.