QR Code Generator

Create a QR code for a link, text, Wi-Fi network, email message or contact card — as a clean, scalable SVG.

Runs on your deviceDeveloperWorkingNo account needed

What this tool does

A QR code is a printed encoding of a short piece of text. Scanning one does not fetch anything from us: the data is in the pattern itself, so a code generated here works forever, offline, with no service behind it.

That is worth knowing because many free generators encode a redirect through their own domain so they can count scans — and if that company disappears or starts charging, every code you printed stops working. The codes here contain your data directly.

Output is a black-on-white SVG, which is vector. The same file is sharp on a business card and on a shopfront banner, because there is no fixed resolution to outgrow. There is no colour picker, no logo overlay and no PNG or JPEG export here — if you need those, take the SVG into a design tool.

How to use it

  1. Choose what to encode. A URL, plain text, Wi-Fi credentials, an email message or a vCard contact. Each produces the format scanners expect, and the Link option prepends https:// when you leave the scheme off.
  2. Set the error correction. Four levels, L through H, recovering roughly 7%, 15%, 25% and 30% of a damaged code. Medium is the default and suits most uses; use High for anything printed on a surface that will be scuffed.
  3. Adjust the size, then download. Module size sets how many pixels each square occupies, and the quiet zone sets the plain border in modules — four is the default and the standard minimum. The download is a single SVG that scales to any size.

Processing & privacy

Runs on your device. Your file is processed directly in this browser.

Common use cases

Wi-Fi for guests

A Wi-Fi code joins the network on scan, so nobody has to read a long password off a wall.

Menus and posters

Link to a page without printing a URL that people have to type accurately.

Business cards

A vCard code adds your details to a phone's contacts in one step.

Email enquiries

An email code opens a pre-addressed message with the subject and body already filled in.

Questions

Do these codes expire?
No. The data is encoded in the pattern, not stored on a server, so nothing can be switched off or taken away. Codes that expire are ones that redirect through the generator's own domain — these do not.
Can you track scans?
No, and that is the trade-off. Tracking requires routing scans through a server, which is exactly the dependency that breaks codes later. If you need analytics, encode a URL you control and measure it at your end.
What error correction level should I use?
Medium for most things. Use High for codes printed on packaging, outdoor signage or anything that will be handled — it survives roughly 30% damage, at the cost of a denser pattern.
Why is my code not scanning?
Usually too small, too little quiet margin, or poor contrast. Keep a clear border of about four modules, print at least 2 cm across for a short URL, and keep it dark-on-light. Inverted codes fail on many scanners.
How much can a QR code hold?
Thousands of characters in theory, but a dense code is hard to scan. Keep URLs short — under about 100 characters keeps the pattern readable at practical printed sizes.
Can I add a logo or change the colours?
Not in this tool. It emits a plain black-on-white SVG with no image overlay and no colour controls. That keeps contrast at its most scannable; if you want branding, edit the downloaded SVG in a vector editor and re-test the code afterwards.

Related tools