Skip to content

Make a QR code

Private — your file is never stored

Format
Error correction

~15% — the usual choice

PNG size

Only affects the PNG. The SVG has no fixed size — it is vector art and stays sharp at any scale, which is why it is the better choice for printing.

Your code will appear here

How it works

1

Choose what it holds

A link, Wi-Fi details, an email, a phone number, or plain text. The fiddly formats are built for you.

2

Adjust if you need to

Error correction decides how much damage the code survives — raise it if you are putting a logo in the middle or printing on something that will scuff.

3

Download

SVG for print, because it stays sharp at any size. PNG when whoever you are sending it to needs an image.

What ends up in the code

There is no character counter here and no version picker, because capacity is discovered by trying. The grid is generated from your text directly, and if what you typed will not fit at the error-correction level you chose, generation fails and says so rather than quietly truncating you — the fix is fewer characters or a lower level. Error correction starts at Medium, and raising it does not make the picture bigger on screen: it makes the grid denser at the same printed size. That is the whole trade. More damage survived, smaller squares, and a camera that has to come closer.

The quiet zone is a checkbox and it is on by default. That white margin is part of the symbol rather than decoration — it is how a scanner finds where the code begins — so switching it off produces something many readers will not see at all, and cropping a downloaded code tight to its edge does the same damage. The PNG is drawn from the SVG with smoothing switched off, onto an opaque white background, so there is no transparent PNG here and no way to recolour anything. A QR code is read by the contrast between dark and light squares; a recoloured or inverted one is a gamble, and this page does not offer you the chance to take it.

The builders cover a link, plain text, Wi-Fi, an email, a phone number and a text message. Wi-Fi credentials have their backslashes, semicolons, commas, colons and quotation marks escaped for you, which is exactly where hand-written Wi-Fi codes fail, and a hidden network can be flagged as hidden. A phone number is stripped down to digits and a leading plus. A vCard contact, a calendar event or a map point is not built here — worth saying plainly, because our QR reader will happily interpret all three when someone else has made one.

When you want something else

If the destination might need to change after the code is printed, this is the wrong tool and the reason is arithmetic rather than software: a printed code is a printed constant, and the only way to redirect it later is to encode a link you control and change what it points at. The honest version of that is a short link on your own domain — YOURLS or Kutt are free and self-hosted — rather than a QR service's, because a redirect through somebody else's server is the failure that bricks printed codes when they change their pricing.

For quantity or for design, a command line beats a page. qrencode writes PNG, SVG and EPS from a shell script, and Python's segno does the same from a loop, so a thousand codes each carrying its own serial number is a few lines rather than a thousand clicks. Logos, rounded modules and brand colours are not offered here at all, and every one of them is damage the error correction has to absorb — if you add them elsewhere, raise the correction level first and then test the finished artwork with a real phone before anything is printed.

Frequently asked questions

Will this QR code ever stop working?

No, and this is the reason to be careful about which generator you use. Many free QR services do not encode YOUR link — they encode a link to their own server, which then redirects. That lets them count scans, and it also means your code stops working the day they shut down, change their pricing, or decide your free trial ended. Printed codes have been bricked this way. The code made here contains exactly the text you typed, with nothing in between, so it works for as long as your own link does.

Is there tracking, a sign-up, or a scan limit?

No account, no watermark, and no limit on how many you make. Nobody counts the scans either — not us and not a middleman — because the code carries your destination directly, so a scan never touches a server of ours at all. Nothing is stored and no request is made. You can disconnect from the internet after the page loads and it keeps working.

Can I use it commercially?

Yes. QR Code is an open standard and its patents have long expired; Denso Wave, who invented it, does not charge for using the format. The codes you make here are yours to print on packaging, menus, business cards or anything else, with no attribution and no licence fee.

SVG or PNG?

SVG for anything printed. It is line art rather than pixels, so it stays perfectly sharp whether it is on a business card or a billboard, and the file is usually a few hundred bytes. PNG when the thing receiving it only takes images — some email tools, some print shops, some social platforms. If you pick PNG, take the largest size offered; a QR code scaled up from a small PNG becomes blurry and stops scanning.

How do I make a Wi-Fi QR code?

Choose Wi-Fi and fill in the network name and password. The format has a precise syntax that phones expect and that is easy to get wrong by hand; it is built for you, including escaping special characters in the password. Guests then join by pointing a camera at it. Note that the password is inside the code in plain text — anyone who can photograph the code can read it, so treat a printed Wi-Fi code like a written-down password.

What is error correction and which level do I want?

It is how much of the code can be damaged while still scanning. Low recovers about 7%, Medium 15%, Quartile 25%, High 30%. Medium is the right default. Go to High if you are placing a logo over the middle — that is deliberately destroying part of the code, and the extra redundancy is what makes it still work — or if it is printed on something that will get scuffed, wet or folded. Higher correction makes the pattern denser, so for a long URL it also makes the code harder to scan from a distance.

Why will my code not scan?

Usually one of four things. It is printed too small — aim for at least 2cm square, more for a long link. The white margin around it was cropped off; scanners need that quiet zone. It was scaled up from a low-resolution image and is blurry. Or the contrast is wrong: dark on light is what scanners expect, and inverting it breaks many of them. Test any code before printing a thousand of them.

How much can a QR code hold?

In theory several thousand characters, but that is not the useful answer. The more you put in, the denser the pattern and the harder it is to scan — a QR code holding 2,000 characters needs a good camera held close and steady. For a link, shorter is genuinely better. If your URL is long, shortening it first produces a code that scans from across a room.

Good to know: The code points straight at what you typed — no redirect service, no tracking, no expiry, which also means nothing to switch off later. Capacity is finite: a very long URL forces a denser grid that phone cameras find harder to read. Error correction starts at Medium, which recovers about 15 per cent — raise it to High if you plan to print a logo over the middle, and note that a higher level packs more into the same printed square rather than making the code bigger.

Put this tool on your website

Free for any blog, class page or help article. Paste one snippet and your visitors can use it right on your page.