Free tool

MRZ Validator

Paste the two machine-readable zone lines from any passport. We verify every ICAO 9303 check digit and show you exactly which field fails, if any does.

Everything runs in your browser: no request is sent, nothing is stored, and no account is needed.

Starts with P and carries the issuing state and the names.

0 of 44 characters

Carries the passport number, the dates, and every check digit.

0 of 44 characters

Paste your MRZ and hit “Validate MRZ” for the full breakdown.

What the MRZ is, and why it can be checked

The machine-readable zone (MRZ) is the pair of 44-character lines printed in OCR-B at the bottom of every passport data page. Its format is an international standard — ICAO Doc 9303 — so it is identical on a Mexican, German, or Japanese passport.

The second line carries check digits: numbers computed from the data itself using a 7-3-1 weighting. Misread a single character and the computed digit stops matching the printed one, which exposes the error without any need to compare against the original document.

That is why passport extraction can make a promise no other identity document allows: we do not claim the read is "usually accurate", we check it. When the MRZ we read fails its check digits the system re-reads the image, and if it still fails you get an error and your token back.

Is my passport sent to a server?

No. Validation runs entirely in your browser in JavaScript: no network request is made, nothing is stored, and no data from the document is logged.

Does it work with passports from any country?

Yes. The algorithm is the one in ICAO 9303, which is the same on every passport in the world. There is no country list: if the document is a passport book (TD3), it validates.

What does it mean when only the composite digit fails?

The composite digit covers the passport number, the dates, and the personal number along with their own check digits. When it alone fails, the misread character is usually the last character of the line, or the composite digit itself.

Does a valid MRZ mean the passport is genuine?

No. Check digits verify the transcription, not the document: they confirm the lines were copied correctly and are internally consistent. Verifying that a passport is authentic requires reading its chip or asking the issuing authority.

Can I validate MRZs from my own system?

Yes. Our API extracts the data from a photo of the passport and validates the MRZ on every read; if it does not pass, the extraction is not charged. You get free tokens when you create an account.

Need this on a photo instead of pasted text?

Our API reads the passport data page, transcribes the MRZ, and runs this very validation on every extraction. If the read fails its check digits, you are not charged.