Cómo comprobar la MRZ de un pasaporte

  1. Localiza la MRZ. Es el bloque de mayúsculas de ancho fijo al pie de la página de datos del pasaporte (dos líneas de 44) o en el reverso de un documento de identidad (tres líneas de 30). Cada < es un relleno, no una errata.
  2. Escribe o pega las líneas. Una línea por fila, exactamente como está impresa. Si copias de un resultado de OCR, conserva los caracteres <; la herramienta corrige por ti las minúsculas y los espacios sueltos.
  3. Lee el veredicto. Un veredicto verde significa que todos los dígitos de control cuadran. Uno rojo enumera qué dígito falla y cuál se esperaba, para que encuentres el carácter mal leído.
  4. Revisa los campos descodificados. Compara el nombre, el número y las fechas descodificados con la página de datos impresa. Una discrepancia entre las dos zonas es motivo para mirar más de cerca.

Qué hace

  • Verifica cada dígito de control del Doc 9303 de la OACI: número de documento, fecha de nacimiento, fecha de caducidad, datos opcionales y el dígito compuesto
  • Admite los tres formatos de documento de viaje (pasaportes TD3 de 2 × 44, documentos de identidad TD1 de 3 × 30, documentos TD2 de 2 × 36) además de los visados MRV-A y MRV-B
  • Descodifica el código de documento, el Estado emisor, apellidos y nombres, número, nacionalidad, sexo, fechas y datos opcionales
  • Señala las confusiones de OCR (0/O, 1/I, 8/B, 5/S) y, cuando un cambio hace que el dígito de control cuadre, propone el valor corregido
  • Muestra la tabla completa de posiciones de campo de cada formato, con enlace a la parte de la OACI que la define
  • Funciona por completo en tu navegador: sin subida, sin almacenamiento, sin petición de red; las líneas desaparecen al recargar

¿Qué verifica realmente un comprobador de MRZ?

Corta cada línea en los campos que el Doc 9303 de la OACI define para ese formato, recalcula cada dígito de control a partir de los caracteres que cubre y compara el resultado con el dígito impreso. Un pasaporte (formato TD3) tiene cinco dígitos de control: número de documento, fecha de nacimiento, fecha de caducidad, datos opcionales y un dígito compuesto sobre la mayor parte de la segunda línea. Un documento de identidad (TD1) tiene cuatro, un documento TD2 cuatro, y un visado (MRV) tres: los visados no llevan dígito compuesto. Después la herramienta descodifica lo que dicen los campos: código de documento, Estado emisor, apellidos y nombres, nacionalidad, sexo y ambas fechas.

¿Por qué tienen los pasaportes dígitos de control?

Porque la zona está pensada para que la lea un escáner, y los escáneres cometen errores. Un dígito de control permite al software de lectura darse cuenta de que un 0 ha llegado como una O, o de que una línea se ha cortado un carácter antes, antes de que los datos vayan a ninguna parte. Es una comprobación de integridad del texto, no un elemento de seguridad: cualquiera puede calcular los dígitos, y el estándar publica el algoritmo. Por eso mismo un resultado correcto no dice nada sobre si un documento es auténtico.

¿Qué caracteres confunde el OCR?

La fuente OCR-B usada en la MRZ se diseñó para distinguir bien los caracteres, pero las cámaras de los móviles, los reflejos y el laminado siguen produciendo una lista corta de confusiones habituales. La herramienta las comprueba en ambas direcciones.

ImpresoSe suele leer comoDónde aparece
0 (cero)OFechas, dígitos de control, números de documento
1I o LFechas, dígitos de control
8BFechas, números
5SFechas, números
2ZFechas, números
< (relleno)Omitido, o leído como « o KNombres y el relleno tras cada campo: un relleno que falta desplaza todos los campos posteriores

Una letra dentro de un campo numérico siempre es un error, así que la herramienta lo notifica y prueba la cifra parecida; si con eso el dígito de control cuadra, lo dice. Una cifra dentro del campo de nombre se señala igualmente con la letra que probablemente era.

¿Cómo se convierten los años de dos cifras en fechas?

La MRZ guarda las fechas como AAMMDD sin siglo. El comprobador supone que un año de nacimiento está en el pasado (un año hasta el actual se lee como 20AA; si no, como 19AA) y que un año de caducidad es 20AA salvo que quede a más de veinte años vista, en cuyo caso es 19AA. Las fechas descodificadas llevan una nota que lo indica. Para una persona nacida en 1926 o un documento caducado hace décadas la suposición puede fallar; los seis caracteres originales se muestran junto a cada fecha para que juzgues tú.

¿Qué no puede decirte?

No ve la foto, el chip, el laminado ni la marca de agua, así que no puede afirmar que un documento sea real. No conoce todos los códigos de tres letras: la lista cubre los países de ISO 3166 y los códigos que la OACI reserva (D para Alemania, GBR y los demás códigos británicos, XXA a XXC para apátridas y refugiados, UNO), y un código desconocido se muestra tal cual con una nota. Lee texto, no imágenes, así que la foto de un pasaporte tiene que pasar antes por OCR. Y no conserva nada: las líneas viven en la memoria de tu navegador mientras la página está abierta.