Master index, question map (Q1-Q12), and Part-to-file sources table.
MRZ Reference - Per-Category Question and Answer Cards
Master index and question framework for the MRZ feature catalogue.
Purpose
Each MRZ category (5 formats + passport categories) has a file of its own that answers the questions needed to build it correctly for:
- perfect encoding (strict-form builder)
- decoding (parse)
- generation (strict-form builder, auto check digits)
- parsing (structural + validation)
- testing (golden vectors, negative fixtures)
- scanning (detection, OCR tolerance)
Sources of truth:
- S1 = ICAO Doc 9303, 8th edition (2021), Parts 1-13 (supreme authority)
- S3 = icao-9303-compliance-reference.md (normative acceptance criteria)
- Conflict rule: S1 > S3 > S2.
Master question map
The numbered questions below are reused in every category file. Read by category: each file answers the questions that apply to it.
| # | Question | Applied to | | Q1 | Geometry / layout (lines, chars per line, size) | formats + TD passports | | Q2 | Charset, OCR-B font, transliteration | all | | Q3 | Name handling (transliteration, truncation, << separator) | all | | Q4 | Field positions and check digits (per field) | all | | Q5 | Check digits incl. composite | formats + TD passports | | Q6 | Validation (rules 1-9, 12-item checklist) | formats + TD passports | | Q7 | Detection and format routing | all | | Q8 | Generation / builder (strict form, auto-CDs, presets) | all | | Q9 | Parsing / decode (structural + validation) | all | | Q10 | Testing (golden vectors, negative fixtures) | all | | Q11 | Scanning (OCR tolerance, detection at scan time) | all | | Q12 | Edge cases (overflow, < sex, expired, pivot, dual-layout PE) | format-specific |
See each category file for the full answer set for that category.
Source files (HTML)
The normative source set is the ICAO Doc 9303 HTML files in reference/9303-standands/ (Parts 1-13). These are pdf2htmlEX renders: every page is an embedded base64 PNG, so the files carry no extractable text layer. The example MRZs cited in the per-format and per-category files were recovered by OCR (Tesseract, MRZ charset whitelist) of those page images and then validated against the 7-3-1 mod-10 check-digit algorithm, so every cited specimen is internally consistent. OCR occasionally misreads OCR-B (O->0, <->X); those artefacts were corrected via the check digits.
| Doc 9303 Part | HTML file | Covers / consumed by |
|---|---|---|
| Part 3 | Doc 9303 - Part 3 - Machine Readable Travel Documents (1).html | Common to all MRTDs: charset, OCR-B, transliteration, check-digit algorithm -> shared-rules.md + every file |
| Part 4 | Doc 9303 - Part 4- Machine Readable Travel Documents.html | MRPs & TD3-size: 2 x 44 MRZ -> per-format/td3.md + passport categories (pd, po, pr, pt, ps, pl, pm) |
| Part 5 | Doc 9303 - Part 5 - Machine Readable Travel Documents .html | TD1-size: 3 x 30 MRZ -> per-format/td1.md |
| Part 6 | Doc 9303 - Part 6 - Machine Readable Travel Documents.html | TD2-size: 2 x 36 MRZ -> per-format/td2.md (+ PE dual layout) |
| Part 7 | Doc 9303 - Part 7 - Machine Readable Travel Documents.html | Machine Readable Visas: MRV-A / MRV-B -> per-format/mrv-a.md, per-format/mrv-b.md |
| Part 8 | Doc 9303 - Part 8 - Machine Readable Travel Documents.html | Emergency Travel Documents -> per-category/pe.md |
| Part 10 | Doc 9303 - Part 10 - Machine Readable Travel Documents.html | Logical Data Structure (LDS) for the contactless IC |
| Part 11 | Doc 9303 - Part 11 - Machine Readable Travel Documents.html | Security Mechanisms for MRTDs |
OCR-extracted specimen page references: TD3 = Part 4 p36; TD1 = Part 5 p29; TD2 = Part 6 p27; MRV-A = Part 7 p45; MRV-B = Part 7 p55. Part titles follow the official ICAO Doc 9303 list: Part 3 "Specifications Common to all MRTDs", Part 4 "Specifications for Machine Readable Passports (MRPs) and other TD3 Size MRTDs", Part 5/6 "Specifications for TD1/TD2 Size Machine Readable Official Travel Documents (MROTDs)", Part 7 "Machine Readable Visas", Part 8 "Emergency Travel Documents".