QR Code Generator

Generate QR codes for text, URLs, Wi-Fi networks, and email — fully client-side, with PNG and SVG download.

Loading…

All processing runs in your browser — no files or inputs are uploaded to a server.

How to use

Pick a mode at the top — plain text, URL, Wi-Fi credentials, or email — fill the matching fields, and the preview updates live. Open "options" to tune the pixel size, quiet-zone margin, error correction level, and the dark / light colors. Download as PNG for everyday sharing or SVG when you need to print large without aliasing.

Wi-Fi codes follow the de-facto standard that iOS and Android both recognize at the system camera level — scanning offers a "Join network" prompt. Email codes use a mailto URI so the scanner opens the user's mail app pre-filled with the recipient, subject, and body. All encoding runs in your browser; the data you type is never sent anywhere.

Examples

Share a URL on a slide

Input
mode: URL
url:  https://utilrepo.com
ECC:  M
Output
QR (21×21 modules at version 1, scales to the requested pixel size)

For presentation slides, scale to at least 320 px square and keep the quiet-zone margin at 2 or higher so cameras from the back row can still lock on.

Wi-Fi for guests

Input
mode:       Wi-Fi
SSID:       OfficeGuest
encryption: WPA / WPA2
password:   coffee-friday-2025
hidden:     no
Output
Payload: WIFI:T:WPA;S:OfficeGuest;P:coffee-friday-2025;;

SSID and password are escaped automatically for the special characters \ ; , " :. Print the QR by the reception desk and guests join without dictating the password.

Pre-filled support email

Input
mode:    Email
to:      [email protected]
subject: Order #12345 — issue
body:    Please describe the issue:
Output
Payload: mailto:[email protected]?subject=Order%20%2312345%20%E2%80%94%20issue&body=Please%20describe%20the%20issue%3A

Scanning on a phone opens the mail app with all three fields ready. Useful on packaging, receipts, or service stickers.

High-error-correction for printed material

Input
mode: URL
url:  https://utilrepo.com
ECC:  H (≈30% recovery)
Output
Denser code (more modules) but tolerates dirt, creases, and a small logo overlay in the center.

ECC H restores up to about 30% of damaged area. The trade-off is a denser, slightly harder-to-scan code — fine for posters and packaging, overkill for clean digital displays.

FAQ

What does the error correction level (L / M / Q / H) actually do?

It controls how much of the QR can be lost or covered while still scanning correctly: L ~7%, M ~15%, Q ~25%, H ~30%. Higher levels add Reed–Solomon redundancy, which means more modules for the same payload. Use L or M for clean screens and digital sharing, Q or H for printed material that might get scratched, smudged, or covered by a logo.

How small can I print a QR code?

A useful rule of thumb is "1/10 of the scanning distance" — a code read from 30 cm away should be ~3 cm on each side. Below ~1.5 cm most phone cameras struggle. Always include the quiet-zone margin (at least 4 modules) and keep contrast high; tiny codes with grey-on-white or coloured backgrounds fail to scan even at decent sizes.

Can I add my logo in the middle?

Yes — overlay the logo on the downloaded PNG or SVG. Keep the logo under about 20% of the QR area and set the error correction to Q or H so the redundancy covers the obscured modules. This tool does not insert the logo for you; do it in any image editor or SVG editor.

Why won't my coloured QR scan?

Two reasons: low contrast, or the wrong polarity. Scanners look for dark-on-light, so swapping (light foreground, dark background) breaks them. Keep the dark colour genuinely dark and the light colour close to white — pastel-on-pastel codes fail even when they look fine to the eye.

How much data can a QR hold?

In theory: about 4,200 alphanumeric characters or 2,900 bytes at the largest version with ECC L. In practice the code becomes too dense to scan reliably from a phone well before that. For URLs over ~80 characters, consider a shortener — the resulting QR is sparser and reads much faster.

Related concepts

A QR (Quick Response) code is a 2D matrix barcode standardized as ISO/IEC 18004. It encodes data in modules — the black and white squares — arranged on a grid sized by "version" from 21×21 (v1) up to 177×177 (v40). Three large finder patterns in the corners let cameras locate and orient the code from any angle. Reed–Solomon error correction interleaves redundancy through the matrix so the code stays readable even with scratches, glare, or a partial cover.

For specific payloads, ecosystems converged on simple text conventions rather than a binary header. URLs are stored verbatim and the scanner detects the http(s) prefix. Wi-Fi uses the WIFI:T:<auth>;S:<ssid>;P:<password>;H:<hidden>;; format originally introduced by Android and now read by iOS as well. mailto:, tel:, sms:, and geo: URIs all dispatch to the matching native app on phones. There is no formal QR "type" field — the prefix is the contract. That is why the same text-only encoder can produce Wi-Fi, email, and URL codes interchangeably; the difference lives in the payload, not in the QR itself.

Related articles

Related tools