QR Code Generator

Create QR codes for URLs, text, Wi-Fi and more — choose size and error correction, download as PNG.

🔒 100% private — files are processed on your device and never uploaded to any server.

A scannable bridge from paper to pixel

The QR code outlived its obituary: post-2020 it became the default bridge between the physical and digital worlds — menus, posters, business cards, payment stands, Wi-Fi sharing, package tracking. The format's genius is robustness: built-in error correction lets a partially damaged or badly lit code still scan. This generator creates standards-compliant QR codes from any text or URL, with size and error-correction options that matter for print, downloadable as crisp PNG.

How to create a QR code

  1. Type or paste the content — a URL, plain text, phone number, or a Wi-Fi config string.
  2. Pick a size (256px for screens, larger for print) and an error-correction level.
  3. Click Generate QR code, scan-test it with your phone, then Download PNG.

Error correction: the setting nobody understands and everyone needs

QR codes embed redundancy so damaged codes still read. Four levels trade capacity for resilience: L survives ~7% damage, M ~15% (the everyday default), Q ~25%, H ~30%. Higher levels make denser codes (more modules for the same content), so the rule is contextual: M for screens and clean print; Q or H for laminated outdoor posters, packaging that gets scuffed, or any code you'll print small. H is also the standard choice when a logo will be overlaid on the centre — the redundancy absorbs the obstruction.

Content patterns that work in the wild

  • URL: include the https:// — bare domains sometimes open as search queries. Short URLs make sparser, easier-scanning codes.
  • Wi-Fi sharing: the magic string WIFI:T:WPA;S:NetworkName;P:password;; — phones offer to join on scan. (Generate the password with our Password Generator.)
  • Phone / SMS: tel:+901234567890 dials; SMSTO:+90...:message pre-fills a text.
  • Tracked campaigns: run the URL through our UTM Builder first — print analytics exists only if the link is tagged.

Print rules learned the hard way

Scannability lives and dies on three physical factors. Quiet zone: the white margin around the code is structurally required — never crop it or print the code flush against artwork. Contrast: dark-on-light scans best; avoid low-contrast brand-colour experiments and never invert. Size: the field rule is scan-distance ÷ 10 — a poster read from 2 metres needs a 20 cm code; business cards need 2 cm minimum. And the only test that counts: scan the printed proof with two different phones before the print run.

Generated locally, no account, no expiring “free tier” links — the code you download is yours forever.

Quick reference

PropertyDetail
ContentURLs, text, tel:, SMSTO:, WIFI: strings
Sizes256 / 384 / 512 px PNG
Error correctionL 7% · M 15% · Q 25% · H 30%
Print ruleCode width ≈ scan distance ÷ 10
Quiet zoneKeep the white margin — required
ExpiryNone — static codes work forever
Processing100% in-browser

Frequently asked questions

Do these QR codes expire or stop working?

Never — the content is encoded directly into the pattern, with no middleman service. (Commercial “dynamic QR” services route through their servers and break when subscriptions lapse; these static codes are immune to that.)

Which error correction level should I choose?

M for everyday screen and clean-print use. Q or H for outdoor, laminated, small-printed or abuse-prone placements — and H whenever a logo overlays the centre. Higher levels make denser codes, so don't pay for resilience you don't need.

Why won't my printed code scan?

Usually one of three sins: the quiet zone was cropped, the code printed too small for the scanning distance (rule: distance ÷ 10), or low contrast/inverted colours. Test prints with two phones before the full run.

Can I make a QR code that connects people to my Wi-Fi?

Yes — encode WIFI:T:WPA;S:YourNetwork;P:YourPassword;; exactly. Phones recognise the format on scan and offer to join. Escape any semicolons in the password with a backslash.