Como conferir a MRZ de um passaporte
- Encontre a MRZ. É o bloco de letras maiúsculas em fonte monoespaçada no rodapé da página de dados do passaporte (duas linhas de 44) ou no verso de uma carteira de identidade (três linhas de 30). Cada < é um preenchimento, não um erro de digitação.
- Digite ou cole as linhas. Uma linha por fileira, exatamente como impresso. Se estiver copiando de um resultado de OCR, mantenha os caracteres <; a ferramenta corrige minúsculas e espaços soltos para você.
- Leia o veredito. Um veredito verde significa que todos os dígitos de controle batem. Um vermelho lista qual dígito falha e qual era o esperado, para você achar o caractere lido errado.
- Confira os campos decodificados. Compare nome, número e datas decodificados com a página de dados impressa. Uma divergência entre as duas zonas é motivo para olhar mais de perto.
O que faz
- Confere cada dígito de controle do ICAO Doc 9303: número do documento, data de nascimento, data de validade, dados opcionais e o dígito composto
- Aceita os três formatos de documento de viagem — passaportes TD3 (2 × 44), carteiras de identidade TD1 (3 × 30), documentos TD2 (2 × 36) — além dos vistos MRV-A e MRV-B
- Decodifica código do documento, Estado emissor, sobrenome e nomes, número, nacionalidade, sexo, datas e dados opcionais
- Sinaliza confusões de OCR (0/O, 1/I, 8/B, 5/S) e, quando a troca faz o dígito de controle bater, sugere o valor corrigido
- Mostra a tabela completa de posições dos campos de cada formato, com link para a parte da ICAO que a define
- Roda inteiramente no seu navegador: sem upload, sem armazenamento, sem requisição de rede — as linhas somem quando você recarrega a página
O que um verificador de MRZ realmente confere?
Ele divide cada linha nos campos que o ICAO Doc 9303 define para aquele formato, recalcula cada dígito de controle a partir dos caracteres que ele cobre e compara o resultado com o dígito impresso. Um passaporte (formato TD3) tem cinco dígitos de controle: número do documento, data de nascimento, data de validade, dados opcionais e um dígito composto sobre a maior parte da segunda linha. Uma carteira de identidade (TD1) tem quatro, um documento TD2 quatro e um visto (MRV) três — vistos não têm dígito composto. A ferramenta então decodifica o que os campos dizem: código do documento, Estado emissor, sobrenome e nomes, nacionalidade, sexo e as duas datas.
Por que os passaportes têm dígitos de controle, afinal?
Porque a zona foi feita para ser lida por um scanner, e scanners erram. Um dígito de controle permite que o software de leitura perceba que um 0 passou como O, ou que uma linha foi cortada um caractere mais curta, antes de os dados irem para qualquer lugar. É uma verificação de integridade do texto, não um elemento de segurança: qualquer pessoa pode calcular os dígitos, e a norma publica o algoritmo. É também por isso que um resultado aprovado não diz nada sobre a autenticidade de um documento.
Quais caracteres o OCR confunde?
A fonte OCR-B usada na MRZ foi desenhada para manter os caracteres distintos, mas câmeras de celular, reflexos e o laminado ainda produzem uma lista curta de confusões recorrentes. A ferramenta verifica todas nos dois sentidos.
| Impresso | Lido com frequência como | Onde aparece |
|---|---|---|
| 0 (zero) | O | Datas, dígitos de controle, números de documento |
| 1 | I ou L | Datas, dígitos de controle |
| 8 | B | Datas, números |
| 5 | S | Datas, números |
| 2 | Z | Datas, números |
| < (preenchimento) | Some, ou é lido como « ou K | Nomes e o preenchimento depois de cada campo — um preenchimento faltando desloca todos os campos seguintes |
Uma letra dentro de um campo numérico está sempre errada, então a ferramenta a reporta e testa o dígito parecido; se isso faz o dígito de controle bater, ela avisa. Um dígito dentro do campo de nome é sinalizado do mesmo jeito, com a letra que provavelmente era.
Como os anos de dois dígitos viram datas?
A MRZ guarda datas como AAMMDD, sem o século. O verificador assume que o ano de nascimento está no passado (um ano até o atual é lido como 20AA, caso contrário 19AA) e que o ano de validade é 20AA, a menos que isso o coloque mais de vinte anos à frente, caso em que é 19AA. As datas decodificadas trazem uma nota dizendo isso. Para uma pessoa nascida em 1926 ou um documento vencido há décadas a suposição pode estar errada; os seis caracteres brutos aparecem ao lado de cada data para você julgar.
O que ela não consegue dizer?
Ela não vê a foto, o chip, o laminado nem a marca d'água, então não pode dizer que um documento é verdadeiro. Não conhece todos os códigos de três letras: a lista cobre os países da ISO 3166 e os códigos que a ICAO reserva (D para a Alemanha, GBR e os outros códigos britânicos, XXA a XXC para apátridas e refugiados, UNO), e um código desconhecido é mostrado como está, com uma nota. Ela lê texto, não imagens, então a foto de um passaporte precisa passar antes por OCR. E não guarda nada: as linhas vivem na memória do seu navegador enquanto a página estiver aberta.