ReadoutKit

QR code generator

Make a QR code for a link, Wi-Fi network, email or phone number. No tracking redirect, no expiry.

Runs entirely in your browser. Nothing you enter is uploaded.

How this works

What a QR code actually is

A QR code is not a link. It is a container for a short string of text, and everything a phone does when it scans one is a response to the format of that string. The tool shows you the exact string it encoded, under the code, so nothing about the result is a mystery.

What you wantWhat goes in the code
Open a web pagehttps://example.com
Join a Wi-Fi networkWIFI:T:WPA;S:name;P:password;;
Start an emailmailto:a@example.com?subject=…
Dial a numbertel:+81312345678

A URL without its scheme is the most common mistake. example.com is plain text as far as the code is concerned; some scanners guess it is a link and some just show it as words. This tool adds https:// when you leave it off.

Error correction, and why it exists

QR codes carry redundant data so they survive damage. Four levels are defined, each trading capacity for resilience:

LevelRecovers up toUse when
L7%Screens and clean documents, long content
M15%The sensible default
Q25%Packaging, labels, anything handled
H30%Outdoors, or with a logo covering the centre

The redundancy is what makes it possible to put a logo in the middle of a QR code: you are deliberately damaging it, and the error correction repairs the read. Level H tolerates roughly a third of the code being obscured, but the obscured part must be spread out or central — covering one of the three corner squares breaks it regardless of level, because those are the position markers the scanner uses to find the code at all.

Making one that actually scans

  • Keep the quiet zone. The blank margin around the code is part of the specification, not decoration. Scanners need it to find the edges. Four modules is the standard; two is usually survivable; zero often fails.
  • Keep the contrast high and the polarity right. Dark code on a light background. Inverted codes fail on many scanners, and a pale code on white fails on all of them.
  • Shorten the content. More characters means more modules means a finer grid. A long URL with tracking parameters can double the density compared with a clean one.
  • Test before you print. Scan it with more than one phone, at the distance and lighting people will actually use.

A note on tracking redirects

Many free generators encode a link to their own domain, which redirects to yours. That gives them scan analytics and gives you a dependency: your printed material now relies on a third party staying in business and not putting the feature behind a subscription. Codes generated this way have stopped working for entire print runs.

This tool encodes your content directly. There is no redirect, no account, and nothing to expire. The trade-off is that you get no scan statistics — if you need those, use a link you control and add your own analytics to the destination page.

Common questions

Will this code stop working after a while?
No. The code contains your content directly, so there is nothing that can expire, be rate-limited, or be switched off. Many free generators produce a code pointing at their own short link, which lets them count scans — and means your printed poster stops working the day that service shuts down or starts charging.
Which error correction level should I pick?
M for anything on a screen or a clean printed page. Q or H when the code will be on packaging, outdoors, or somewhere it may get scuffed, or when you plan to place a logo in the middle. Higher levels make the code denser, so they need more physical space.
How small can I print it?
A common rule is that the code should be at least a tenth of the scanning distance: readable from one metre means at least 10 cm across. For a business card at close range, 2 cm is usually workable. Always test with an actual phone before printing a thousand of them.
Why does the Wi-Fi code need a specific format?
Phones recognise a structured string beginning with WIFI: and offer to join the network. If the SSID or password contains a semicolon, colon, comma, backslash or quotation mark, those characters must be escaped or the phone will parse the string wrongly. This tool escapes them for you — a detail many generators get wrong.
Should I use SVG or PNG?
SVG for anything going to print. It is vector, so it stays perfectly sharp at any size, which matters because a blurry QR code fails to scan. PNG when you need a bitmap for a system that will not take SVG — pick the largest size offered and let it be scaled down.

Other tools