Free · in-browser · never expires
QR Code for Plain Text
Generate it below — built on your device, downloadable as PNG or SVG, with no watermark and nothing uploaded.
Short answer
A text QR code stores the characters themselves — no URL involved. Scanning shows the text directly: instructions, a serial number, a coupon code, a poem. Capacity tops out at 2,953 bytes at the lowest error-correction level; shorter text makes a coarser, easier-to-scan code, so keep it as brief as the job allows.
Your QR code
Generated on your device — nothing is uploaded, the code never expires, and there is no hidden redirect through our servers.
Worth knowing
Text codes shine where there's no connectivity: asset tags in a warehouse, equipment instructions in a basement, contact details on a business card that work with airplane mode on. Because our generator runs locally, the text never touches a server — safe for internal references and codes.
QR error-correction levels
| Level | Name | Damage it survives | Use when |
|---|---|---|---|
| L | Low | ~7% | Screens only, maximum capacity |
| M | Medium | ~15% | The sensible default |
| Q | Quartile | ~25% | Printed materials |
| H | High | ~30% | Outdoor stickers, small prints, logos overlaid |
Higher correction = denser code at the same content. Capacity tops out at 2,953 bytes (version 40, level L).
How we calculate this
What actually gets encoded, and why our codes can't expire:
- Payload. your content becomes a standard string — a URL as-is, WIFI:T:…;S:…;P:…;; for networks, mailto:/tel:/sms: URIs — with special characters escaped per each format's rules.
- Encoding. the open-source qrcode library builds the ISO/IEC 18004 matrix in your browser (Reed-Solomon error correction included) and renders it to canvas (PNG) and SVG.
- No middleman. the content is encoded directly — no shortener, no redirect through our domain, no analytics. That's why the code never expires and scans offline forever.
Assumptions
- Everything runs client-side: your links, passwords, and messages are never transmitted to any server.
- Scanability depends on print size and contrast: dark-on-light, at least 3–4 cm wide for arm's-length scanning.
- Directly-encoded codes cannot be edited after printing — the flip side of never expiring.
Sources
Last reviewed: July 29, 2026
Frequently asked questions
Is this QR code generator really free, with no expiry?+
Yes, structurally: the code encodes your content directly — no shortener, no redirect through our servers, no account. 'Free' generators that later expire your codes do it by encoding a redirect through their domain and charging to keep it alive. Ours can't expire because there's nothing between the scanner and your content. The tradeoff: a directly-encoded code can't be edited after printing.
Do QR codes expire?+
The code itself never does — it's just a pattern encoding text, as permanent as ink. What expires is whatever the code points to: a dead URL, a changed WiFi password, a service's redirect link. Codes from this generator contain your content directly, so they work exactly as long as the content does.
PNG or SVG — which should I download?+
SVG for anything printed: it's vector, so it stays razor-sharp at any size from business card to billboard. PNG for screens, documents, and anywhere raster images are required — choose a generous pixel size (640+) if it might be enlarged. Both downloads carry identical codes; only the file format differs.
How do WiFi QR codes work?+
They encode the standard join string WIFI:T:WPA;S:NetworkName;P:password;; — both iPhone (iOS 11+) and Android cameras recognize it natively and offer to join the network with one tap. Special characters in your password are backslash-escaped per the spec (the classic bug in naive generators). Your credentials are encoded in your browser and never uploaded.
What size should a printed QR code be?+
Rule of thumb: scanning distance ÷ 10. A code scanned at arm's length (40 cm) should be at least 4 cm wide; a poster scanned from 3 m needs ~30 cm. Add error-correction level Q or H for print — up to 30% of the code can be damaged, dirty, or covered and still scan — and keep strong contrast with a quiet margin around the code.
Can I track scans of my QR code?+
Not with a directly-encoded code — and that's a privacy feature, not a gap. Trackable codes work by routing every scan through an analytics redirect, which is also what makes them expirable and slower. If you need scan counts, encode a URL you control with a UTM parameter (yoursite.com/?utm_source=poster) and read it in your own analytics — tracking without the middleman.
Also try the QR Code Generator.