QR Code Generator

Free QR code generator for links, Wi-Fi, contacts, email, SMS, phone and location. Static codes that never expire — PNG/SVG download, nothing uploaded.

A code you actually own

Pick a type, fill in the fields, and the symbol appears — then check it with the built-in test scan and download it as PNG for screens or SVG for print. Every code here is static: the data itself lives inside the pattern, so nothing about it depends on this site staying online, on a subscription, or on a redirect service. That is the whole point — static vs dynamic QR codes explains the trick most “free” generators play.

What you can encode

URL is the everyday workhorse — menus, posters, packaging. Wi-Fi builds the standard WIFI: string phones join on sight (special characters in the SSID or password are escaped for you). Contact emits a real vCard 3.0 that scanners offer to save. Email, SMS and Phone pre-fill an action instead of a page, and Location drops a geo: pin. Plain text is there for everything else — serial numbers, Wi-Fi-less passwords, a label on a box.

Two settings matter more than people expect: the quiet zone (the QR standard requires a clear border of four modules — the margin input defaults to exactly that) and error correction (M for most uses, H when a logo or rough surface will cover part of the code). Colours are free to pick, but the tool warns you when the contrast is too low or the code comes out inverted — the two failures that kill printed codes in the wild. Sizing math for paper and posters is in the print-size guide.

Nothing leaves this tab

The encoder (Nayuki’s MIT-licensed qrcodegen) and the test-scan decoder (jsQR, Apache-2.0) run here, in JavaScript, on your device. There is no upload queue and no account database — a Wi-Fi password typed above stays on your computer. How the site handles data →

Frequently asked questions

Do QR codes from this generator expire?

No. The code encodes your text itself — a link, a Wi-Fi password, a contact card — directly into the black-and-white pattern. There is no redirect through our server and no account to lapse, so a code printed today works in ten years exactly as it does now. Many 'free' generators instead embed a URL on their own domain that forwards to yours; when the trial ends, the redirect dies and the printed code goes dead. Details: static vs dynamic QR codes.

Is it really free — no sign-up, no watermark?

Yes. The page is a static bundle; the encoding runs in JavaScript on your device. No account, no watermark, no download limit, no surprise paywall at the last click. The site is paid for by the ads shown around the tool.

How do I put a logo in the middle?

Use the Logo picker in the options row — the image is stamped over the centre with a white safety pad. QR codes tolerate covered area only because error correction rebuilds it, so the tool forces error-correction level H (30%) and warns if the logo covers more than ~25% of the symbol. Always press Test scan after adding a logo. See the logo guide.

What does the 'Test scan' button do?

It decodes the very image on screen with a real QR decoder (jsQR, running locally) and compares the recovered text with what you asked for. Green means a scanner will read it — the same check your phone camera performs.

Which error-correction level should I pick?

M (15%) is the standard default and right for most links. Choose H (30%) when the code will get dirty, be covered by a logo, or be printed small — at the cost of a denser symbol. L is only for very clean environments with lots of data. The levels come straight from the QR standard; see sources.

Are there things a QR code can't hold?

The format tops out at 2,953 bytes (version 40, level L) — enough for long URLs and vCards, not for photos or files. Phones struggle earlier in practice: DENSO WAVE, the format's inventor, notes roughly 271 bytes as a practical mobile limit. Keep payloads short; a link is almost always the right payload for anything bigger.

Is anything uploaded to a server?

No. Encoding, the test scan, and PNG/SVG rendering all happen in this browser tab. You can load the page, go offline, and keep generating codes — nothing you type ever reaches us. The privacy policy covers the only network traffic the site produces.

Latest articles