MRZ SCANNER 2 << PASSPORTS · ID CARDS · VISAS

Read the MRZ of any travel document, in your own app

Reads machine readable zones on the device, offline, and checks every check digit before it answers. On phones, desktops, servers and in the browser.

IOS · ANDROID · REACT NATIVE · FLUTTER · .NET MAUI · CAPACITOR · CORDOVA

One camera screen, in every mobile framework

A full-screen camera with AR mode: a box follows the MRZ and shows the read. Native SDKs for iOS and Android, and plugins with the same API for each cross-platform framework.

Capacitor, Cordova, React NativeTypeScript
await MRZScanner.registerLicense('MRZ2...');

const result = await MRZScanner.scan({
  documentTypes: ['passport', 'id'],
});
if (result.status === 'read') {
  const read = result.reads[0];
  console.log(read.fields.document_number);
}

WINDOWS · LINUX · PYTHON

Scan on the desktop and the server

A C library for Windows and Linux with no dependencies, and the same library on PyPI. For kiosks, back offices and batch checks of scanned documents.

Pythonpip install mrzscanner
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.fields["document_number"])

WEBASSEMBLY

Right in the browser

The scanner compiled to WebAssembly, in early access. It reads from the camera or an uploaded photo inside the visitor's browser; images never leave the device.

One licence for every platform you shipAll platforms →
NATIVE MOBILE
DESKTOP AND SERVER

MRZ Scanner 2

One scanner core for phones, desktops, servers and the browser.

Accurate and fast

Point the camera at a passport, ID card or visa. A box follows the machine readable zone and shows the read on screen, in AR mode.

Every read is checked against the document's check digits, and in camera mode it is confirmed over agreeing frames before your app gets it.

It also reads still photos and files, for documents your users upload.

React Native, Capacitor, Cordovaone API
await MRZScanner.registerLicense('MRZ2...');

const result = await MRZScanner.scan({
  documentTypes: ['passport', 'id'],
  continuous: false,
  torch: false,
});

const fromPhoto = await MRZScanner.scanImage({ path });

Easy to use, in any framework

Native SDKs for iOS and Android own the camera screen. The plugins for React Native, Flutter, .NET MAUI, Capacitor and Cordova pass straight through to them, with the same three calls everywhere: registerLicense, scan and scanImage (in C#: RegisterLicenseAsync, ScanAsync and ScanImageAsync).

Settings for continuous scanning, document types, a region of interest, torch and zoom are the same on every platform.

See every platform

On the desktop, the server and the web

A C library for Windows and Linux with no dependencies, the same library as a Python package, and the scanner compiled to WebAssembly for web pages (in early access).

Batch-check scanned documents on your server, scan webcam frames at a desk, or let customers scan in your web check-in.

Python · Linux · Windows · WebAssembly

Reliable and private

Recognition runs entirely on the device or your own server, offline. No image or document data is sent anywhere unless your app sends it.

The licence key is checked on the device too, so scanning needs no network connection.

Reads come back as named fields: names, document number, nationality, dates of birth and expiry, and more.

Start scanning in 3 easy steps

  1. 1 Try it free Create an account and get a 30-day trial key in the portal at once.
  2. 2 Add it to your app Install the package for your platform and register your key at start.
  3. 3 Scan and go live Request a production licence for your platforms; one key covers them all.

Pricing

Production licences from $1,999 a year. The trial is free for 30 days.

See pricing

Coming from MRZ Scanner 1.x?

MRZ Scanner 2 has new packages and one API across all of them. Apps on 1.x keep working with their licences; a new MRZ Scanner 2 key covers every platform in your licence.

Ask us about upgrading