How it works
- Pick what you’re encoding — URL, text, contact card, Wi-Fi credentials, email, SMS, phone, location or calendar event.
- Fill in the field(s). The preview updates as you type.
- Tweak style: size, colours, module shape, quiet-zone margin, optional logo overlay.
- Hit ↓ PNG for the most-compatible bitmap, ↓ SVG for vector (great for print, infinitely scalable), or ↓ JPG for smaller file size. ⎘ Copy drops the QR straight onto your clipboard for pasting into messages or design tools.
Everything runs in your browser — nothing is uploaded or saved on a server. Your data, your QR.
Supported content types
| Type | What scanners do with it | Best for |
|---|---|---|
| URL | Opens the link in the default browser. | Posters, business cards, restaurant menus, packaging. |
| Plain text | Shows the text on screen. | Notes, codes, lyrics, anything non-link. |
| Opens the mail app with the subject and body pre-filled. | Lead capture, support requests, product feedback. | |
| Phone | Prompts to dial the number. | Customer service, appointment lines. |
| SMS | Opens the SMS app with the recipient and message pre-filled. | Opt-in subscriptions, quick votes, RSVP. |
| Wi-Fi | iOS / Android prompt to join the network — no typing the password. | Cafés, offices, AirBnBs, conference rooms. |
| Contact (vCard) | Adds the contact to the address book. | Business cards, name badges, sales kits. |
| Location (Geo) | Opens the location in the default maps app. | Event venues, store locators, hiking guides. |
| Calendar event | Adds the event to the user’s calendar. | Meetings, webinars, RSVP cards. |
Tips for QR codes that always scan
- Contrast matters. Dark colour on light background — the bigger the contrast, the more reliable the scan. Avoid light-on-light or dark-on-dark.
- Don’t invert the colours. Most scanners assume dark modules on a light background. If you must invert, test against multiple phones first.
- Keep the quiet zone. The blank margin around the code is part of the spec. Cropping to zero margin breaks reliability on some apps. 4 modules is the standard minimum.
- Use higher error correction with logos. Setting EC to H (~30%) lets you cover up to 25% of the QR area with a logo and still scan reliably.
- Bigger is better for print. A 2 cm × 2 cm QR scans from ~30 cm away. For posters or signage at 1 m+ distance, target at least 5 cm × 5 cm.
- Use SVG for print. Vector means crisp at any size — no rasterisation artefacts when blown up to a billboard.
- Avoid super-long URLs. Long content needs more modules, which means smaller dots at a given print size — harder to scan. Use a URL shortener if you can.
Error correction levels
| Level | Recovery | When to use |
|---|---|---|
| L | ~7% of code can be damaged / obscured | Clean digital displays, indoor posters — max data capacity. |
| M (default) | ~15% | Most general use — good balance of size and reliability. |
| Q | ~25% | Outdoor signage, packaging that may scuff, small logo overlay. |
| H | ~30% | Large logo overlay, harsh environments, mission-critical scans. |
Higher error-correction means more modules for the same data — the code gets denser. If your scanner struggles, drop to a lower EC level or shorten the data you’re encoding.
FAQ
Are these QR codes free for commercial use?
Yes. QR is an ISO standard with no royalty. Codes generated here are yours to use anywhere — products, marketing, packaging, paid services, no attribution required.
Will the QR ever stop working?
Static QR codes (the kind this generator produces) encode the data directly into the pattern, so they work forever — as long as the link / network / contact details they point to still exist. Dynamic QR codes (other services) use a redirect URL that can break if the service shuts down. Static beats dynamic for permanence.
Why does my QR look different each time I change the EC level?
Higher error correction means more redundancy data, which needs a bigger pattern. The QR “version” (1–40) auto-scales to fit. The look is intentional — what matters is that it scans.
Can I add a logo in the centre?
Yes — upload an image and drag the size slider. Use error-correction level H so the code stays scannable. Keep the logo under 25% of the QR area for safety.
What’s the maximum amount of data I can encode?
The QR standard supports up to ~4,296 alphanumeric characters or ~2,953 bytes at the lowest EC level — but practical limits kick in earlier because dense codes need a large physical print to scan. Aim for <200 characters for general-purpose codes.
Does this work offline?
After you load the page once, yes — everything (the QR library, the page, the export logic) runs in your browser. No round-trips to a server.
Is my data private?
Completely — the page makes no network calls during QR generation. Whatever you type stays in the browser tab.