QR Code Generator

Build a QR code for a website, a Wi-Fi network, a contact card, or nine other payload types — with a live preview, adjustable styling, and PNG or SVG download.

1

Complete the content

2

Style your QR

Foreground Background
Size
Margin {{ style.margin }} Below 4 modules the quiet zone may be too small for some scanners to lock on.
Error correction {{ ecLevels.find(l => l.id === style.ec).note }}
3

Preview & download

Generated QR code preview
{{ payload ? 'Rendering…' : 'Fill in the content to see a preview' }}

Version {{ lastEncode.version }} · {{ lastEncode.moduleCount }}×{{ lastEncode.moduleCount }} modules · {{ payloadSizeLabel }}

⤓ Download PNG ⤓ Download SVG

The QR image is rendered on our server from the data you enter, then sent back to your browser — it is not stored, logged, or used for anything else.

About QR codes

A QR (Quick Response) code stores data as a grid of black and white squares that a camera can read in a fraction of a second. Unlike a barcode, which only reads in one direction, a QR code packs data in two dimensions and adds redundant information so it can still be read when part of it is dirty, torn, or poorly lit — that redundancy is the error-correction level you choose above.

The code you build here is static: everything you type is encoded directly into the pattern itself, with nothing stored on a server and nothing that can expire or be redirected later. That also means it can't be edited after the fact — if the underlying URL or Wi-Fi password changes, you'll need a new code.

Why some QR codes fail to scan

The most common causes are a missing quiet zone (the plain border around the pattern), foreground and background colors without enough contrast, and printing the code too small for its density. A denser code — more data, or a higher error-correction level — needs more physical size to stay reliably scannable.

What is error correction, and which level should I pick?

A QR code carries redundant data so it can still be read even if part of it is dirty, torn or poorly lit. Level L recovers from about 7% damage, M about 15%, Q about 25%, and H about 30% — but higher levels also pack the same data into a denser, larger-looking symbol. M is a reasonable default for a screen; use Q or H for anything that will be printed small or handled a lot.

Why does the QR code change size depending on what I type?

A QR symbol comes in 40 fixed sizes ("versions"), and the generator always picks the smallest one that fits your text at the error-correction level you chose. Longer text, or a higher error-correction level, both push it toward a bigger, more detailed symbol.

Why won't my QR code scan?

The most common causes are: too little white space around the edge (the "quiet zone" — keep the margin at 4 modules or more), foreground and background colors that are too close in contrast, or a logo/margin so small the code was cropped. If in doubt, scan it yourself before you print or publish it.

PNG or SVG — which should I download?

PNG for screens, slides, and anywhere a fixed-size image is fine. SVG for print or any design tool, because it stays crisp at any size — a poster-sized QR code from a PNG can turn blurry, an SVG never does.

Does a Wi-Fi QR code expose my password?

Anyone who scans it can join the network, the same as if you'd told them the password out loud. It's meant for handing to a guest, not for posting somewhere public.

Is this the same as a "dynamic" QR code from a tracking service?

No. This produces a static code — the data you entered is encoded directly into the pattern, permanently. A dynamic QR code instead points to a short redirect URL that a service can repoint later and use to log scans. Static codes never expire and never phone home; they just can't be edited after the fact.