output
how it works
text ──▶ utf-8 bytes ──▶ segment + padding
│
▼
reed-solomon ecc
│
▼
module matrix ◀── interleaved codewords
│
▼
8 mask candidates ──▶ penalty score ──▶ best mask
│
▼
canvas (png) / path (svg)
Versions 1–40, byte mode, all four error correction levels, mask chosen by the penalty rules in ISO/IEC 18004. No library, no CDN.
where your data goes
- text
- Nowhere. Encoding is local; the page makes no request for it.
- images
- Uploaded to litterbox, which returns a link under a random id, and that link is what the qr code contains. No account, no api key, no public gallery to browse or search. This is the one external request on the page and it only fires when you pick or drop a file.
- expiry
- Litterbox deletes uploads after 72 hours. After that the qr code still scans, but the link behind it is dead. Fine for sending someone an image; not for anything you print.