Extract data from a passport

Read all identifying fields off a passport scan or photo: country, surname, given names, passport number, nationality, dates, and both MRZ lines. Export the result as structured JSON, CSV, or Excel.

Drop a PDF or image here, or click to browse
Max 20 MB per file · PDF, PNG, JPG, WEBP, HEIC
Pro: drop up to 25 files at once for bulk extraction
What to extract from this full passport?
or describe it yourself
Extracting full passport

Why this matters

KYC, visa applications, hotel check-in, and identity onboarding all need the same fields. ExtractFox returns them in a stable schema, including both lines of the machine-readable zone, so you can compare MRZ values against the visual fields and flag likely OCR errors.

How it works

  1. Step 1
    Upload the passport image

    PDF, PNG, JPG, or HEIC photo. Front photo page only.

  2. Step 2
    Extract identity fields

    Surname, given names, passport number, nationality, sex, date of birth, place of birth, issue date, expiry date, issuing authority, and both MRZ lines.

  3. Step 3
    Verify and export

    Inspect the table, then download as JSON for an API ingest or Excel for a spreadsheet.

Fields extracted

country_codesurnamegiven_namespassport_numbernationalitydate_of_birthsexplace_of_birthdate_of_issuedate_of_expiryissuing_authoritymrz_line_1mrz_line_2

Common use cases

Passport scan to JSON for identity onboarding
MRZ extraction from passport photos
Passport number and expiry-date capture for travel workflows
KYC onboarding for fintech, crypto, and neobanks
Visa and travel-document processing
Hotel and short-stay rental check-in flows
Airline and cruise passenger pre-boarding
Employer right-to-work and I-9 verification
Background-check and AML screening pipelines
Border and customs intake at private events
MRZ parsing for ICAO-compliant document validation

Sample output

Example output from a passport photo page

country_codeGBR
surnameDOE
given_namesJANE ELIZABETH
passport_number123456789
nationalityBRITISH CITIZEN
date_of_birth1990-04-12
sexF
place_of_birthLONDON
date_of_issue2022-03-01
date_of_expiry2032-03-01
issuing_authorityHMPO
mrz_line_1P<GBRDOE<<JANE<ELIZABETH<<<<<<<<<<<<<<<<<<<
mrz_line_21234567894GBR9004129F3203018<<<<<<<<<<<<<<06

Frequently asked questions

How do I extract data from a passport scan or photo?+

Drop the passport image (PDF, JPG, PNG, or HEIC) onto this page. ExtractFox reads every printed field — surname, given names, passport number, nationality, date of birth, expiry date, issuing authority, and both MRZ lines — and returns them as JSON, CSV, or Excel. No template setup is required.

Can I extract MRZ data from a passport photo?+

Yes. Use MRZ only for the raw two-line machine-readable zone, or Parsed MRZ fields when you want document type, issuing country, passport number, nationality, birth date, sex, expiry date, and optional data split into separate fields.

Does ExtractFox parse the MRZ on a passport?+

Yes — both MRZ lines are returned as separate fields (mrz_line_1 and mrz_line_2), and the Parsed MRZ fields option splits them into document_number, nationality, date_of_birth, sex, date_of_expiry, and optional_data. Keep the raw MRZ lines so you can run ICAO 9303 check-digit validation in your own pipeline.

Is this a passport OCR tool, or something different?+

It's better than classic passport OCR. Traditional OCR returns a flat string of text and you write rules to find each field. ExtractFox returns a typed schema — surname, given_names, passport_number, dates as ISO 8601 — directly, so there's no parsing layer to maintain.

Which countries' passports are supported?+

Any ICAO-compliant passport. The model has been tested on common formats from the EU, US, UK, India, Brazil, Japan, and most APAC and LATAM countries. National ID cards aren't supported on this page — use the ID document extractor for those.

Is it safe to upload passport scans here?+

Files are sent to Google's Gemini for processing and are not stored by ExtractFox. For regulated KYC workloads, contact us for a self-hosted or VPC deployment.

Can I extract passport data from a photo on my phone?+

Yes. Drop a HEIC or JPG photo of the passport's main page. Glare and angle affect accuracy — a flat, well-lit photo works best.

Can I bulk-process passports for KYC onboarding?+

On the paid plan you can hit the REST API directly — useful for KYC pipelines, hospitality check-in, or visa application processing. Each call returns the same stable schema.

What if the passport text is in a non-Latin script?+

ExtractFox extracts text in the script printed on the document. The MRZ is always Latin-transliterated by ICAO standard, so cross-checking against the visual fields works even for Cyrillic, Arabic, or CJK passports.

What about driver's licenses, national IDs, or residence permits?+

Use the ID document extractor for non-passport IDs — it returns the same kind of structured fields (names, document number, dates) without expecting an ICAO-format MRZ.

Related extractors

Used by

Compared to alternatives

Key terms

From the blog