Where the work happens
When you press a button such as Generate QR Code, the code is drawn by JavaScript running on your own device. What you type is not sent to us or anyone else to make the code. The page needs an internet connection to load, and after that the drawing happens locally.
The encoder is the open source qrcode-generator library, version 1.4.4, loaded from cdnjs.
What goes into a code
A QR code holds text. Each tool turns your details into the text that phones expect for that kind of code, then encodes it. A link is the link itself. A WiFi code is a line starting with WIFI:. A contact card is a short vCard. Each generator's page in these docs shows the exact text, decoded from a code the tool made.
Nothing else is added. There is no tracking address, no redirect through our site and no hidden data, which is why the codes do not expire. See Static codes and privacy.
Fixed settings
- Error correction
- Level M on every generator, which can recover from roughly 15% of the code being damaged. The Bulk tool, Designer and Stress test let you choose L, M, Q or H.
- Text encoding
- UTF-8, so accents and other alphabets come through intact.
- Quiet zone
- A white margin 4 modules wide on every side, included in the image.
- Size
- The smallest grid that fits your text, chosen automatically. Longer text means more modules.
Download, print and share
Every generator gives you three ways to keep the code:
- Download saves a PNG about 1,000 pixels wide, black on white, with the quiet zone.
- Print opens the code on its own page at 60 mm (2.4 in) and starts your browser's print dialog.
- Share opens your device's share sheet with the PNG attached. It only appears where the browser supports sharing files.
For SVG files, colours, a logo or text under the code, use the Designer. For print ready signs, use the Sign maker.
The scan check
Under every code is a badge that tells you how dense the code is and the smallest width to print it. Print size and the scan badge explains how it is worked out.