An open-source, multi-format 1D/2D barcode image processing library implemented in Java.
ZXing ("Zebra Crossing") is an open-source barcode scanning library that enables applications to read and generate various 1D and 2D barcode formats from images. It solves the problem of integrating reliable barcode processing capabilities without relying on proprietary SDKs. The core library is implemented in Java, with numerous community-maintained ports to other languages and platforms.
Developers building applications that require barcode scanning or generation, particularly those working with Java or Android ecosystems, or those seeking a free, open-source alternative to commercial barcode libraries.
Developers choose ZXing for its wide format support, proven reliability, and the extensive ecosystem of ports that allow integration into virtually any tech stack. Its open-source nature and long history make it a trusted, cost-effective foundation for barcode functionality.
ZXing ("Zebra Crossing") barcode scanning library for Java, Android
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Decodes and generates a comprehensive range of 1D and 2D barcodes, including UPC, EAN, QR Code, and Data Matrix, as detailed in the README's supported formats table.
Core Java library has numerous community-maintained ports to languages like C++, JavaScript, .NET, and Python, enabling integration across diverse tech stacks, as listed in the third-party projects section.
As a long-standing open-source project, it provides a stable, tested foundation for barcode processing, with bug fixes still being considered in maintenance mode.
No licensing costs and full source access make it a cost-effective choice for developers building barcode functionality without proprietary SDKs.
The project is in maintenance mode with no active development or roadmap; only bug fixes and minor enhancements are considered, limiting future feature additions.
The Barcode Scanner app does not work with Android 14 and will not be updated, as stated in the README, reducing its utility for modern Android applications.
Many language ports are third-party and may vary in maintenance quality, requiring developers to vet and potentially maintain their chosen port.