⬛ QR Code Generator
Generate QR codes for URLs, WiFi, text, email, and phone. Download as PNG up to 512×512px. Free QR code maker — no signup, runs entirely in your browser.
How to Use
Choose a type
Select URL, Text, WiFi, Email, or Phone from the type tabs at the top.
Enter your content
Fill in the input fields for your chosen QR type. All fields update the preview live.
Download your QR code
Click Generate QR Code, then Download PNG to save the QR code to your device.
Frequently Asked Questions
Complete Guide: QR Code Generator
What Is a QR Code and Why It Matters
A QR code (Quick Response code) is a 2D matrix barcode standardized under ISO/IEC 18004:2015. Developed by Denso Wave in 1994 for automotive parts tracking, it became ubiquitous after smartphone cameras began decoding them natively (iPhone in iOS 11, Android in 2017). Unlike 1D barcodes that encode only ~20 numeric digits, a QR code can store up to 7,089 numeric characters or 4,296 alphanumeric characters in a 1-inch square.
What makes QR codes resilient is their built-in Reed-Solomon error correction. Even if up to 30% of the code is damaged, obscured, or printed over with a logo, the scanner can still reconstruct the original data. This is why you see QR codes on restaurant menus with a company logo in the center — that deliberately obscures part of the code, exploiting the error correction capacity.
Modern use cases span contactless payment (WeChat Pay, Alipay, UPI), WiFi credential sharing, product authentication (luxury goods use high-error-correction QR codes on tags), event ticketing, vCard contact sharing, app deep links, and cross-device authentication (like signing into WhatsApp Web by scanning a QR).
How to Use the QR Code Generator
- Select a content type — URL, plain Text, WiFi credentials, Email address, or Phone number.
- Fill in the fields — all inputs update the QR preview in real-time.
- Choose error correction level — L (7%) for clean digital screens, M (15%) for general use, H (30%) for printed materials or codes with overlaid logos.
- Set the output size — 128px for web thumbnails, 512px for print (scale up in your design tool).
- Click Generate QR Code, then Download PNG to save to your device.
Code Examples
// JavaScript (qrcode.js): generate in the browser
import QRCode from 'qrcode';
// Basic URL QR
const canvas = await QRCode.toCanvas('https://onhtml.com', {
errorCorrectionLevel: 'H',
width: 300,
margin: 2
});
// WiFi QR string format (WPA2)
const wifi = 'WIFI:T:WPA;S:MyNetwork;P:MyPassword;;';
// T = authentication type (WPA, WEP, nopass)
// S = SSID, P = Password, H = hidden network (true/false)
// vCard QR for contact sharing
const vcard = [
'BEGIN:VCARD',
'VERSION:3.0',
'FN:Alice Developer',
'TEL:+15551234567',
'EMAIL:alice@example.com',
'URL:https://alice.dev',
'END:VCARD'
].join('\n');
// Python: generate and save
# pip install qrcode[pil]
import qrcode
qr = qrcode.QRCode(error_correction=qrcode.constants.ERROR_CORRECT_H)
qr.add_data('https://onhtml.com')
qr.make(fit=True)
img = qr.make_image(fill_color='black', back_color='white')
img.save('qr.png')
Common Mistakes to Avoid
- Making it too small — Minimum physical size for reliable scanning is about 1 cm × 1 cm (0.4 in). Below that, consumer cameras struggle. For billboards, apply a minimum size rule: QR width should be 1/10th of the viewing distance.
- Low contrast — The dark modules must have sufficient contrast against the light background. Colorful QR codes (dark blue on navy) fail scanners. Always test with your actual target scanner before printing.
- Encoding long URLs directly — Every extra character increases module density and reduces scannability. Use a URL shortener for URLs longer than ~50 characters. As a bonus, shorteners give you scan analytics.
- Using low error correction for print — Printed materials get scratched, folded, and coffee-stained. Use level H for anything physical.
- Not testing before distributing — Test on at least three different devices (iOS, Android mid-range, older Android) before printing 10,000 flyers.
- WiFi password in cleartext — The WiFi QR format embeds the password in plaintext. Don't use it for networks with sensitive access requirements or shared network passwords.
Comparison with Alternatives
NFC tags have higher data capacity and work with a tap rather than a camera scan — better for high-end products or access cards, but the chips cost ~$0.20–$2 each vs free QR printing. 1D barcodes (EAN-13, Code 128) hold much less data and scan only horizontally — still standard in retail inventory. Data Matrix codes are similar to QR but smaller at high density — preferred in pharmaceutical packaging. Standard app deep link URLs with App Clips / Instant Apps let iOS and Android open apps without installing them — useful for specialized experiences, but requires app infrastructure.
Pro Tips
- Track scans with UTM parameters: Use
https://yoursite.com/page?utm_source=qr&utm_medium=print&utm_campaign=flyer2026to see QR-originated traffic in Google Analytics. - Dynamic QR codes: Instead of encoding the final URL, encode a redirect URL you control. Change the destination without reprinting. Services like Bitly, Rebrandly, or a self-hosted redirect endpoint handle this.
- Color customization: If you color the QR code, ensure the dark modules stay darker than the light background by at least a 4:1 luminance ratio. Inverted (light on dark) QR codes often fail on iOS.
- Quiet zone: QR codes require a 4-module "quiet zone" (white border) around them. Trimming this away at print time is the most common reason for scanning failures.