How to use
- Type or paste the text — a URL, plain text, anything.
- Pick an error correction level. M is the right default.
- Adjust the quiet zone if you need a wider or narrower border.
- Download as PNG for general use, or SVG if it will be printed or resized.
About QR codes
A QR code is a grid of black and white modules that stores data with enough redundancy to be read back from a photograph — at an angle, under poor light, partially damaged. The three large squares in the corners let a scanner find the code and work out its orientation; the alternating line between them establishes the module spacing; and the blank border around everything, the quiet zone, is what lets the scanner separate the code from the background. That border is specified, not decorative, and omitting it is the single most common reason a printed code fails to scan.
The redundancy comes from Reed-Solomon error correction, the same family of codes used on CDs and in deep-space transmission. Four levels are available, recovering roughly 7%, 15%, 25% and 30% of the code respectively. Higher correction is not free: the extra recovery data has to go somewhere, so the same content needs a denser grid. At a fixed print size a denser grid means smaller modules, which is harder for a camera to resolve — so the highest level is not automatically the safest choice. It is the right choice when you expect damage or plan to cover part of the code with a logo.
One thing worth knowing about free QR services: many of them encode a link to their own domain that redirects to your destination. That lets them count scans, and it also means your code stops working if they shut down, and can be redirected or paywalled later. A code that encodes your URL directly has no such dependency — it will work as long as your URL does. That is what this tool produces.
Finally, a note on how this generator is verified. A QR code that is subtly wrong looks completely normal — the modules are still black and white squares in a plausible pattern, and nothing about it signals a problem until someone tries to scan it. Checking by eye is impossible. So every code shape this tool can produce is generated and then decoded again by a real QR reader in the test suite, across content types, error correction levels and symbol versions. Three separate bugs were caught that way during development, each of which produced codes that looked perfectly fine and could not be read at all.