Comment vérifier la MRZ d'un passeport
- Repérez la MRZ. C'est le bloc de majuscules à chasse fixe au bas de la page de données du passeport (deux lignes de 44) ou au dos d'une carte d'identité (trois lignes de 30). Chaque < est un caractère de remplissage, pas une faute.
- Saisissez ou collez les lignes. Une ligne par rangée, exactement comme imprimée. Si vous copiez depuis un résultat d'OCR, gardez les caractères < ; l'outil corrige pour vous les minuscules et les espaces parasites.
- Lisez le verdict. Un verdict vert signifie que chaque chiffre de contrôle correspond. Un verdict rouge liste le chiffre qui échoue et la valeur attendue, pour retrouver le caractère mal lu.
- Vérifiez les champs décodés. Comparez le nom, le numéro et les dates décodés avec la page de données imprimée. Un écart entre les deux zones est une raison de regarder de plus près.
Ce qu'il fait
- Vérifie chaque chiffre de contrôle du Doc 9303 de l'OACI : numéro de document, date de naissance, date d'expiration, données facultatives et chiffre composite
- Gère les trois formats de documents de voyage (passeports TD3 de 2 × 44, cartes d'identité TD1 de 3 × 30, documents TD2 de 2 × 36) ainsi que les visas MRV-A et MRV-B
- Décode le code du document, l'État émetteur, le nom et les prénoms, le numéro, la nationalité, le sexe, les dates et les données facultatives
- Signale les confusions d'OCR (0/O, 1/I, 8/B, 5/S) et, quand une permutation fait passer le chiffre de contrôle, propose la valeur corrigée
- Affiche le tableau complet des positions de champ pour chaque format, avec un lien vers la partie de l'OACI qui le définit
- Fonctionne entièrement dans votre navigateur : aucun envoi, aucun stockage, aucune requête réseau ; les lignes disparaissent au rechargement
Que vérifie réellement un vérificateur de MRZ ?
Il découpe chaque ligne selon les champs que le Doc 9303 de l'OACI définit pour ce format, recalcule chaque chiffre de contrôle à partir des caractères qu'il couvre et compare le résultat au chiffre imprimé. Un passeport (format TD3) a cinq chiffres de contrôle : numéro de document, date de naissance, date d'expiration, données facultatives et un chiffre composite sur la majeure partie de la seconde ligne. Une carte d'identité (TD1) en a quatre, un document TD2 quatre, et un visa (MRV) trois : les visas ne portent pas de chiffre composite. L'outil décode ensuite ce que disent les champs : code du document, État émetteur, nom et prénoms, nationalité, sexe et les deux dates.
Pourquoi les passeports ont-ils des chiffres de contrôle ?
Parce que la zone est faite pour être lue par un scanner, et que les scanners se trompent. Un chiffre de contrôle permet au logiciel de lecture de remarquer qu'un 0 est passé pour un O, ou qu'une ligne a été coupée d'un caractère, avant que les données n'aillent quelque part. C'est un contrôle d'intégrité du texte, pas un élément de sécurité : n'importe qui peut calculer les chiffres, et la norme publie l'algorithme. C'est aussi pourquoi un résultat réussi ne dit rien sur l'authenticité d'un document.
Quels caractères l'OCR confond-il ?
La police OCR-B utilisée dans la MRZ a été conçue pour bien distinguer les caractères, mais les appareils photo des téléphones, les reflets et le laminage produisent encore une courte liste de confusions régulières. L'outil les vérifie dans les deux sens.
| Imprimé | Souvent lu comme | Où cela apparaît |
|---|---|---|
| 0 (zéro) | O | Dates, chiffres de contrôle, numéros de document |
| 1 | I ou L | Dates, chiffres de contrôle |
| 8 | B | Dates, numéros |
| 5 | S | Dates, numéros |
| 2 | Z | Dates, numéros |
| < (remplissage) | Omis, ou lu comme « ou K | Les noms et le remplissage après chaque champ : un remplissage manquant décale tous les champs suivants |
Une lettre dans un champ numérique est toujours fausse, l'outil la signale donc et essaie le chiffre ressemblant ; si cela fait passer le chiffre de contrôle, il le dit. Un chiffre dans le champ du nom est de même signalé avec la lettre qu'il était probablement.
Comment les années à deux chiffres deviennent-elles des dates ?
La MRZ stocke les dates au format AAMMJJ sans siècle. Le vérificateur suppose qu'une année de naissance est dans le passé (une année jusqu'à l'année courante est lue 20AA, sinon 19AA) et qu'une année d'expiration est 20AA, sauf si cela la placerait à plus de vingt ans, auquel cas c'est 19AA. Les dates décodées portent une note le précisant. Pour une personne née en 1926 ou un document expiré depuis des décennies, l'hypothèse peut être fausse ; les six caractères bruts sont affichés à côté de chaque date pour que vous puissiez juger.
Que ne peut-il pas vous dire ?
Il ne voit ni la photo, ni la puce, ni le laminage, ni le filigrane, et ne peut donc pas affirmer qu'un document est vrai. Il ne connaît pas tous les codes à trois lettres : la liste couvre les pays ISO 3166 et les codes réservés par l'OACI (D pour l'Allemagne, GBR et les autres codes britanniques, XXA à XXC pour les apatrides et les réfugiés, UNO), et un code inconnu est affiché tel quel avec une note. Il lit du texte, pas des images : la photo d'un passeport doit d'abord passer par l'OCR. Et il ne conserve rien : les lignes vivent dans la mémoire de votre navigateur tant que la page est ouverte.