Free QR code generator
Make a QR code, download it, and use it wherever you like. There is no account, no watermark, no limit on how many you make, and no point later where the code stops working unless you pay. The code is built in your browser from the text you type, so the text never leaves the page.
What free means here
Free is a word that has been stretched thin by QR code sites, so here is the specific version of it. Five things that cost money elsewhere do not cost anything here, and none of them is a trial:
- No sign-up. There is no account to make, so there is nothing to cancel and no email to confirm.
- No watermark and no attribution. The image you download is the code and the quiet zone around it, nothing else.
- No cap. Make one code or four hundred; the work happens on your own machine, so there is nothing for anyone to meter.
- No expiry. The code encodes your data directly, so it keeps working for as long as whatever it points at does.
- No upload. The text, the network password, the contact details — all of it stays in the browser tab. There is no server to send it to.
Static codes, and the trade you are making
This generator makes static codes: your URL is encoded in the pattern itself. Many sites that advertise a free QR code make a dynamic one instead, where the code holds a short link on their domain that redirects to your destination. The difference matters most after the code is printed.
A dynamic code can be edited after printing and can count scans, because every scan goes through the provider first. That is also the catch. The code depends on somebody else's domain staying registered, their service staying free, and their redirect staying up — and a printed run of stickers cannot be recalled when one of those changes. Codes going dead after a free tier ends is a documented pattern, not a hypothetical.
A static code cannot be edited and cannot count scans. In exchange it has no owner, no dependency and no bill. For a menu, a door sign, a business card, an asset tag or a test fixture, that is usually the better trade. If you need to change the destination later, point the code at a URL you control and change what that URL serves.
What you can put in a code
A QR code carries text, and what a phone does with that text depends on how the text is shaped. Each type below writes the shape its readers expect, with the escaping that shape requires:
- A web address, with https:// added when you type a bare domain — without a scheme a scanner offers the text rather than a link.
- Plain text, for anything a scanner should show and not act on.
- An email, an SMS or a phone number, so the scan opens a pre-filled message or a dialer.
- A Wi-Fi network, so a guest joins by camera instead of reading a password off a wall.
- A contact card, as a full vCard or a shorter MeCard.
- A map location or a calendar event.
- A payment address: UPI, a SEPA credit transfer, or a PayPal, Venmo or Cash App link.
- An exact payload you write yourself, when you are testing a scanner rather than feeding a phone.
What you can change
Error correction comes first, because it changes the code rather than its look. Level L recovers about 7% of a damaged symbol, M about 15%, Q about 25% and H about 30%. Recovery costs capacity, so the same text needs a larger grid at H than at L. Versions 1 to 40 are available, and the page shows which version your text landed in, which mask scored best, and how much of the byte budget is left.
The design controls change the drawing and never the data: module shape, separate styling for the three finder eyes, gradients, a logo in the middle and a frame around the outside. Each one costs some scannability, and the page says so as you go. A logo covers modules that error correction then has to reconstruct, which is why a logo and level H belong together.
Which download format to pick
For anything printed, take a vector: SVG, PDF, EPS or AI. Vectors have no resolution, so the same file is correct on a business card and on a banner, and a printer will not resample it into soft edges. DXF is there for CAD and for cutting or engraving equipment.
For screens, take PNG. It is lossless and supports a transparent background, which matters when the code sits on a colored panel. WEBP is smaller at the same quality if every reader of the file is a modern browser. GIF, BMP and TIFF are there for older tools that accept nothing else.
Avoid JPG. Its compression works by blurring detail across neighboring blocks, and a QR code is nothing but hard edges. A small JPG code can pick up enough ringing around the modules to fail on a marginal scan, and the artifacts are hard to see on screen while being obvious to a decoder.
Check it before you print it
Scan the code with the oldest phone you can find, in the worst light you expect it to live in, from the distance a reader will actually stand. A code that reads on a bright monitor at arm's length can fail on a laminated sign at three meters.
For print size, a rough guide is ten to one: a code needs to be about a tenth of the scanning distance across. Keep the quiet zone — the blank margin is part of the code, and cropping it is the single most common reason a code that looks perfect will not read. Keep the contrast dark-on-light, and do not invert it: some decoders handle inverted codes and some give up.
Questions
Is it actually free, or free until some limit?
Free with no limit and no account. The code is generated by JavaScript running in your own browser, so making one costs us nothing and there is nothing to meter.
Will the codes stop working later?
No. The code contains your data, not a link to us, so there is nothing on our side for it to depend on. A code pointing at a URL keeps working for as long as that URL does.
Can I use the codes commercially?
Yes, including on products, packaging, signage and printed material. The QR code specification is an ISO standard and carries no license fee.
Is my data sent anywhere?
No. The text, the Wi-Fi password and the contact details are read by the page and never transmitted. Nothing you type is uploaded, logged or stored.
Can I edit a code after printing it?
Not a static code, which is what this page makes: changing the data changes the pattern. Point the code at a URL you control if you may need to change the destination later.
Why does my code look denser than another generator's?
Longer text, or a higher error-correction level. Both raise the version, which means more modules in the same area. The page shows the version and the bytes used so you can see which one it is.
Make a different kind of code
Invalid QR code generator · Damaged QR code generator · QR code testing tool · QR code generator for a URL · Wi-Fi QR code generator · vCard QR code generator · QR code generator · Bulk QR code generator