QR Code Generator

Generate and download QR codes for URLs, text, email and phone numbers. Free, instant, and created in your browser.

Scan reliability report
Download PNG Download SVG
Brand presets

Save colors, styling, size and logo in this browser.

No saved presets yet.

Batch: many codes at once (ZIP)

How to make a custom QR code with a logo

Type a URL or any text and the QR code updates instantly. Style it your way: square, rounded or dot modules, custom corner (eye) shapes, a solid color or a gradient, and a transparent background. Click Add logo to drop your brand mark in the center — error correction is raised automatically so it still scans. Download a high-resolution PNG or a razor-sharp SVG for print. Everything runs in your browser — your data and logo are never uploaded.

Generate a QR code locally for a link, plain text, Wi-Fi login, contact card (vCard), WhatsApp message or calendar event. Pick size (128–1024 px) and error-correction level, then download — the content is encoded in your browser and never uploaded.

Error correction is the setting most people skip and later regret. QR codes carry redundancy so damaged or partially covered codes still scan: level L recovers ≈7% of the symbol, M ≈15%, Q ≈25%, H ≈30%. Higher recovery = denser code for the same content. Rule of thumb: M for screens and clean prints, Q/H for stickers, packaging or anything that will be laminated, stamped or partly worn.

Print size matters more than pixel size. A QR should be scannable from about one tenth of its viewing distance — a code read from 1 m away should be at least 10 cm wide. Dense content (long URLs, full vCards) adds modules and shrinks each dot, so shorten the URL before you shrink the print.

Boundaries: QR content is plain data — anyone who scans it sees it, so do not encode secrets. Wi-Fi QR carries the network password in clear text inside the code; that is how the standard works on every generator. Styling extremes (tiny sizes with H-level and long text) can produce codes some cameras refuse; the preview here is the honest test.

Published behaviors — each validated against the live tool: all four error-correction levels (L/M/Q/H) produce scannable codes for a standard URL · vCard output follows the vCard 3.0 field layout · generated PNG downloads locally with no network request carrying your content. Last verified: 2026-08-12.

FAQ

Which error-correction level should I choose?

M (≈15% recovery) is the everyday default for screens and clean prints. Choose Q (≈25%) or H (≈30%) for stickers, product packaging or laminated signs that may get scratched or partially covered. Higher levels make the code denser, so pair H with a larger print size.

How big should I print a QR code?

Use the 10:1 distance rule: minimum width ≈ scanning distance ÷ 10. A table-tent scanned from 40 cm needs ≥4 cm; a poster scanned from 3 m needs ≥30 cm. Dense content needs more — test the actual print with a mid-range phone before mass printing.

Is a Wi-Fi QR code secure?

The network name and password are stored in plain text inside the code — that is the standard format every phone understands. Anyone who scans (or photographs) the code gets the password. Post it only where you would post the password itself.

Why does my long URL make a code that scans poorly?

More characters = more modules in the same square = smaller dots. Shorten the URL (or use a redirect you control), lower the error-correction level for screen use, or print larger. The preview on this page is a realistic scan test.

Is my QR content uploaded to a server?

No. The code is generated entirely in your browser by a local library, and the PNG download is assembled locally. Links, Wi-Fi passwords and contact details never leave your device.

Last updated: