-
Notifications
You must be signed in to change notification settings - Fork 209
Open
Description
Belgian ID cards use a non-standard TD1 MRZ format that deviates from the ICAO 9303 specification when the document number exceeds 9 digits. This causes the QKMRZParser library, which Self uses, to incorrectly parse (and incorrectly validate) Belgian ID documents.
According to ICAO 9303, TD1 documents should have:
- Positions 6-14: Document number (9 characters max)
- Position 15: Check digit for document number
Belgian ID cards use an overflow mechanism when document numbers exceed 9 digits:
- Positions 6-14: Principal part (9 characters)
- Position 15:
<(overflow indicator instead of check digit) - Positions 16+: Overflow digits followed by check digit
QKMRZParser expects the check digit at position 15 per the TD1 standard. When it encounters < at position 15, it fails validation. The library also doesn't extract overflow digits from positions 16+, resulting in an incomplete document number.
Metadata
Metadata
Assignees
Labels
No labels