PLATFORMS << DESKTOP AND SERVER

MRZ Scanner for Python

A self-contained Python package: no dependencies, no network.

  • Packagemrzscanner on PyPI
  • RequiresPython 3.8+, Linux x86_64 / arm64, Windows x64
  • Version2.5.0
Pythonpython
import mrzscanner

mrzscanner.register_license("MRZ2...", app_id="com.example.app")

with mrzscanner.Scanner() as scanner:
    result = scanner.scan("passport.jpg")
    if result:
        print(result.text)                        # the MRZ lines
        print(result.fields["document_number"])   # the parsed fields
        print(result.check_digits_valid)

How it starts

  1. 1pip install mrzscanner (add [images] to read image files with Pillow).
  2. 2Call mrzscanner.register_license once per process.
  3. 3Open a mrzscanner.Scanner() and call scan() with a file, bytes, a PIL image or a numpy array.

Install

Installbash
pip install mrzscanner            # numpy arrays and raw pixels
pip install "mrzscanner[images]"  # also image files (Pillow)

Scan a document

Pythonpython
import mrzscanner

mrzscanner.register_license("MRZ2...", app_id="com.example.app")

with mrzscanner.Scanner() as scanner:
    result = scanner.scan("passport.jpg")
    if result:
        print(result.text)                        # the MRZ lines
        print(result.fields["document_number"])   # the parsed fields
        print(result.check_digits_valid)

Also available for