What a QR code stores
A QR (quick response) code is a square grid of dark and light modules that encodes text. Phone cameras read it and then act on the content: open a web address, show a message, join a Wi-Fi network or add a contact. This generator encodes your text as UTF-8 bytes, so web links, plain text and non-English characters are all supported. It chooses the smallest QR version (from 21 × 21 up to 177 × 177 modules) that holds your data at the error-correction level you select.
Error correction levels
QR codes include Reed-Solomon error-correcting data, so a code stays readable even if part of it is dirty, damaged or covered. Level L restores about 7% of the code, M about 15%, Q about 25% and H about 30%. Higher levels need more modules, making the code denser and harder to scan at small sizes. For a link on a flyer or screen, M is a good default. Use H if the code will be printed on rough surfaces or you plan to place a logo over the centre.
Tips for a code that scans
- Contrast matters: keep the dark colour much darker than the light colour. Dark modules on a light background are the most reliable, and inverted codes do not work with every scanner.
- Keep the quiet zone: the plain margin around the code is part of the standard, and the tool adds four modules on each side. Do not crop it.
- Size: print at least about 2 cm (0.8 inches) wide for close scanning, and larger for posters. As a guide, scan distance should be no more than ten times the code width.
- Test it: always scan the final code with a phone before printing a large batch.
Useful content formats
A link should start with https://. For Wi-Fi, use the format WIFI:T:WPA;S:NetworkName;P:Password;; and phones will offer to join the network. Emails use mailto:name@example.com, and phone numbers use tel:+15551234567. These codes are static: the content is fixed in the image, so they never expire and are not tracked by this site. If you need to change the destination later, point the code at a link you control.
Privacy
The code is generated by JavaScript running in your browser. Your text is never sent to a server, which matters when the content is a Wi-Fi password. PNG downloads come from the page's canvas, and SVG downloads are built from the same grid, which scales to any size without blur.