Glossary
ZXing
ZXing — "zebra crossing" — is the open-source barcode library that most QR decoding is ultimately built on. UseQR uses a WebAssembly build of it to decode every code it generates, before you download it.
Why it matters here
Most generators render a QR code and hand it over. If a styling choice broke the pattern, you find out when a customer cannot scan your poster.
UseQR rasterises the styled output and reads it back with a real decoder. If it does not decode, it does not ship. That check runs in your browser before download, and in CI across the full style matrix for every commit.
The wider ecosystem
ZXing began as a Java library and has been ported widely — zxing-cpp, zxing-js,
zxing-wasm. Its detection and decoding heuristics are what most phone camera apps and
most web scanners inherit, which is why "does ZXing read it?" is a good proxy for "will a
phone read it?"
Alternatives: quirc (small C, embedded use), ZBar (older, still common in Linux tooling), and each platform's native detector — Apple's Vision framework, Android's ML Kit.
Related
- Decode-verify — Decode-verify is the practice of reading a generated QR code back with a real decoder before shipping it. It is the only way to know that a styled,…
- Contrast ratio — Contrast ratio is the luminance difference between a QR code's dark and light modules. Decoders need a clear threshold; the practical floor is about 40%…
- Error correction level — Error correction level sets how much of a QR code can be damaged and still decode: L tolerates about 7%, M 15%, Q 25% and H 30%. Higher levels cost…