Every code is checked as you build it — contrast, module size, quiet zone, error correction — so you never hand someone a code that looks right and fails at the till. Free, instant, vector out. Nothing you type ever leaves this browser.
llos.ai — ink on cream, 4.6:1 contrast, verified scannable
Three ways a code fails
A QR code that looks fine on screen can still fail in someone's hand. The studio checks these three things live, on every change, so you catch it before it's printed.
A camera needs real separation between the code and its background. Under 4:1 it's risky on a tired phone; under 2.5:1 it won't scan at all — even if the colours look fine to your eye on a bright screen.
Every square in the code is a "module." Shrink the printed width too far and modules fall under a third of a millimetre — too fine for a printer or a phone camera to resolve cleanly.
The empty margin around the code isn't wasted space — it's how a scanner finds the edges. The spec needs at least 4 clear modules of it; tighten that and the scanner loses the code entirely.
Which one
Two colour presets, the same code, one checked against the WCAG contrast formula. Pick the one you'd actually hand a customer.
Questions
No. The encoder is vendored beside this page and runs entirely in your browser — nothing you type is ever sent anywhere.
A phone camera needs strong contrast between the code and its background to read it. Every preset is measured against the WCAG contrast formula; anything under 4:1 is marked risky, and under 2.5:1 the tool will not call it scannable at all.
It sets how much of the code can be damaged, dirty, or covered and still scan. L recovers about 7% of the code, M about 15%, Q about 25%, H about 30%. Higher levels make the code denser, so pick the lowest one your use case can afford.
SVG for anything printed — it is vector, so it stays sharp at any size, from a business card to a poster. PNG is a fixed-pixel raster, useful only where vector isn't accepted, like some slide decks or social posts.
A camera needs to be roughly ten times the code's width away to read it — a 20mm code wants a scan from about 20cm. Printed width sets both scan distance and whether the modules survive the press; pixel size only matters for the PNG export.
It is the empty margin the spec requires around the code — at least 4 clear modules. Without that margin a scanner can't tell where the code ends and the rest of the page begins.
Rounded modules tested clean against a reference decoder and are safe for print. Dot modules look the nicest but a reference decoder could not read them at all — keep dots for on-screen use only, and use square or rounded for anything that gets printed.
Ready to make one? Type what it opens, pick a scan-safe colour, and the studio checks the rest as you go.
The SVG has no size — it prints sharp at any width. This only sets the PNG.