How it works
ZXing ('zebra crossing') decodes 1D barcodes such as EAN-13, UPC-A, Code 39 and Code 128 and 2D codes such as QR Code, Data Matrix, Aztec and PDF417, and it can generate them as well. It began at Google and powered the well-known Barcode Scanner app on Android. Ports include zxing-js for JavaScript and zxing-cpp, a C++ version that also compiles to WebAssembly for fast scanning in the browser.
The original Java project and the JavaScript port are now in maintenance mode and accept only bug fixes, so new projects often use zxing-cpp builds, the browser's BarcodeDetector API where it is available, ML Kit on Android or Apple's Vision framework on iOS. Scanning quality depends as much on the camera, focus and lighting as on the library.
ZXing pricing
Related terms
More in Media and documents
Images