Validador de CNPJ Alfanumérico
Valida CNPJ no novo formato alfanumérico (IN RFB 2.119/2022): 12 caracteres alfanuméricos + 2 dígitos verificadores via mod-11.
Como funciona o CNPJ alfanumérico?
A IN RFB 2.119/2022 e atualizações do SERPRO criaram o novo formato de CNPJ que inclui letras (A-Z) nos 12 primeiros caracteres. Os dois últimos dígitos continuam sendo numéricos e funcionam como dígitos verificadores.
O cálculo dos DVs mantém o algoritmo módulo 11 com pesos cíclicos (5,4,3,2,9,8,7,6,5,4,3,2 para o primeiro DV; 6,5,4,3,2,9,8,7,6,5,4,3,2 para o segundo). A diferença é que o valor numérico de cada caractere é calculado por charCode - 48, fazendo com que A=17, B=18, …, Z=42.
Validação 100% local. Aceita formato com ou sem máscara.
O CNPJ alfanumérico: o que muda em 1º de julho de 2026
A Receita Federal está esgotando a faixa numérica de 14 dígitos do CNPJ. Para estender a vida útil do identificador sem forçar uma renumeração geral, a Instrução Normativa RFB 2.229/2024 introduz o CNPJ alfanumérico: os 12 caracteres da base passam a aceitar letras A–Z além dos dígitos 0–9, enquanto os 2 dígitos verificadores permanecem numéricos. A vigência começa em 1º de julho de 2026 e afeta apenas as novas emissões; CNPJs antigos puramente numéricos seguem válidos e não exigem migração.
Para devs, a notícia é que toda camada do stack fiscal brasileiro que trata CNPJ como NUMERIC(14) vai quebrar: colunas de banco, regex, schemas XML, máscaras de input, JSON schemas e até formulários impressos. Validar um CNPJ alfanumérico corretamente é o ponto de entrada de qualquer migração — e é exatamente o que esta ferramenta faz no navegador.
Formato: 12 alfanuméricos + 2 dígitos verificadores numéricos
O layout oficial publicado pela Receita Federal é:
- Posições 1–8: raiz alfanumérica do estabelecimento (
[A-Z0-9]{8}). - Posições 9–12: ordem do estabelecimento alfanumérica (
[A-Z0-9]{4}), com0001sendo a matriz por convenção do esquema antigo. - Posições 13–14: dois dígitos verificadores numéricos (
[0-9]{2}), calculados módulo 11 sobre as 12 primeiras posições.
Um pré-filtro regex canônico:
^[A-Z0-9]{12}\d{2}$
A convenção é somente maiúsculas. Minúsculas devem ser normalizadas para maiúsculas antes da validação; mistura de caixa deve ser rejeitada no input. Esta ferramenta já converte automaticamente para maiúsculas.
O algoritmo do dígito verificador passo a passo
A matemática do DV é idêntica à do CNPJ legado — só muda a representação de entrada. Letras são convertidas em números pelo valor ASCII menos 48, o que dá A=17, B=18, C=19, ..., Z=42. Dígitos 0–9 mantêm o valor numérico. Depois da conversão, aplique módulo 11 com os pesos padrão do CNPJ:
pesos_DV1 = [5,4,3,2,9,8,7,6,5,4,3,2]
pesos_DV2 = [6,5,4,3,2,9,8,7,6,5,4,3,2]
para cada char em base12:
valor = ord(char) - 48 # funciona para 0-9 e A-Z
DV1 = soma_mod11(valores, pesos_DV1)
DV2 = soma_mod11(valores + [DV1], pesos_DV2)
A regra do resto é a mesma do CNPJ numérico: se resto < 2 então DV = 0, caso contrário DV = 11 - resto. O resultado é sempre um dígito 0–9; os DVs nunca são letras.
Impacto da migração para devs brasileiros
A migração afeta uma lista longa de componentes:
- Schema do banco: colunas
NUMERIC(14)ouBIGINTviramVARCHAR(14)ouCHAR(14). Em PostgreSQL, considereCITEXTpara lookup case-insensitive. - Índices: índices numéricos sobre CNPJ precisam ser refeitos como índices de texto. Índices parciais sobre dados legados continuam válidos.
- Atualização de regex: todo padrão
^\d{14}$precisa virar^[A-Z0-9]{12}\d{2}$. Regex numérico hardcoded é o antipadrão mais comum. - Máscaras DOM: libs como
jquery.mask,imaskereact-input-maskaceitam só dígitos por padrão; troque para um padrão custom que aceiteA-Z0-9. - JSON Schema:
"type":"string","pattern":"^[A-Z0-9]{12}\\d{2}$"em vez de"type":"integer". - Layout XML NF-e: a SEFAZ publicou a Nota Técnica 2024.002 atualizando o XSD para aceitar CNPJ alfanumérico nas tags
emitedest. - Libs:
cpf-cnpj-validator(npm) tem suporte alfanumérico a partir da v3.0; versões antigas falham silenciosamente.
Compatibilidade retroativa e janela de transição
CNPJs existentes (puramente numéricos) não mudam. A partir de 1º de julho de 2026, todo sistema deve aceitar ambos os formatos simultaneamente. Os validadores precisam então rotear o input por uma função única que trate os dois casos — tipicamente convertendo sempre caracteres em números via ord(char) - 48, que dá o inteiro correto para dígitos e o mapeamento esperado para letras.
A Receita publicará um sandbox SEFAZ (ambiente de homologação) com suporte ao CNPJ alfanumérico antes da virada de produção, para que ERPs ensaiem emissão de XML, assinatura e consulta de protocolo com o novo layout antes do prazo legal.
Pegadinhas e antipadrões frequentes
Armadilhas recorrentes em migrações iniciais:
- Hardcodear
^\d{14}$em sistema novo, em 2025 — garantia de quebra em julho de 2026. - Armazenar CNPJ como
BIGINTem schema novo; mesmo que o valor atual caiba, o tipo não aceita letras. - Confiar nos DVs para pegar um typo onde a letra
Ofoi digitada no lugar do dígito0— módulo 11 detecta transposições, mas não todas as substituições, especialmente no domínio restrito de caracteres confundíveis. - Esquecer de fazer uppercase no input do usuário —
"abc"e"ABC"não são o mesmo CNPJ. - Esquecer que os DVs continuam numéricos — aceitar DV alfanumérico é bug.
FAQ
Quando o CNPJ alfanumérico passa a valer oficialmente?
1º de julho de 2026, conforme a Instrução Normativa RFB 2.229/2024. A partir dessa data, novas emissões de CNPJ podem receber valor alfanumérico; CNPJs existentes permanecem válidos sem alteração.
É uma mudança breaking para meus validadores numéricos?
Sim. Qualquer regex ou schema que exija 14 dígitos numéricos vai rejeitar CNPJs alfanuméricos válidos. Atualize validadores, colunas de banco, máscaras e schemas XML antes da virada.
CNPJs antigos precisam migrar?
Não. Os CNPJs existentes seguem numéricos para sempre. Só novas emissões a partir de julho de 2026 podem ser alfanuméricas. O sistema precisa aceitar os dois formatos a partir do mesmo validador.
Os DVs também podem ser letras?
Não. As 2 últimas posições são sempre numéricas (0–9). Só as 12 primeiras posições podem ser alfanuméricas. Um CNPJ alfanumérico válido casa com ^[A-Z0-9]{12}\d{2}$.
As letras são case-sensitive?
A convenção é maiúsculas A–Z. Validadores devem fazer uppercase do input antes de processar. Esta ferramenta já faz isso automaticamente no campo de entrada.
Ferramentas Relacionadas
Validador de CPF
Valide CPFs instantaneamente pelo algoritmo oficial da Receita Federal, sem enviar dados para nenhum servidor. Gratuito e sem cadastro.
Validador de CPF em Lote
Valida uma lista de CPFs (um por linha) e mostra quais são válidos e quais são inválidos. Sem envio para servidores.
Validador de CNPJ em Lote
Valida uma lista de CNPJs (um por linha) e mostra resumo: válidos, inválidos e total. Sem envio para servidores.
Valide o novo CNPJ alfanumérico
O CNPJ está mudando: a partir do novo padrão (IN RFB 2.119/2022), os doze primeiros caracteres passam a ser alfanuméricos, não só números, mantendo os dois dígitos verificadores ao final. Esta ferramenta valida esse formato novo, conferindo a estrutura e o cálculo do dígito.
Como o cálculo do dígito verificador foi adaptado para lidar com letras, validar um CNPJ alfanumérico na mão é inviável. A ferramenta faz essa conta automaticamente, essencial para quem está atualizando sistemas para aceitar o novo formato antes que ele entre em vigor plenamente.
A validação roda inteiramente no navegador, sem enviar nada para fora. Uma ferramenta de apoio para desenvolvedores e empresas se prepararem para a transição do CNPJ.