QR Code Generator

Generate QR codes for URLs, plain text, WiFi networks, and vCards. Download as PNG or SVG. Runs in your browser.

Runs entirely in your browser. Nothing is sent to our servers.

About this tool

Generates QR codes from text, URLs, WiFi credentials, or contact cards (vCard) entirely in your browser. The encoder implements the full QR Code Model 2 spec (ISO/IEC 18004): byte mode encoding, Reed-Solomon error correction, and mask selection by penalty score.

Error correction levels

Higher error correction means a denser code but better tolerance of damage or obscuring:

  • L (Low): ~7% of codewords can be restored. Smallest QR.
  • M (Medium): ~15%. The usual default.
  • Q (Quartile): ~25%. Good for codes you'll print and want robust.
  • H (High): ~30%. Maximum redundancy — use for codes likely to be partially obscured or weathered.

PNG vs SVG

SVG is vector and scales infinitely; use it for print or anywhere you don't want to commit to a specific pixel size. PNG is raster and exports at the pixel size you chose; use it for posting online or embedding in pixel-bound contexts.

Frequently asked questions

Why doesn't my QR code scan?
Most common reasons: too small (each module needs to be ~4+ pixels for reliable phone camera scanning); not enough quiet zone (the white border around the code matters — we include 4 modules of padding); poor contrast; or the underlying data is too long for the chosen error correction level. Try lowering EC or shortening the data.
How is the WiFi format structured?
It's a URI scheme: WIFI:T:WPA;S:MyNetwork;P:password;H:false;;. Most modern phone cameras recognize this and offer "Join network" directly from the scan.
What's the maximum data capacity?
For byte mode at level M, a version 40 code can hold ~2,331 characters. This tool auto-selects the smallest version that fits. If your data is huge, drop to L.
Is anything sent to a server?
No. The QR encoder, the data, and the image generation all happen in your browser. Nothing leaves your device.

Last updated: May 17, 2026