QR Code Generator
Generate QR codes from text, URLs, WiFi credentials, or vCards — adjustable size and error correction.
How to Use
- Pick the payload type — plain text or URL, WiFi credentials, email, phone, or SMS.
- Enter the content. Type-specific fields appear (e.g., SSID and password for WiFi).
- Adjust the size slider for your output use case (printed flyer vs. on-screen).
- Pick error correction level: L (7% damage tolerance), M (15%), Q (25%), or H (30%). Higher = more recoverable but denser code.
- Download as SVG (perfect for print or vector workflows) or PNG (raster, ready for the web).
- Test by scanning with your phone before distributing, especially for WiFi and contact codes.
Payload Formats
A Brief History of the QR Code
The QR ("Quick Response") code was invented in 1994 by Masahiro Hara at Denso Wave, a subsidiary of Toyota, to track parts in automobile manufacturing. Existing 1D barcodes held only a few dozen characters; Hara wanted a code that could be scanned from any angle and held substantially more data. The square format with three corner registration markers (the distinctive "eyes") was specifically chosen to be unambiguous and rapid to align — the design target was 10 codes per second, which is why it was branded "Quick Response."
Denso Wave deliberately did not enforce the patent, allowing the format to spread freely. ISO standardized it as ISO/IEC 18004 in 2000. Adoption was slow in the West for over a decade — early scanning required dedicated apps, and the iPhone didn't gain native QR scanning until iOS 11 in 2017. The COVID-19 pandemic transformed everything: contact tracing, restaurant menus, vaccine certificates, and contactless payment all leaned heavily on QR. By 2022 QR scanning was effectively universal across smartphones, and merchants in much of Asia (where QR-based payment had been ubiquitous since the mid-2010s) were finally joined by the rest of the world.
Today QR codes are everywhere from packaging to monuments. The format itself has barely changed since 1994 — the same registration patterns, the same Reed-Solomon error correction (which is why a coffee-stained or scratched code still scans), and the same ISO spec. Newer variants (Micro QR for tiny labels, rMQR rectangular for narrow surfaces) extend the family but the classic square code dominates.
About This Generator
This generator builds standards-compliant QR codes (ISO/IEC 18004) with Reed-Solomon error correction at your chosen level. SVG output is vector and renders crisp at any size — recommended for anything that will be printed. PNG is rasterized at the resolution you select via the size slider. Both download directly from your browser; nothing is sent to a server.
The payload is built locally based on the type you pick: URLs are passed through unchanged; WiFi, mailto, tel, and SMS use the standard URI scheme each one relies on. Data, including any password you enter for a WiFi code, never leaves your browser. Test-scan the output with the device you intend the audience to use before mass-printing — different scanners have slightly different tolerance for edge cases.
Frequently Asked Questions
What's the right error correction level?
L (7%) gives the smallest, cleanest code — use it for plain digital QR codes that will never be obscured. M (15%) is the universal default. Q (25%) and H (30%) are needed if the code will be printed on packaging that might be damaged, partially obscured by a logo (the modern QR-with-logo trick depends on H), or scanned in poor lighting. Higher correction means more black squares, so the code becomes denser/harder for scanners to resolve from a distance — there's a real trade-off.
How much data fits in a QR code?
Up to 2,953 bytes / 4,296 alphanumeric / 7,089 numeric characters at maximum size (Version 40, 177×177 modules) with the lowest error correction. In practice, codes above ~300 characters become hard to scan reliably with a phone camera. For long content, store a short URL pointing to the actual data.
How does the WiFi QR format work?
The format is WIFI:S:<ssid>;T:<WPA|WEP|nopass>;P:<password>;H:<true|false>;; — the H flag indicates a hidden network. iPhone, Android, and most Linux/macOS systems can scan and join a WiFi network directly from such a QR code. The format was popularized by Android in 2010 and is now de facto universal.
Will the code work in 5 years?
QR is an ISO standard (ISO/IEC 18004) and decoders are extremely backward-compatible — a code generated today will scan in 20+ years. The risk is the content the code points to: a URL is only as durable as the page behind it. For long-lived codes (gravestones, monuments, archival), point to a domain you control or use a permanent identifier service.
Can I add a logo to the center?
Yes — error correction is what makes this work. Use level H (30% recovery) and overlay a logo no larger than ~25% of the code's width. The decoder still has enough redundant data to reconstruct the missing center. Test thoroughly with multiple scanners before printing.
PNG or SVG?
SVG for anything that will be printed at a non-trivial size or at unknown resolution — vector renders perfectly at any scale. PNG for embedding in fixed-size digital contexts (emails, web pages where SVG support might be inconsistent). For most uses, SVG is the better default.
Common Use Cases
Restaurant menu
A QR on each table that opens the digital menu. Use error correction Q or H if printed on a sticker that may scuff over time.
WiFi for guests
Display a printed QR at the front desk or in the guest room so visitors can join the network without typing the password.
Business cards
Encode a vCard or your portfolio URL on a paper business card so contact details transfer with one scan.
Event tickets and badges
Generate a unique QR per attendee that scans into your check-in system. Use level Q+ since badges can crinkle.
Marketing materials
Posters, packaging, and ads with QRs linking to a landing page. Use UTM-tagged URLs to track which placement performs best.
Two-factor authentication setup
Most TOTP authenticator apps (Google Authenticator, Authy, 1Password) parse otpauth:// QR codes for one-step enrollment.
Last updated: