📱 QR Code Generator

Turn any text, URL, WiFi config, or vCard into a QR code. Live SVG preview, downloadable as SVG or PNG.

0 characters
How much of the code is reserved for redundancy. L: ~7% recovery · M: ~15% · Q: ~25% · H: ~30%. Higher levels survive more damage (printed, smudged, partially obscured, logo overlay) but fit less data in the same code.
Visual style for the three large position-detection patterns at top-left, top-right, and bottom-left. The structure (a 7×7 ring around a 3×3 center) stays the same — only the shape of the corners and dot change, so the code still scans.
🖼️ Center logo (optional)

Adding a logo automatically locks error correction to H so the code stays scannable. Keep the logo under ~20% of the code area.

Drop or click to add a custom logo
PNG, JPEG, or SVG
Encoded QR code will appear here.

About QR codes

A QR (Quick Response) code is a 2-D barcode standardized as ISO/IEC 18004. It encodes data in a square grid of light and dark modules, with redundancy baked in so partial damage or obstruction (a logo, a smudge, a curve over fabric) still scans. This tool uses an inlined version of Project Nayuki's QR encoder (MIT) — no server, no upload, no CDN.

Payload formats

  • URL: just paste it — most readers open the link directly.
  • Email: mailto:hi@example.com?subject=…&body=…
  • SMS: SMSTO:+15551234567:Hello
  • WiFi: WIFI:T:WPA;S:NetName;P:Password;;
  • vCard: BEGIN:VCARD…END:VCARD
  • Geo: geo:37.7749,-122.4194

Error-correction trade-off

The encoder reserves a percentage of the code for redundancy. Lower levels fit more data in less space; higher levels survive more damage. For a logo overlay or printed material, prefer H. For maximum data density (or a tiny code), use L.

LevelRecovery
L~7%
M~15%
Q~25%
H~30%

Tips & caveats

  • Test the code on a real phone before printing or shipping — readability can vary with contrast, lighting, and lens.
  • Keep the quiet zone on (4-module border). Some scanners refuse codes pasted right against another element.
  • Foreground darker than background. Many scanners can't recover from inverted codes.
  • A center logo should stay under ~20% of the code's area. The tool surfaces a warning above that.
  • SVG output scales infinitely; PNG is for environments that can't render SVG.

FAQ

Does my data ever leave my browser?
No. Encoding, SVG rendering, and PNG export all happen locally in your browser via an inlined version of Project Nayuki's QR encoder (MIT). No upload, no server, no CDN call.
What does the error-correction level (L/M/Q/H) actually do?
QR codes carry redundant data so they still scan when partially damaged or obscured. L tolerates ~7% damage, M ~15%, Q ~25%, H ~30%. Higher levels need more space, so the same payload fits less easily — pick L for the densest code, H if you're overlaying a logo or printing on glossy material.
Why do I get "content exceeds capacity" on long input?
The chosen error-correction level reserves a percentage of the code for recovery data. Lower it (H → L) to fit more, shorten the payload, or remember that URLs encode much smaller than free-form text because the alphanumeric mode is restricted to 0-9 A-Z space $ % * + - . / :.
Will a centered logo still scan?
Usually yes if the logo covers under ~20% of the code area and you've used error-correction H (which is auto-selected when you add a logo). Test on a real phone before printing — the tool warns when a logo gets large enough to risk readability.
Should I export as SVG or PNG?
SVG for anything that will be resized, printed, or embedded in a webpage — it scales infinitely and stays crisp. PNG when you need a flat raster file (e.g. attaching to a chat message); pick 1024 px if you're printing, 256/512 px for screen use.

More tools

JSON

Code

Ornaments

Image

Web / SEO

Generators

PDF