How to use it
- Choose What the code holds and fill in its fields. The code is drawn as you type.
- Choose the Error correction level and the Size in pixels. A higher correction survives more damage but makes the code denser.
- Pick the Dark colour and the Background colour. Keep a strong contrast; the page warns you when it is weak.
- Press Download PNG for an image, or Download SVG for a file that scales without losing quality.
What goes into the code
A Wi-Fi code holds the network name, the security and the password in the form that phone cameras read: WIFI:T:WPA;S:name;P:password;; The characters that have a meaning in this form, the backslash, semicolon, comma, double quote and colon, are written with a backslash in front of them.
A contact card holds a vCard 3.0 record (RFC 2426). Its text values escape the backslash, semicolon and comma. An e-mail holds a mailto: address, a phone number a tel: address, and an SMS an sms: address with the message in body, as RFC 5724 describes. A web address without a scheme gets https:// in front.
- The longest text a code can hold depends on the error level: the higher the level, the shorter the text.
- A Wi-Fi network name can be at most 32 bytes long. A WPA password has 8 to 63 characters, and an open network has no password.
Error correction, size and colours
A QR code can still be read when part of it is damaged or covered. The error correction level sets how much: about 7% at L, 15% at M, 25% at Q and 30% at H. The page uses the smallest version of the code that holds the text at the level chosen.
The contrast between the dark and light colours should be high. The page measures the contrast ratio with the WCAG formula and warns below 4.5 to 1, and when the background is darker than the code, which many scanners do not read.
Worked example: a Wi-Fi code
A network called MyNet with the password secret123 and WPA security is written as WIFI:T:WPA;S:MyNet;P:secret123;; A guest who scans the code joins the network without typing the password.
If the name holds a semicolon, as in cafe;2, the code writes it as cafe\;2 so that the reader does not take the semicolon as the end of a field.
Frequently asked questions
Which error correction level should I choose?
Medium is right for most uses, such as a link on a poster or a menu. Choose high when the code may be printed small, worn or partly covered, such as a logo in the middle, and be ready for a denser code.
Why does my code not scan on a dark background?
Most scanners read a dark code on a light background. A light code on a dark background may read on some phones only, so the page warns you when the background is darker than the code.
Is the code sent to a server?
No. The code is made in your browser, and the PNG and SVG files are made there too. Nothing you type is sent to our server or stored there.
Why does my Wi-Fi code need the password for WPA?
Phones join a WPA network only with its password, so the code must hold it. A WPA password of fewer than 8 characters is not valid, and the page does not make a code for one.
Why is my text too long?
A QR code holds at most a few thousand characters, and fewer at a higher error level. Shorten the text, use a shorter web address, or choose a lower error level.
Sources
- ZXing: barcode contents, the Wi-Fi network format
- RFC 2426: vCard MIME Directory Profile (version 3.0)
- RFC 5724: The sms URI Scheme
- WCAG 2.2: contrast ratio
Figures and text last checked on Tuesday, November 10, 2026.