QR Code Generator

Create crisp QR codes for links, Wi-Fi, text and contacts.

Appearance

What a QR code holds

A QR code is not a link to a database — it is the data itself, printed. Everything encoded here is written directly into the pattern, so the code keeps working with no server, no account and no expiry. That also means the content is fixed once printed: changing where a code points requires generating a new one, or pointing it at a URL you control and redirecting from there.

Capacity depends on the version (size) and the error-correction level. A short URL fits comfortably in a small, sparse code that scans from across a room; a full vCard produces a dense grid that needs to be printed larger and held closer.

Error correction, and why it matters

QR codes use Reed–Solomon coding, which lets a scanner reconstruct the data even when part of the pattern is unreadable. Four levels are available:

  • L — about 7% recoverable. The smallest, densest-free code. Fine for a screen.
  • M — about 15%. The right default for almost everything.
  • Q — about 25%. Choose this for print that may get scuffed.
  • H — about 30%. Needed if you plan to place a logo over the centre, and sensible for stickers, packaging and anything outdoors.

Higher correction means more modules for the same content, so the code becomes denser and each module smaller at a given print size. Do not reach for H by default — it is a trade, not a free upgrade.

Printing codes that actually scan

  • Keep the quiet zone — the blank margin of four modules around the code. Cropping it is the single most common reason a code fails to scan.
  • Print at least 2 × 2 cm for a code scanned at arm's length. As a rule of thumb the code should be about one tenth of the scanning distance.
  • Keep the foreground darker than the background. Inverted codes — light on dark — are read by some scanners and rejected by others.
  • Maintain strong contrast and avoid placing the code over a photograph or gradient.
  • Test with more than one phone before committing to a print run.

Frequently asked questions

Do these codes expire or need tracking?

No. The data is encoded in the pattern itself, so a code generated here works forever and offline. There is no redirect service in the middle, which also means no one — including this site — can see when or where it is scanned.

Is my data sent anywhere?

No. The encoder runs in your browser. That matters most for the Wi-Fi option: your network password is turned into a pattern locally and never transmitted.

Can I put a logo in the middle?

Yes, if you use error-correction level H and keep the logo under roughly 25% of the width, centred. Download the PNG, place the logo in an image editor, and test the result on several phones — the error correction is doing real work there and it has limits.

PNG or SVG?

SVG for anything printed: it is vector, so it stays perfectly sharp at any size, from a business card to a poster. PNG for screens, email and social media, where a fixed-resolution image is simpler to handle.

Why did my code get bigger when I added a few characters?

QR codes come in 40 fixed sizes. Crossing a capacity threshold bumps the code to the next version, which adds four modules per side. Shortening the URL — or dropping the https:// and www., which scanners handle fine — often drops it back down.