Feature

Passport and MRZ Reading

Read the machine-readable zone of a passport deterministically — no AI cost, with checksum validation.

What is Passport and MRZ Reading in Mahad OCR?

Available now. ICAO 9303 machine-readable zones are parsed by a dedicated reader that also verifies each check digit. Input: Passport image or scan showing both MRZ lines clearly (PNG, JPG, PDF). Limitation: Requires a readable MRZ.

Available now

What it does

ICAO 9303 machine-readable zones are parsed by a dedicated reader that also verifies each check digit. Because it is deterministic, fields proven by valid check digits are marked confirmed (evidence: deterministic) and cost nothing to process.

How it works

  1. 1Upload the passport page
  2. 2The MRZ reader runs first (free, deterministic)
  3. 3Check digits are validated field by field
  4. 4If no valid MRZ is found, the AI reader takes over automatically

Sample result

Illustrative response shape using synthetic data.

{
  "document_type": "passport",
  "values": {
    "surname": "ERIKSSON",
    "document_number": "L898902C3",
    "date_of_birth": "1974-08-12",
    "sex": "Female"
  },
  "checks": { "document_number": "pass", "date_of_birth": "pass" }
}

Supported inputs

Passport image or scan showing both MRZ lines clearly (PNG, JPG, PDF).

Fields returned

  • surname, given_names
  • document_number (+ check digit result)
  • nationality, issuing_country
  • date_of_birth, expiry_date, sex
  • checks{} — per-field checksum pass/fail

API

Automatic — no separate endpoint or parameter needed.

Security & privacy

MRZ parsing runs entirely on our own servers. Nothing is sent to an external AI provider for this path.

Current limitations

Requires a readable MRZ. Glare, crops that cut the MRZ, or heavy blur fall back to the AI reader. The visual page (photo, signature) is not biometrically verified.

Try it on your own document

Run the live demo, or create an account and get an API key.