# zxing/zxing

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/zxing-zxing).**

33,861 stars · 9,429 forks · Java · apache-2.0

## Links

- GitHub: https://github.com/zxing/zxing
- awesome-repositories: https://awesome-repositories.com/repository/zxing-zxing.md

## Topics

`android` `barcode` `barcode-scanner` `datamatrix` `java` `qr-code` `upc` `zxing`

## Description

This project is a multi-format barcode library designed to encode and decode one-dimensional and two-dimensional barcodes across multiple programming languages. It functions as a cross-platform image processor that analyzes visual data to detect, locate, and extract information from patterns in diverse environments, while also providing a standard for mapping structured data into machine-readable formats.

The library distinguishes itself through advanced image processing techniques that ensure reliability in real-world conditions. It employs pattern-matching detectors to identify geometric finder patterns and uses perspective-transformation normalization to rectify skewed or tilted images. To handle imperfect scans, it incorporates mathematical error correction to reconstruct missing or corrupted data segments, and utilizes binarization to isolate barcode modules from background noise.

Beyond simple data extraction, the project bridges the gap between physical objects and digital resources by enabling mobile device automation. It includes a modular parsing layer that interprets standardized resource identifiers, allowing scanned codes to trigger specific actions such as launching applications, configuring network settings, or exchanging contact, calendar, and location information.

## Tags

### Graphics & Multimedia

- [Computer Vision Libraries](https://awesome-repositories.com/f/graphics-multimedia/computer-vision-libraries.md) — Analyzes image data to detect and extract information from visual patterns.
- [Barcode Processing Libraries](https://awesome-repositories.com/f/graphics-multimedia/barcode-processing-libraries.md) — Implements algorithms for encoding and decoding various one-dimensional and two-dimensional barcode formats.
- [Geometric Transformations](https://awesome-repositories.com/f/graphics-multimedia/geometric-transformations.md) — Rectifies skewed or tilted barcode images into a readable coordinate space.
- [Image Processing](https://awesome-repositories.com/f/graphics-multimedia/image-processing.md) — Converts raw camera input into high-contrast bitmaps for barcode detection.

### Data & Databases

- [Data Encoding](https://awesome-repositories.com/f/data-databases/data-encoding.md) — Converts structured information into scannable patterns for rapid data entry.

### Artificial Intelligence & ML

- [Pattern Recognition](https://awesome-repositories.com/f/artificial-intelligence-ml/pattern-recognition.md) — Identifies geometric finder patterns to determine barcode orientation and scale.

### Development Tools & Productivity

- [Physical-Digital Bridges](https://awesome-repositories.com/f/development-tools-productivity/physical-digital-bridges.md) — Bridges physical objects and digital resources by embedding URIs into graphics.
- [Automation Tools](https://awesome-repositories.com/f/development-tools-productivity/automation-tools.md) — Triggers mobile device actions like Wi-Fi connection via physical code scanning.

### Security & Cryptography

- [Error Correction Codes](https://awesome-repositories.com/f/security-cryptography/error-correction-codes.md) — Reconstructs corrupted or missing data segments within scanned barcodes.

### Software Engineering & Architecture

- [Data Exchange Standards](https://awesome-repositories.com/f/software-engineering-architecture/data-exchange-standards.md) — Standardizes the transfer of information between different devices and operating systems.
- [Data Serialization Formats](https://awesome-repositories.com/f/software-engineering-architecture/data-serialization-formats.md) — Provides standardized conventions for encoding structured information like contact details and calendar events into compact formats.

### Web Development

- [Web Resource Locators](https://awesome-repositories.com/f/web-development/web-resource-locators.md) — Encodes web URLs for rapid digital access. ([source](https://github.com/zxing/zxing/wiki/Barcode-Contents))
