TD1, TD2 e TD3: os três formatos de MRZ
TD1, TD2 e TD3 são os três formatos de zona de leitura mecânica (MRZ) definidos pelo Doc 9303 da ICAO. O TD3, dos passaportes, tem duas linhas de 44 caracteres; o TD2, duas linhas de 36, em carteiras de identidade e de viagem mais antigas; o TD1, três linhas de 30, em documentos tamanho cartão.
Os três formatos em resumo
| Formato | Linhas × caracteres | Tipo de documento | Exemplo (primeira linha) |
|---|---|---|---|
| TD3 | 2 × 44 | Passaportes e outros documentos de viagem de tamanho TD3 | P<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<<<<<<<<<< |
| TD2 | 2 × 36 | Documentos oficiais de viagem de tamanho TD2; carteiras de identidade mais antigas | I<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<< |
| TD1 | 3 × 30 | Documentos oficiais de viagem e carteiras de identidade do tamanho de um cartão | IDGRCAK472913<4PN48291630<<<<< |
Cada linha é completada até o seu comprimento total com o caractere de preenchimento <. Uma zona que não tem exatamente 44, 36 ou 30 caracteres por linha não é uma zona válida desse formato – e essa é a primeira coisa a conferir quando um leitor a recusa.
TD3 – duas linhas de 44
O formato dos passaportes. A primeira linha traz o código do documento, o Estado emissor e o nome; a segunda traz o número do documento, a nacionalidade, a data de nascimento, o sexo, a data de validade, o número pessoal e os dígitos verificadores. Aqui a zona do nome tem 39 caracteres, a mais larga dos três formatos. O sobrenome e os prenomes são separados por dois preenchimentos; um único preenchimento separa os prenomes entre si.
P<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<<<<<<<<<<
AM73045184GRC9403084F3203101PN48291630<<<<72 O dígito verificador composto fica na posição 44 da linha de baixo e cobre as posições 1–10, 14–20 e 22–43 dessa linha. As posições 11–13 (nacionalidade) e 21 (sexo) são excluídas do composto pelo padrão.
TD2 – duas linhas de 36
A mesma disposição em duas linhas, oito caracteres mais estreita em cada linha. O campo do nome tem 31 caracteres.
I<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<<
TR61850420GRC9403084F2911043<<<<<<<2 O seu dígito composto fica na posição 36 da linha de baixo e cobre as posições 1–10, 14–20 e 22–35.
TD1 – três linhas de 30
O formato de cartão, e o que os leitores mais interpretam errado, porque os campos são distribuídos de outro jeito: a linha de cima traz o código do documento, o Estado emissor, o número do documento e o primeiro bloco de dados opcionais; a linha do meio traz as datas, o sexo e a nacionalidade; e o nome ocupa sozinho toda a linha de baixo, 30 caracteres. É o campo de nome mais estreito dos três, então o TD1 é o formato em que um nome longo corre mais risco de ser truncado.
IDGRCAK472913<4PN48291630<<<<<
9403084F3405204GRC<<<<<<<<<<<9
PARADEIGMA<<ELENI<SOFIA<<<<<<< O seu dígito composto é o último caractere da linha do meio, a posição 30, e cobre as posições 6–30 da linha de cima mais as 1–7, 9–15 e 19–29 da linha do meio – um intervalo que abrange duas linhas, que é exatamente a parte que uma implementação erra.
Os outros formatos que você vai encontrar
Além dos três formatos de documentos de viagem:
- MRV-A – o visto de leitura mecânica de formato A: duas linhas de 44.
- MRV-B – o visto de leitura mecânica de formato B: duas linhas de 36.
- Um formato de uma única linha de 30 caracteres, usado nas zonas de carteiras de motorista.
- Uma linha de seis caracteres que traz um número de acesso ao cartão.
- Uma variante de duas linhas de 30 caracteres.
A nossa API informa o formato que detectou, então você não precisa deduzi-lo pelo comprimento das linhas.
Os dígitos verificadores, e o que eles não cobrem
Cada dígito verificador é calculado sobre o seu campo com os pesos repetidos 7, 3, 1: os algarismos valem eles mesmos, as letras valem a sua posição no alfabeto mais 9 (A = 10) e o preenchimento < vale 0. A soma módulo 10 é o dígito.
Um dígito protege o número do documento, a data de nascimento, a data de validade e, no TD3, o número pessoal – além do composto sobre quase toda a zona.
Nenhum dígito verificador cobre o nome, e nenhum cobre o Estado emissor. Um erro de leitura em qualquer um dos dois passa em silêncio: a conta continua fechando. Esse é o argumento mais forte para ler também a face impressa do documento e comparar as duas leituras, que é o que a nossa API faz por padrão.
A conta é feita caractere por caractere no leitor de MRZ, que depois a recalcula sobre uma zona sua.
Onde o padrão diz tudo isso
ICAO Doc 9303, Machine Readable Travel Documents, oitava edição, 2021. A página de entrada da série de documentos não abre mais, então as partes são citadas pelo número e pelo título original em inglês, sem link:
| Parte | Título |
|---|---|
| Parte 3 | Specifications Common to all MRTDs |
| Parte 4 | Specifications for Machine Readable Passports (MRPs) and other TD3 Size MRTDs |
| Parte 5 | Specifications for TD1 Size Machine Readable Official Travel Documents (MROTDs) |
| Parte 6 | Specifications for TD2 Size Machine Readable Official Travel Documents (MROTDs) |
| Parte 7 | Machine Readable Visas |
A parte 3 reúne o que é comum a todos os formatos – o conjunto de caracteres, o preenchimento e a conta dos dígitos verificadores. A parte 4 define o TD3, a parte 5 define o TD1, a parte 6 define o TD2 e a parte 7 define os dois formatos de visto. A seção 4.2.4 das partes 4, 5 e 6 é onde fica a tabela de dígitos verificadores de cada formato.
Confira uma zona sua
Cole uma zona no leitor de MRZ gratuito e cada dígito verificador é recalculado na sua frente, no seu navegador – nada é enviado. Para montar uma zona válida para dados de teste, use o gerador de MRZ; para ver o vocabulário completo de campos com que um reconhecimento responde, abra o explorador de campos de documentos. Nenhuma das três ferramentas exige conta.
Para ler um documento inteiro em vez de só a zona – a face impressa além da codificada –, basta uma requisição, e as primeiras chamadas não exigem conta. A página MRZ and the visual zone da documentação (em inglês) explica em qual leitura confiar quando as duas não batem.
Todas as zonas desta página pertencem a um único titular inventado – números inventados, datas inventadas e dígitos verificadores calculados a partir deles em vez de digitados. Nada aqui pertence a ninguém.