QR code generator
MDV ToolsType a link or any text and get a QR code that holds exactly that.
- Size
- Holds
- Survives
How this works
The code is built in this page by Kazuhiko Arase's QR Code Generator 2.0.4 (MIT licensed, copied in with its notice). Your text is encoded as UTF-8 bytes in byte mode, the smallest version from 1 (21 × 21 modules) to 40 (177 × 177) that holds it is chosen, and the library adds the Reed–Solomon error correction and picks the mask pattern. The code holds your text itself: there is no short link, no redirect through a server and no scan counter, so it keeps working as long as the link it holds does, and nobody learns when it is scanned.
Error correction decides how much of the code can be dirty, torn or covered and still read: about 7% at L, 15% at M, 25% at Q and 30% at H. Higher levels make the code denser for the same text, and lower the most it holds, in bytes of UTF-8: 2,953 at L, 2,331 at M, 1,663 at Q and 1,273 at H. Longer text is refused with the numbers. A character outside ASCII takes two to four bytes, and some older scanners read non-ASCII text in another character set, since the code does not declare UTF-8.
Every image keeps the standard quiet zone of four modules on each side. The preview and the SVG are
vector squares, so the SVG stays sharp at any size; the PNG is drawn with whole pixels per module, so
its width is the largest multiple of the module count that fits the size you pick, and the page prints
the exact size. Colours are your choice, but scanners expect dark modules on a light ground with strong
contrast: the page warns when the ink is lighter than the ground or the contrast ratio is below 4:1.
It also warns when a link has no https://, because many phone cameras then offer it as
plain text. Input over 10,000 characters is refused. Nothing is uploaded: there is no server in this
file.
The Dark button remembers its setting in this browser's local storage. Nothing you type or drop into the page is stored.