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
- Type or paste the content — a URL, plain text, phone number, or a Wi-Fi config string.
- Pick a size (256px for screens, larger for print) and an error-correction level.
- 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:+901234567890dials;SMSTO:+90...:messagepre-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
| Property | Detail |
|---|---|
| Content | URLs, text, tel:, SMSTO:, WIFI: strings |
| Sizes | 256 / 384 / 512 px PNG |
| Error correction | L 7% · M 15% · Q 25% · H 30% |
| Print rule | Code width ≈ scan distance ÷ 10 |
| Quiet zone | Keep the white margin — required |
| Expiry | None — static codes work forever |
| Processing | 100% 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.