ZXing ("Zebra Crossing") is a mature, multi-format barcode scanning and generation library for Java, first released in 2007. The core library provides readers and writers for QR Code, Aztec, Data Matrix, PDF417, MaxiCode, and all common 1D barcodes (EAN/UPC, Code 128, Code 39, Codabar, ITF, RSS). It implements the full decoding pipeline: image luminance extraction (via `LuminanceSource` subclasses), binarization (`HybridBinarizer`, `GlobalHistogramBinarizer`), pattern detection (finder patterns, alignment patterns, white rectangles), perspective-corrected grid sampling, and error correction using Reed-Solomon codes. The codebase is organized as a multi-module Maven project: `core` (pure Java library), `javase` (command-line tools and `MatrixToImageWriter`), `android` (fully functional barcode scanner app), `android-integration` (helper library for embedding scanning in third-party Android apps), `zxingorg` (Jakarta EE web servlet for decoding), and `zxing.appspot.com` (GWT-based web generator). The Android app is no longer maintained and does not work with Android 14+. The project is in "maintenance mode" — only bug fixes are accepted via pull requests, and no new features or updates are planned. Despite this, the core library remains a de facto standard for barcode processing in Java ecosystems, widely used and ported to many other languages. The code exhibits high craftsmanship with clean abstractions (e.g., `Reader`/`Writer` interfaces, `Binarizer` strategy pattern, `ResultParser` hierarchy) and is extensively tested with thousands of black-box test images.