QR Code Generator

Pick a content type, fill in the details, and your QR code updates live. Everything is generated on your device.

Choosing the right error correction level

Error correction lets a QR code still scan even if part of it is obscured or damaged — at the cost of a denser code for the same data. Use Low or Medium for a clean digital code with nothing covering it; use Quartile or High if you plan to print it somewhere it might get scuffed, or if you're adding a logo over the center.

Frequently asked questions

Do QR codes expire?

No — a QR code encoding static data like a URL, text, or contact info works forever and never expires on its own. It only stops being useful if the underlying content changes, such as a linked webpage being taken down.

What's the difference between the error correction levels?

Higher levels (Quartile or High) let a QR code still scan correctly even if part of it is damaged, dirty, or covered — useful if you plan to add a logo in the center or print it somewhere it might get worn. The tradeoff is a denser-looking code. Low or Medium is fine for a clean digital or printed code with nothing covering it.

How do I add a logo to the center of my QR code?

This tool doesn't overlay a logo directly, but you can generate the code with a High error-correction level, then add a small logo over the center in any image editor — the extra redundancy from the higher EC level tolerates that obstruction and the code will still scan.

Can I make a QR code that joins people to my WiFi automatically?

Yes — use the WiFi tab, fill in your network name and password, and generate the code. Most phone camera apps recognize the WiFi QR format and prompt to join the network directly, no typing required.

Does this store or send my data anywhere?

No — the QR code is generated entirely in your browser. Nothing you type here, including WiFi passwords or contact details, is ever transmitted anywhere.

Why won't my QR code scan?

The most common causes are too little contrast between the foreground and background colors, printing it too small, or cramming a lot of data into a low error-correction level. Try reverting to black-on-white, increasing the size, or raising the error-correction level.