1001Ferramentas
🪪Validadores

Validador de Número CNH BR (registro)

Valide o número de registro da CNH brasileira (11 dígitos) pelo dígito verificador oficial. Útil para cadastros, RH e validação de documentos.

Numero da CNH vs RENACH: dois identificadores distintos no mesmo cartao

Ao olhar para uma CNH - Carteira Nacional de Habilitacao e tentar extrair "o numero", logo se percebe que o plastico impresso tem mais de um campo numerico. Os dois que importam para validacao sao o numero da CNH (tambem chamado de "numero de registro" ou "numero do espelho") e o RENACH (Registro Nacional de Carteiras de Habilitacao). Eles nao sao a mesma coisa, e confundi-los e a fonte mais comum de bug em fluxos de onboarding de apps de delivery, mobilidade e KYC.

O numero da CNH e uma sequencia de 11 digitos emitida pelo Detran estadual quando um determinado espelho fisico e impresso. Historicamente mudava a cada renovacao, a cada upgrade de categoria e, obviamente, quando o titular trocava de UF. O RENACH, ao contrario, e um registro nacional vitalicio que segue o condutor por todas as renovacoes, mudancas de categoria e transferencias de estado. O campo 5 da CNH moderna mostra o RENACH; o campo 4 costuma mostrar o numero da CNH.

Esta ferramenta valida especificamente o numero da CNH — os 11 digitos com dois verificadores ao final. Se voce precisa validar o algoritmo conforme as regras dos sistemas de impressao do Detran, e a ferramenta certa. Se precisa rastrear o mesmo motorista atraves de varias CNHs ao longo do tempo, o campo que voce realmente quer e o RENACH.

O algoritmo modulo 11 com a regra do decremento global

Os 11 digitos da CNH se compoem de 9 digitos base + 2 verificadores (DV1 e DV2). Diferente do CPF, o algoritmo da CNH usa pesos decrescentes comecando em 9 e aplica um decremento global quando o primeiro verificador estoura. Implementacao de referencia:

// Digitos verificadores do numero da CNH
pesos1 = [9, 8, 7, 6, 5, 4, 3, 2, 1]
pesos2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
dec    = 0

soma1 = sum(digito[i] * pesos1[i] for i in 0..8)
dv1   = soma1 % 11
if dv1 == 10:
    dv1 = 0
    dec = 2

soma2 = sum(digito[i] * pesos2[i] for i in 0..8)
dv2   = (soma2 % 11) - dec
if dv2 < 0:  dv2 += 11
if dv2 == 10: dv2 = 0

O dec = 2 e a parte que mais bibliotecas de terceiros erram. Quando o DV1 estoura para 10, ele e forcado para 0 e o DV2 precisa ser calculado com o offset. Esquecer o decremento gera validadores que rejeitam cerca de 1 em cada 11 CNHs reais.

Exemplo sobre 048.814.725-61

  • Digitos base: 0 4 8 8 1 4 7 2 5.
  • Soma1 = 0*9 + 4*8 + 8*7 + 8*6 + 1*5 + 4*4 + 7*3 + 2*2 + 5*1 = 187. 187 mod 11 = 0 -> DV1 = 0 (sem decremento).
  • O DV1 impresso e 6: o exemplo padrao 04881472561 depende de como zeros a esquerda sao preservados. Sempre complete a base com zeros ate 9 digitos antes do calculo.

Lei 14.071/2020, CPF como chave unica e a convergencia com a CIN

A Lei Federal 14.071/2020 reformou o Codigo de Transito Brasileiro (CTB) e, entre muitas outras mudancas, estreitou o vinculo entre CNH e CPF. Na pratica, o CPF virou o identificador unico funcional do condutor, mesmo que o numero da CNH e o RENACH continuem existindo por compatibilidade. Sistemas do SENATRAN indexam por CPF, e apps integrados a stack gov.br (Carteira Digital de Transito, e-Social, cruzamento com Bolsa Familia) esperam o CPF como chave primaria.

