QR Code Generator

Create QR codes for URLs, text, Wi-Fi networks, and more. Download as high-quality PNG images. Free, instant, and no signup needed. Works entirely in your browser.

A 60-second primer on QR codes

QR ("Quick Response") codes were invented in 1994 at Denso Wave, a Toyota subsidiary, to track car parts on assembly lines. They took off again during the COVID-19 era when every restaurant menu and vaccination form needed to be contactless. Unlike a 1D barcode, a QR matrix encodes two dimensions, which is why it holds so much more data. The three large corner squares ("finder patterns") tell a scanner the orientation; the smaller square near one corner ("alignment pattern") helps it correct for perspective when you photograph it at an angle.

Error correction — the reason QR codes still work covered in coffee stains

Every QR code bakes in Reed-Solomon error correction, with four selectable levels:

  • L (Low) — recovers up to 7% damage. Smallest code, highest capacity.
  • M (Medium) — 15%. Default for most online generators.
  • Q (Quartile) — 25%.
  • H (High) — 30%. This generator uses H, because in the real world codes get torn, rain-spotted, printed on curved surfaces, and photographed from bad angles. The slightly denser dot pattern is worth it. It's also what lets you overlay a logo in the middle of the code without breaking it.

How much can a QR code hold?

Capacity depends on what you encode. The absolute maximum at version 40 (177×177 modules) with low error correction:

  • Numeric digits only: 7,089
  • Alphanumeric: 4,296
  • Byte (UTF-8): 2,953
  • Kanji: 1,817

In practice you never want to cram a QR code full. The denser the dot pattern, the harder it is to scan at speed or at distance. Keep URLs under 70 characters if possible — use a URL shortener if not.

Static vs dynamic QR codes

This generator makes static QR codes — the URL or text is literally encoded in the dots. They're free, they don't phone home, and they never expire. But if you print 10,000 flyers and later want to change the URL, you're out of luck. Dynamic QR codes (offered by services like Bitly, QR-Code-Generator.com, Scanova) encode a short redirect URL; changing the destination is a database update on their side. Handy for marketing campaigns, but the service can see every scan, and if they shut down your code dies.

Printing tips

  • Minimum print size is roughly 2×2 cm for handheld scanning. Any smaller and phone cameras struggle.
  • Keep a quiet zone — white margin around the code at least 4 modules wide. Scanners need it to find the code.
  • Dark on light is standard. Inverted (light on dark) QRs work on most modern scanners but fail on older ones.
  • Test on at least two phones before printing at scale. Some OEM cameras are more forgiving than others.

Privacy

Generation happens entirely in your browser using the qrious library. Whatever you encode — URL, Wi-Fi password, phone number — is never sent to our server. The PNG is built on a <canvas> in this page and downloaded directly from memory.