Any file. Any shape.

QR Code Generator

Generate a QR code from text or a URL — free, unlimited, and entirely private.

Error correction

How it works

This tool generates a QR code directly inside your browser tab as you type — no server, no upload, no waiting. The code updates live with every change to the text, error correction level, colors, or size.

This is a static QR code: your text or URL is encoded directly into the black-and-white pattern itself, with no server involved in scanning it. That means it works forever and never depends on anything staying online — but it also means the content can't be edited after the fact, and there's no scan-count tracking. "Dynamic" QR codes some services offer are actually short links that redirect through their server, which lets them update the destination or count scans, but also means the code stops working the moment that service goes away. This tool intentionally only makes static codes.

Both PNG (for photos, documents, and most everyday uses) and SVG (a crisp vector version that scales to any size, useful for print) are available as downloads.

Limitations

A center logo is only available at error correction level H, and is capped at 25% of the code's area — any larger and even H's redundancy can't reconstruct enough of the covered pattern to scan reliably. There's no way to preview how a specific scanner app will handle unusual color combinations; if you pick low-contrast colors, test the code with a real phone camera before relying on it.

FAQ

Is this QR code generator really free?
Yes — completely free, with no limits and no account required. Every code is generated locally in your browser, so there's no server cost to recoup.
Does this QR code expire?
No. This generates a static QR code — the data (your text or URL) is encoded directly into the pattern itself, permanently. It will never expire and never stop working, unlike "dynamic" QR codes from some services, which are actually short links that redirect through their server — and stop working the moment that service shuts down or you stop paying for it. A static code has no tracking and needs no ongoing service, but its content also can't be changed after the fact.
What does the error correction level do?
It controls how much of the code can be damaged, dirty, or covered and still scan correctly — from L (~7% recoverable) to H (~30% recoverable). Higher levels add redundancy at the cost of a visually denser code. Use H if you plan to add a center logo.
Why does my logo need error correction level H?
Covering part of a QR code with a logo destroys the data underneath it. Level H's ~30% redundancy is the only level with enough spare capacity to reconstruct that covered area — which is why the logo option only appears at that level, and why the logo is capped at 25% of the code's area.