Create a QR-CODE file from your input in seconds—generate, preview, and download your QR code directly from your browser.
mailto:[email protected]), phone number (tel:+15551234567), SMS body (SMSTO:+15551234567:Hello), Wi-Fi credentials (WIFI:T:WPA;S:NetworkName;P:password;;), a vCard 4.0 block, or geographic coordinates (geo:37.7749,-122.4194). The code re-renders as you type.QR (Quick Response) codes are 2D barcodes invented by Denso Wave in 1994 and standardized as ISO/IEC 18004. They store up to 7,089 numeric or 2,953 byte-mode characters in a single black-and-white grid and use Reed-Solomon error correction so a partially damaged code still decodes. iOS 11 (2017) and Android 8 added native scanning to the camera app, which is why a QR on a menu, parking meter, or shipping label "just works" today without a separate reader app.
WIFI:T:WPA;S:GuestNetwork;P:s3cret!;; so visitors connect by scanning instead of typing a 24-character password. iOS and Android both recognize the format natively; escape special characters (\, ;, ,, :, ") with a backslash.| Property | Static QR (what this tool generates) | Dynamic QR (paid services) |
|---|---|---|
| Encoded data | Final URL or payload directly | Short redirect URL pointing to a service |
| Editable after print | No — data is baked in | Yes — change the redirect target anytime |
| Requires account / subscription | No | Yes (monthly fee, code dies if subscription lapses) |
| Tracks scans | No (privacy preserving) | Yes (logs IP, device, time per scan) |
| Code complexity | Scales with payload length | Always small (short redirect URL) |
| Best for | Permanent data: Wi-Fi, vCard, fixed URLs, tickets | A/B testing, marketing analytics, frequently-changed links |
| Failure mode | Works forever if printed correctly | Stops working if the redirect service shuts down |
If you need editable content or scan analytics, use a dynamic QR provider (Bitly, QR Code Generator, Beaconstac). For everything else — Wi-Fi, contact cards, permanent URLs, tickets — a static QR like this one is free, lasts forever, and never phones home.
| Level | Recovery | Capacity at Version 40 (byte mode) | When to pick it |
|---|---|---|---|
| L (Low) | ~7% | 2,953 chars | Pristine digital display; max payload, no damage expected |
| M (Medium) | ~15% | 2,331 chars | Default for clean print; good general-purpose choice |
| Q (Quartile) | ~25% | 1,663 chars | Outdoor signage, packaging, surfaces that get dirty or scratched |
| H (High) | ~30% | 1,273 chars | Logo overlay, industrial labels, partially-obscured placements |
Source: ISO/IEC 18004:2024 capacity tables and the Denso Wave error correction reference. Higher levels trade payload for resilience — H roughly halves capacity vs L but lets the code lose almost a third of its modules.
| Type | Format string |
|---|---|
| URL | https://www.example.com |
| Plain text | Any UTF-8 string |
mailto:[email protected]?subject=Hi&body=Hello |
|
| Phone | tel:+15551234567 |
| SMS | SMSTO:+15551234567:Pre-filled message |
| Wi-Fi (WPA/WPA2) | WIFI:T:WPA;S:NetworkName;P:password;H:false;; |
| Wi-Fi (open) | WIFI:T:nopass;S:NetworkName;; |
| Geo location | geo:37.7749,-122.4194 |
| vCard 4.0 | BEGIN:VCARD\nVERSION:4.0\nFN:Jane Doe\nTEL:+15551234567\nEMAIL:[email protected]\nEND:VCARD |
| Calendar event | BEGIN:VEVENT\nSUMMARY:Meeting\nDTSTART:20260601T140000Z\nDTEND:20260601T150000Z\nEND:VEVENT |
The double-trailing-semicolon on the Wi-Fi format is required — single semicolon makes most phones prompt for the password instead of connecting.
Pick H (30% recovery) whenever the code will be physically modified or obscured: overlaying a logo, printing on a curved surface (bottles, mugs), exposing it to weather or grease, or producing small print where a single dust speck could blot out several modules. Picking H for a clean digital display wastes capacity — M (15%) is the practical default and matches what most generators emit by default.
A static QR encodes the final data directly into the code pattern — once printed it cannot be changed, but it works forever and reveals no information back to the creator. A dynamic QR encodes a short redirect URL pointing to a third-party service that forwards visitors to the real destination, which lets the owner edit the target and log scan analytics. Dynamic codes require an active subscription; if the redirect service shuts down or billing lapses, every printed code becomes a dead link. This tool generates static codes only.
Yes — every scan of a dynamic QR hits the redirect service first, which can log your IP address, approximate location, device, browser, and timestamp before forwarding you to the destination. Static QRs decode entirely on-device and contact only the URL you see, so they cannot track scans by design. If privacy matters (Wi-Fi sharing on a flyer, a personal vCard) prefer static codes.
The largest standard QR is Version 40 (177 × 177 modules). At the lowest error-correction level (L), it holds 7,089 numeric digits, 4,296 alphanumeric characters, 2,953 bytes (UTF-8), or 1,817 kanji characters per the ISO/IEC 18004 specification. Higher error correction reduces capacity — at H, byte-mode capacity drops to 1,273 characters. Realistic URL payloads stay well under Version 10 (57 × 57 modules) for fast scanning.
The de-facto standard is WIFI:T:<auth>;S:<ssid>;P:<password>;H:<hidden>;; where T is WPA (covers WPA/WPA2/WPA3), WEP, or nopass, and H is true for hidden SSIDs. The double semicolon at the end is mandatory — without it most scanners prompt for a password instead of auto-joining. Escape \, ;, ,, :, and " inside the SSID or password with a backslash. Both iOS (since iOS 11) and Android (since 10) recognize the format from the system camera.
Apply the 10:1 rule: scan distance ≈ 10× the printed code width. A 2 cm × 2 cm code reads from about 20 cm (smartphone held in hand), 3 cm × 3 cm from arm's length (~30 cm) on a flyer, 8 cm × 8 cm from ~80 cm on a poster, and storefront signage at 30 cm × 30 cm reads from across the street. Keep a "quiet zone" — a blank margin of at least 4 modules — around the code; cropping into it kills scan reliability fast.
Use SVG for any print job that may be resized (business cards, posters, packaging) — the vector format stays sharp at any scale. Use PNG for fixed-resolution digital use: web pages, emails, slide decks, app screens. Both formats produced here have no watermark and use the colors and size you set. For tighter raster file sizes, run the PNG through a PNG compressor after export.
No. The QR is generated entirely in your browser using client-side JavaScript — the text, URL, Wi-Fi password, or vCard you enter never leaves your machine. You can verify by opening this page, disconnecting from the network, and confirming the code still generates. Pair with a password generator or JSON formatter when you need to compose the payload locally before encoding.
QR code density is determined by payload length and error-correction level. Adding characters or raising the ECC level forces the encoder to step up to a higher Version (larger module grid). A 30-character URL at M typically fits Version 3 (29 × 29 modules); add UTM parameters that push it to 200 characters and you jump to Version 9 (53 × 53) — same physical size on screen, but each module is smaller and harder to scan at distance. Shorten the URL or drop to Version-appropriate ECC to keep modules large.