skillfed

qreader

Robust and Straight-Forward solution for reading difficult and tricky QR codes within images in Python. Supported by a YOLOv8 QR Segmentation model.

qreader v3.16 79.8K downloads/30d#14,332 on PyPI418
Permissive license MIT AGING released

What it is and what it does

QReader is a Python library for detecting and decoding QR codes from images, combining a YOLOv8-based detector with Pyzbar decoding. It specializes in handling difficult QR codes—those that are damaged, poorly lit, rotated, or otherwise challenging—by applying adaptive image preprocessing after detection. The library exposes a simple API: instantiate a QReader object once, then call detect_and_decode() on images to retrieve decoded strings, or call detect() to get bounding boxes and confidence scores for each QR found.

The package depends on numpy for array operations, opencv-python for image manipulation, pyzbar for the actual QR decoding step, and qrdet (the standalone YOLOv8 detector model). It ships as a pure Python wheel with low install friction. Configuration options include model size (nano to large), detection confidence threshold, character re-encoding for non-ASCII charsets, and custom model weight storage paths—useful for constrained environments.

Use it for:

  • Batch scanning of QR codes from document images or photographs in data entry workflows.
  • Automated inventory or asset tracking systems that need to read QR codes from imperfect camera feeds.
  • Mobile app backends that process user-uploaded images containing QR codes.
  • Quality control in manufacturing: detecting and decoding QR labels on products or packaging.
  • Archival digitization projects where QR codes may be faded, creased, or partially obscured.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

QReader detects and decodes QR codes from images using a YOLOv8 model combined with Pyzbar, handling difficult and damaged QR codes through image preprocessing.

Yes, if you need robust QR detection and decoding from real-world images. The library is production-stable (Development Status 5), has low install friction, carries no security vulnerabilities, and uses a permissive license. Maintenance is aging but not abandoned. Install only if you can satisfy the system-level pyzbar dependencies and accept that the last release was in February 2025.

Install

qreader on PyPI

pip

pip install qreader

uv

uv add qreader

poetry

poetry add qreader

Installing qreader

Before you install

Low friction: pure Python wheel with four runtime dependencies (numpy, opencv-python, pyzbar, qrdet). Maintenance is aging—last commit 2025-02-22, no recent releases—but the repo remains active and unarchived with 418 stars.

License in practice

MIT license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.

Quickstart

pip install qreader

from qreader import QReader
import numpy

qreader = QReader()
decoded_text = qreader.detect_and_decode(image=image)

On Linux, install libzbar0; on macOS, install zbar; on Windows, may require Visual C++ Redistributable. System-level pyzbar dependencies required before package installation.

Verify before relying

  • Accuracy and speed trade-offs between model sizes ('n', 's', 'm', 'l') in production scenarios.
  • Performance on QR codes with severe damage, rotation, or perspective distortion.
  • Memory footprint and inference latency for batch processing or real-time applications.
  • Compatibility with modern Python versions (requires_python is unspecified).

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 4 — numpy, opencv-python, pyzbar, qrdet
Maintenance aging — 544 days since the last release
Last repo commit
First released
Downloads 79,777/month — #14,332 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: qreader-3.16-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Topic :: Scientific/Engineering :: Image RecognitionTopic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities

Tags

qr code detection and decodingread qr codes from imagesdifficult qr code recognitionyolov8 qr detectionbatch qr code scanningqr code segmentationdamaged qr code recovery
qr-code-detectioncomputer-visionyolov8

More Python Modules packages