ZXing is an open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages.