QR code generator

Generate a QR code instantly from a URL, plain text, contact card, Wi-Fi network, email, SMS, phone number, GPS location or calendar event. Custom colours, logo overlay, and download as PNG, JPG or SVG — no signup, no upload, your data never leaves your browser.

QR code generator

What to encode

Style

512px
4

Logo overlay (optional)

Use error-correction level H when adding a logo so the code stays scannable. Keep the logo size under 25% of the QR.

No logo
20%
Fill in the field on the left to see your QR code.

How it works

  1. Pick what you’re encoding — URL, text, contact card, Wi-Fi credentials, email, SMS, phone, location or calendar event.
  2. Fill in the field(s). The preview updates as you type.
  3. Tweak style: size, colours, module shape, quiet-zone margin, optional logo overlay.
  4. 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

TypeWhat scanners do with itBest for
URLOpens the link in the default browser.Posters, business cards, restaurant menus, packaging.
Plain textShows the text on screen.Notes, codes, lyrics, anything non-link.
EmailOpens the mail app with the subject and body pre-filled.Lead capture, support requests, product feedback.
PhonePrompts to dial the number.Customer service, appointment lines.
SMSOpens the SMS app with the recipient and message pre-filled.Opt-in subscriptions, quick votes, RSVP.
Wi-FiiOS / 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 eventAdds 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

LevelRecoveryWhen to use
L~7% of code can be damaged / obscuredClean 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.

Related tools