ZXing (pronounced “zebra crossing”) is an open-source, multi-format 1D/2D barcode reader library implemented in Java. Goal is to support decoding of QR Codes, Data Matrix, and the UPC family of 1D barcodes.

This library is divided into several components of interest:

core: core decoding library, and the main component of the entire project
javame: JavaME client
javase: J2SE-specific client code
android: Android client (M5 SDK)
rim: RIM/Blackberry-specific client build
iphone: iPhone client + port to Objective C / C++ (QR code only)
zxingorg: The source behind zxing.org/w
bug: Client for BugLabs’s BUG