Generador de MRZ

Crea una zona de lectura mecánica (MRZ) de pasaporte válida (ICAO 9303 TD3) con los dígitos de control correctos. Úsala para crear datos de prueba: el resultado es sintético y nunca debe contener datos personales reales.

MRZ generada

P<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<<<<<<<<<<
AM73045184GRC9403084F3203101PN48291630<<<<72

Qué es una zona de lectura mecánica

Una zona de lectura mecánica (MRZ) es el bloque de líneas de ancho fijo al pie de un pasaporte o documento de identidad, normalizado por el Doc 9303 de ICAO. Codifica en posiciones fijas número de documento, Estado emisor, nombre, nacionalidad, fecha de nacimiento, sexo y caducidad, con dígitos de control que verifican la lectura.

Cómo se calculan los dígitos de control de arriba

  1. Toma el campo que protege el dígito: el número de documento, la fecha de nacimiento, la fecha de caducidad, el número personal o todo el rango del dígito compuesto.
  2. Da a cada carácter su valor: un dígito vale lo que indica, una letra vale su posición en el alfabeto más nueve (A = 10, Z = 35) y el relleno < vale cero.
  3. Multiplica cada valor por el peso de su posición. Los pesos se repiten 7, 3, 1 a lo largo del campo, empezando por 7 en el primer carácter.
  4. Suma todos los productos.
  5. El dígito de control es esa suma módulo 10: la última cifra del total.

Así queda el cálculo con el número de pasaporte del espécimen, AM7304518, un documento inventado que no pertenece a nadie:

La ponderación 7-3-1 aplicada carácter a carácter sobre el número de documento de un espécimen
CarácterValorPesoProducto
A10770
M22366
7717
33721
0030
4414
55735
1133
8818
Suma y después módulo 10214 → 4

Introduce AM7304518 como número de documento arriba y el dígito que le sigue en la zona generada es 4: la misma aritmética, ejecutada por el mismo código.

El dígito compuesto

Un dígito más cubre casi toda la zona a la vez: el compuesto. Se calcula de la misma manera, sobre un rango que omite los campos que ningún dígito protege, y en TD1 ese rango abarca dos líneas, que es donde suele fallar un analizador escrito a mano. Una zona cuyos dígitos de campo pasan todos pero cuyo compuesto falla se ha transcrito bien por partes y se ha ensamblado mal.

Lo que los dígitos no cubren

Ningún dígito de control cubre el nombre, y ninguno cubre el Estado emisor. Un error de lectura en cualquiera de los dos pasa desapercibido: la aritmética sigue cuadrando. Por eso leer también la cara impresa del documento y comparar las dos lecturas detecta lo que los dígitos no pueden.

Preguntas frecuentes

¿Qué es una MRZ?

Una zona de lectura mecánica (MRZ) es el bloque de líneas de ancho fijo al pie de un pasaporte o documento de identidad, normalizado por el Doc 9303 de ICAO. Codifica en posiciones fijas número de documento, Estado emisor, nombre, nacionalidad, fecha de nacimiento, sexo y caducidad, con dígitos de control que verifican la lectura.

¿Qué formatos admite esta herramienta?

Este generador crea TD3, las dos líneas de 44 caracteres de un pasaporte, con cada dígito de control calculado a partir de los valores que introduces, incluido el compuesto. La explicación de los formatos detalla también TD1 y TD2, con un ejemplo resuelto de cada uno.

¿Guardan alguno de mis datos?

No. La zona la crea código que se ejecuta en tu propio navegador y nunca sale de la página: no se sube nada y no se hace ninguna solicitud con tus valores. Esta página es un archivo estático, y la única solicitud que hace después de cargarse es para preguntar si hay un aviso del servicio que mostrar arriba. Aun así, usa valores inventados: una zona generada sirve para datos de prueba, y los datos personales reales no deben ir en ella.

Adónde ir después

  • Analizador de MRZ – pega una zona y observa cómo se recalcula cada dígito de control.
  • TD1, TD2 y TD3 – los tres formatos, cuántas líneas y caracteres tiene cada uno y dónde los define el estándar.
  • Leer un documento completo – la cara impresa además de la codificada, en una sola solicitud y sin cuenta.
  • OCR de pasaportes por país – los Estados emisores que lee esta API, cada uno con su propia zona de espécimen.