A tendencia se acelera com a CIN (Carteira de Identidade Nacional), novo documento definido pelo Decreto 10.977/2022, que adota o CPF como numero unico de identificacao em todos os documentos federais. A CIN deve, ao longo dos anos, unificar RG, CPF, numero da CNH e outros identificadores em uma so chave numerica, mas ate a adesao total o numero da CNH segue como artefato distinto, validavel, impresso no cartao.

eCNH, CDT e o gemeo digital do plastico

A CNH Digital, ou eCNH, vive dentro do app Carteira Digital de Transito (CDT), distribuido pelo SENATRAN no ecossistema gov.br. A eCNH carrega o mesmo numero da CNH e o mesmo RENACH do plastico — o algoritmo de validacao nao muda. A versao digital acrescenta um QR Code que resolve para um JSON assinado pelo SERPRO contendo CPF, numero da CNH, RENACH, categoria, validade e assinatura criptografica.

Um validador puramente de formato como este olha apenas para os 11 digitos. Nao consegue dizer se o cartao e digital ou fisico, se o titular esta suspenso, se a CNH foi cassada nem se a foto e a biometria batem. Essas checagens exigem sessao em portal do Detran ou integracao paga com bureau do SENATRAN.

Casos de uso: apps de delivery, KYC e dados de teste

Cenarios reais onde um validador offline de numero de CNH faz diferenca:

  • Onboarding de delivery e mobilidade: telas de iFood, Uber, 99, Rappi e Loggi rejeitam numeros obviamente malformados antes de bater no proxy do SENATRAN, que e rate-limited e pago por requisicao.
  • Gestao de frota: SaaS de telemetria como Cobli, Frota Plus e Maxtrack mantem master de motorista com numero da CNH + RENACH e reaproveitam o validador na importacao.
  • Seguros: apolices auto exigem CNH valida no momento da cotacao; o validador no front evita ida e volta ao back-office da seguradora.
  • Dados de mock e seed: ambientes de QA precisam de CNHs que passem nos verificadores mas sejam claramente fake. Combine este validador com um gerador aleatorio.
  • Fintechs e abertura de conta: contas PJ de motoristas (MEI) frequentemente armazenam o numero da CNH como ID secundario.

PPD vs PD, cassacao e o que o validador nao enxerga

O Brasil emite a PPD (Permissao Para Dirigir) na primeira aprovacao — habilitacao provisoria valida por 1 ano. Depois de 12 meses sem infracoes graves, o titular e promovido a PD (CNH definitiva). Os dois documentos carregam numeros gerados pelo mesmo algoritmo, e esta ferramenta os valida igualmente.

Cassacao (revogacao total), suspensao (temporaria) e bloqueio administrativo ficam registrados na camada do RENACH, nunca no numero da CNH em si. Um motorista cassado continua tendo um numero que passa no algoritmo — apenas consulta online ao Detran ou SENATRAN revela o status. Essa e a ressalva mais importante para qualquer equipe de KYC que dependa de validacao offline.

FAQ

RENACH vs numero da CNH — qual e o que aparece no cartao?

Ambos. O plastico mostra o numero da CNH (campo 4, "numero de registro") e o RENACH (campo 5). O RENACH e o registro vitalicio; o numero da CNH e vinculado ao espelho especifico.

O numero da CNH muda quando eu mudo de UF?

Historicamente sim — o Detran de destino reemitia o numero. Com o sistema nacional unificado, a tendencia e preservar o numero quando possivel, mas o campo garantido como estavel para a vida toda e o RENACH.

Posso consultar a CNH online?

Sim, pelo portal do Detran estadual (detran.<UF>.gov.br) ou pelo app CDT no gov.br. Alguns Detrans exigem login com CPF e pergunta de seguranca; o SENATRAN nao expoe API publica gratuita.

A ferramenta consulta BrasilAPI ou algum servico externo?

Nao. Os verificadores sao calculados localmente no navegador. A BrasilAPI nao tem proxy Detran confiavel — seu endpoint de CNH e instavel porque os Detrans estaduais bloqueiam scraping.

Por que alguns numeros de CNH comecam com 0?

Zeros a esquerda fazem parte do numero. O algoritmo completa a base com zeros ate 9 digitos antes de aplicar os pesos, entao 04881472561 e processado igual a um numero que comece com digito diferente de zero.

Ferramentas Relacionadas