Make a QR code that actually scans.

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

What actually breaks a scan

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.

Contrast

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.

Module size

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.

Quiet zone

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

Which of these would you trust?

Two colour presets, the same code, one checked against the WCAG contrast formula. Pick the one you'd actually hand a customer.

Which QR would you trust?
Two presets, same link. Which one scans?

Questions

FAQ

Does QR Studio send my link or text to a server anywhere?

No. The encoder is vendored beside this page and runs entirely in your browser — nothing you type is ever sent anywhere.

Why do some of the colour presets say they are risky to scan?

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.

What does the error correction level actually change?

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.

Should I export a QR code as SVG or as PNG?

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.

Why does printed width matter more than pixel size?

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.

What is the quiet zone around a QR code for?

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.

Are dotted or rounded QR modules safe to print?

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.

QR Studio. vector out · scan-checked · nothing leaves this browser

Colours
Module shape

Printed width 40 mm

Quiet zone 4 modules

PNG export size 1024 px

The SVG has no size — it prints sharp at any width. This only sets the PNG.

—