Back to home

QR Code Generator

Turn a link, Wi-Fi password, or any text into a QR code, then download it as a PNG — generated entirely in your browser, nothing uploaded.

Error correction

Choosing an error correction level

Error correction lets a QR code still scan correctly even if part of it is dirty, scratched, or partly covered — for example by a logo placed in the center. Higher levels rebuild more of the code from redundant data, but pack less usable capacity into the same grid, which is why a longer piece of text can fail to encode at a high level but succeed at a lower one.

For most everyday cases — a link on a flyer, a Wi-Fi password on a sticker — "M" (about 15% recoverable) is a solid default. Reach for "Q" or "H" only if the code will be printed small, placed somewhere it might get scuffed, or needs a logo overlay; use "L" only when you're encoding a long piece of text and need the extra capacity.

Frequently asked questions

Why does the QR code stay black and white even in dark mode?

QR scanners rely on strong black-on-white contrast to read the code reliably — following the site's dark theme here would risk producing a code that some scanners can't read. The code itself is kept at the standard contrast on purpose, independent of how the rest of the page looks.

Is any of my text or link sent to a server?

No — the QR code is generated entirely in your browser using a JavaScript library that runs locally. Nothing you type is uploaded anywhere, which also means this works for sensitive content like a Wi-Fi password.

Why did it say my text was too long?

A QR code has a fixed maximum data capacity that depends on the error correction level you've chosen — roughly a few thousand characters at the lowest level, less at higher levels. If you hit the limit, try a shorter piece of text (a link shortener helps for long URLs) or a lower error correction level.

···