Make a QR code that stays yours
Type a link, a message or a Wi-Fi password and get a free QR code as PNG or SVG. No account, no expiry, no tracking redirect, and nothing is uploaded.
How it works
The text is encoded in byte mode as UTF-8, split into blocks, and each block gets Reed-Solomon error-correction codewords computed over the field GF(256) with the polynomial the specification names. The blocks are then interleaved, so a blot damages a few codewords of every block rather than destroying one entirely, and placed by snaking through the grid around the finder, timing and alignment patterns. All eight masks are drawn and scored, and the one with the fewest scanner-confusing patterns wins.
What to watch out for
Anything encoded here can be read by anyone who photographs the image, because that is exactly what a QR code is for. Putting a Wi-Fi password or a private link in one is fine and normal; printing it on something visible from the street is not. The privacy this tool offers is that the content never reaches a server, not that the code keeps a secret.
Every extra character adds modules, and more modules in the same printed area means smaller squares. A short link scans across a room; a whole paragraph needs the phone held close and steady. Where a code will be read from a distance, encode a short link rather than the text itself.
The blank border is not decoration. Scanners use it to find where the symbol ends, and a code cropped tight to its edges or pasted onto a busy background frequently will not read at all. That margin is built into the file, so do not trim it when placing the image.
Many generators encode a link to their own domain that redirects to yours, which lets them count scans and, in some cases, stop working when a trial ends. The code from this page contains your content directly. Nobody can revoke it, meter it or see who scanned it, and equally nobody can change where it points once it is printed.
Limits
Files up to about 1 MB work reliably. Beyond that, the ceiling is your device's memory rather than any rule we impose — the work happens on your own machine. Tested in Chrome 140, Firefox 143, Safari 18.
The thing most QR generators do not tell you
A large share of free QR generators do not put your link in the code. They put their link in the code, pointing at their own domain, which then redirects to yours.
That is not always sinister — it is how scan analytics work. But it has two consequences worth knowing before you print a thousand flyers. Every scan passes through a company you have no contract with. And if that company goes away, changes its terms or ends your trial, every code you have printed stops working.
The code from this page contains your content and nothing else. There is no redirect, no tracking, no account, and no way for anyone — including this site — to switch it off. Once it is printed it works forever, and nobody learns who scanned it.
The trade is exactly what you would expect: you cannot count the scans either.
Error correction, and why more is usually better
A QR code carries redundant data so it can be read when part of it is dirty, creased, faded or covered. Four levels are defined, recovering roughly 7%, 15%, 25% and 30% of the symbol.
Stronger correction needs more modules, so at a fixed printed size the squares get smaller. That sounds like a straight trade, but it is not, because versions come in fixed steps: quite often the stronger level fits in exactly the same grid as the weaker one, for free.
So whatever you pick, this tool quietly upgrades to the strongest level that fits at the same size. Choosing Low for a short link gets you Highest anyway, because there was room.
Use Highest deliberately when the code goes somewhere physical — a label, a window, a piece of equipment, a printed menu that will be handled.
PNG or SVG
PNG is a grid of pixels. It is right for a website, a slide, an email, a document — anywhere the code is displayed at roughly the size you made it.
SVG describes the squares as shapes, so it stays perfectly sharp whether printed on a business card or a two-metre banner. If the code is going to a printer, use SVG. The file is also far smaller.
What people usually encode
A link, most often. Also: a phone number as tel:+441234567890, an email as
mailto:someone@example.com, or a Wi-Fi network in the form
WIFI:T:WPA;S:NetworkName;P:ThePassword;; — which most phones offer to join
directly when they see it.
Plain text works too, and is read out as text rather than opened.
Nothing is uploaded
The encoder is written out in full and runs in your browser. That was a deliberate choice rather than a convenience: what people put in QR codes is regularly a Wi-Fi password, a payment link or an address, and none of that should travel to a server or through a third-party package to become a picture of some squares.
Your files never leave your browser. Last updated 2026-08-02.
Related tools
- Make a barcode you can print and scanGenerate Code 128 or EAN-13 barcodes free as PNG, with the check digit worked out for you. No signup, and your product data never leaves the browser.
- Generate passwords that never leave this pageStrong random passwords generated free by your own browser from the operating system's cryptographic source. Nothing is transmitted, logged or stored.
- Turn images into a PDFCombine JPG photos into a single PDF free, with no page limit or watermark. Baseline JPEGs are embedded byte for byte, so no quality is lost.