Analyseur MRZ et calculateur de chiffres de contrôle
Collez la zone de lecture automatique (MRZ) d’un passeport, d’une carte d’identité ou d’un visa : TD3, TD2 ou TD1. Le format est détecté, chaque champ est lu, et chaque chiffre de contrôle ICAO 9303 est recalculé puis comparé à celui qui est imprimé. Tout s’exécute dans votre navigateur ; rien ne quitte la page.
Qu’est-ce qu’une zone de lecture automatique ?
La zone de lecture automatique (MRZ) est le bloc de lignes de largeur fixe au bas d’un passeport ou d’une carte d’identité, normalisé par l’ICAO Doc 9303. Elle encode à positions fixes numéro de document, État émetteur, nom, nationalité, date de naissance, sexe et date d’expiration, avec des chiffres de contrôle qui vérifient la lecture.
Où se trouve chaque champ en TD1, TD2 et TD3
Les positions se comptent à partir de 1 sur chaque ligne, comme l’ICAO 9303 les numérote. Chaque chiffre de contrôle suit immédiatement le champ qu’il protège ; le chiffre composite est le dernier caractère de sa ligne.
| Champ | TD3 (passeport) | TD2 | TD1 (carte d’identité) |
|---|---|---|---|
| Code du document | ligne 1, 1–2 | ligne 1, 1–2 | ligne 1, 1–2 |
| État émetteur | ligne 1, 3–5 | ligne 1, 3–5 | ligne 1, 3–5 |
| Nom | ligne 1, 6–44 | ligne 1, 6–36 | ligne 3, 1–30 |
| Numéro du document | ligne 2, 1–9 | ligne 2, 1–9 | ligne 1, 6–14 |
| son chiffre de contrôle | ligne 2, 10 | ligne 2, 10 | ligne 1, 15 |
| Nationalité | ligne 2, 11–13 | ligne 2, 11–13 | ligne 2, 16–18 |
| Date de naissance | ligne 2, 14–19 | ligne 2, 14–19 | ligne 2, 1–6 |
| son chiffre de contrôle | ligne 2, 20 | ligne 2, 20 | ligne 2, 7 |
| Sexe | ligne 2, 21 | ligne 2, 21 | ligne 2, 8 |
| Date d’expiration | ligne 2, 22–27 | ligne 2, 22–27 | ligne 2, 9–14 |
| son chiffre de contrôle | ligne 2, 28 | ligne 2, 28 | ligne 2, 15 |
| Numéro personnel | ligne 2, 29–42 | – | – |
| son chiffre de contrôle | ligne 2, 43 | – | – |
| Chiffre de contrôle composite | ligne 2, 44 | ligne 2, 36 | ligne 2, 30 |
Comment se calcule un chiffre de contrôle
- Prenez le champ que le chiffre protège : le numéro du document, la date de naissance, la date d’expiration, le numéro personnel ou toute la plage du chiffre composite.
- Attribuez une valeur à chaque caractère : un chiffre vaut lui-même, une lettre vaut son rang dans l’alphabet plus neuf (A = 10, Z = 35) et le caractère de remplissage < vaut zéro.
- Multipliez chaque valeur par le poids de sa position. Les poids se répètent 7, 3, 1 sur toute la longueur du champ, en commençant par 7 sur le premier caractère.
- Additionnez tous les produits.
- Le chiffre de contrôle est cette somme modulo 10, c’est-à-dire le dernier chiffre du total.
Voici le calcul détaillé sur le numéro de passeport du spécimen, AM7304518, un document inventé qui n’appartient à personne :
| Caractère | Valeur | Poids | Produit |
|---|---|---|---|
| A | 10 | 7 | 70 |
| M | 22 | 3 | 66 |
| 7 | 7 | 1 | 7 |
| 3 | 3 | 7 | 21 |
| 0 | 0 | 3 | 0 |
| 4 | 4 | 1 | 4 |
| 5 | 5 | 7 | 35 |
| 1 | 1 | 3 | 3 |
| 8 | 8 | 1 | 8 |
| Somme, puis modulo 10 | 214 → 4 | ||
Le chiffre imprimé après AM7304518 dans cette zone est donc 4. Chargez l’exemple TD3 ci-dessus et l’analyseur recalcule le même chiffre sous vos yeux.
Le chiffre composite
Un chiffre de plus couvre d’un coup presque toute la zone : le composite. Il se calcule de la même manière, sur une plage qui saute les champs qu’aucun chiffre ne protège, et en TD1 cette plage s’étend sur deux lignes, là où un analyseur écrit à la main se trompe le plus souvent. Une zone dont tous les chiffres de champ sont justes mais dont le composite échoue a été bien transcrite morceau par morceau, puis mal assemblée.
Ce que les chiffres ne couvrent pas
Aucun chiffre de contrôle ne couvre le nom, et aucun ne couvre l’État émetteur. Une erreur de lecture sur l’un ou l’autre passe inaperçue : le calcul tombe toujours juste. C’est pourquoi lire aussi la face imprimée du document et comparer les deux lectures permet de repérer ce que les chiffres ne voient pas.
Questions fréquentes
Qu’est-ce qu’une MRZ ?
La zone de lecture automatique (MRZ) est le bloc de lignes de largeur fixe au bas d’un passeport ou d’une carte d’identité, normalisé par l’ICAO Doc 9303. Elle encode à positions fixes numéro de document, État émetteur, nom, nationalité, date de naissance, sexe et date d’expiration, avec des chiffres de contrôle qui vérifient la lecture.
Quels formats cet outil prend-il en charge ?
Les trois formats de l’ICAO 9303 : TD3, les deux lignes de 44 d’un passeport ; TD2, deux lignes de 36 ; et TD1, les trois lignes de 30 d’une carte d’identité ou d’un titre de séjour. Il lit aussi les deux formats de visa, MRV-A et MRV-B, qui n’ont pas de chiffre composite. Le format est détecté d’après le nombre de lignes et leur longueur, et chaque chiffre de contrôle que comporte le format est recalculé.
Pourquoi un chiffre de contrôle échoue-t-il ?
Presque toujours parce qu’un caractère du champ qu’il protège a été mal lu ou mal saisi : un O à la place d’un 0, un B à la place d’un 8, un caractère de remplissage perdu en fin de ligne. Le tableau affiche le chiffre imprimé dans la zone à côté de celui que donnent les données, ainsi que le champ couvert par le chiffre. Quand un chiffre de champ est juste et que le composite échoue, examinez les caractères situés entre les champs : le composite couvre aussi les chiffres de champ eux-mêmes.
Peut-il lire la zone à partir d’une photo ?
Non. Cette page lit le texte que vous collez, et rien ne quitte votre navigateur. Lire la zone et la page imprimée à partir d’une photo, c’est le travail de l’API de reconnaissance : un appel HTTP avec l’image, et les champs reviennent en JSON avec les mêmes chiffres de contrôle déjà vérifiés.
Conservez-vous mes données ?
Non. La zone que vous collez est analysée par du code qui s’exécute dans votre propre navigateur : rien n’est envoyé, et aucune requête ne la transporte. Cette page est un fichier statique, et la seule requête qu’elle fait après son chargement sert à demander s’il y a un avis de service à afficher en haut, un appel qui ne transporte rien de ce que vous avez saisi. L’API de reconnaissance est un service distinct, qu’il faut appeler délibérément.
Pour aller plus loin
- Générateur MRZ – créez une zone valide, aux chiffres de contrôle corrects, pour vos données de test.
- TD1, TD2 et TD3 – les trois formats, leur nombre de lignes et de caractères, et où la norme définit chacun.
- Lire un document entier – la face imprimée en plus de la zone encodée, en une seule requête et sans compte.
- OCR de passeports par pays – les États émetteurs que cette API lit, chacun avec sa propre zone de spécimen.