QuickUse Generator

Validador de CNPJ Alfanumérico

Verifique se um CNPJ é válido — o formato numérico clássico ou o novo alfanumérico — e veja exatamente o porquê quando não é. DV errado? Ele mostra o CNPJ correto. 100% no navegador.

Guia editorial

Sobre este gerador

Leitura técnica honesta sobre o que está acontecendo por trás do botão Gerar.

Esta ferramenta confere se um CNPJ é válido e diz exatamente o porquê quando não é. Aceita tanto o formato numérico clássico quanto o novo alfanumérico que chega em julho de 2026, com ou sem a máscara XX.XXX.XXX/XXXX-XX. Um CNPJ válido é confirmado como numérico ou alfanumérico; um inválido é explicado — comprimento errado, caractere proibido, dígitos verificadores não numéricos, ou DV que simplesmente não bate. Quando só o dígito verificador está errado, ela mostra qual CNPJ deveria ter sido.

O que “válido” realmente confere

Um CNPJ tem catorze posições: uma base de doze (raiz de oito posições mais o identificador de estabelecimento de quatro) seguida de dois dígitos verificadores. A validação é estrutural, não uma consulta ao cadastro da Receita Federal — ela confirma que o número é internamente consistente. Quatro coisas precisam valer: o comprimento é exatamente catorze depois de tirar a máscara; os caracteres da base estão no alfabeto permitido; as duas últimas posições são numéricas; e esses dois dígitos batem com o que o algoritmo módulo 11 calcula a partir das doze primeiras. Um CNPJ legítimo passa nas quatro. Um erro de digitação, um deslize de transcrição ou um número inventado falha em pelo menos uma — e um bom validador diz em qual.

O dígito verificador, em resumo

A verificação se apoia no mesmo esquema módulo 11 que o CNPJ numérico sempre usou, com um acréscimo para as letras. Cada caractere da base vira um número pela regra valor = ASCII − 48, então 09 viram 0–9 e AZ viram 17–42. O primeiro DV é a soma ponderada dos doze valores com os pesos 5 4 3 2 9 8 7 6 5 4 3 2 tirada por módulo 11 (resto 0 ou 1 → dígito 0, senão 11 − resto); o segundo repete sobre os doze valores mais o primeiro dígito com os pesos 6 5 4 3 2 9 8 7 6 5 4 3 2. O exemplo oficial 12.ABC.345/01DE-35 valida exatamente assim. Para ver a conta completa de um número seu, termo a termo, use a calculadora de DV.

Por que validadores só-numéricos vão falhar em 2026

Esta é a parte que importa para quem mantém software. A partir de julho de 2026 as inscrições novas podem trazer letras nas doze primeiras posições, então um validador construído em torno de ^\d{14}$ vai rejeitar um CNPJ alfanumérico perfeitamente válido no instante em que um novo parceiro, fornecedor ou cliente apresentar um. A falha é silenciosa e cai lá na frente: um cadastro travado, uma NF-e recusada, um pagamento que não passa — tudo porque uma expressão regular não foi alargada. Os CNPJs numéricos que já existem ficam intactos e válidos para sempre, então o risco é inteiramente sobre aceitar o formato novo, não re-conferir o antigo. Testar a sua validação contra exemplos alfanuméricos reais agora é o seguro barato.

Por que este validador aceita I e O

Uma dúvida recorrente é se toda letra é permitida. Para a validação, sim: o intervalo A-Z inteiro é aceito, e um CNPJ com I ou O que satisfaça o módulo 11 é estruturalmente válido — esta ferramenta confirma, não rejeita. À parte disso, o ENCAT recomendou na Nota Técnica Conjunta 2025.001 que a Receita evite emitir as letras visualmente ambíguas I O U Q F. Na data desta publicação isso é uma recomendação pendente de confirmação, não uma regra de validação. A distinção é prática: um validador precisa aceitar essas letras (um número emitido pode legitimamente contê-las), enquanto um gerador de dados de teste faz bem em evitá-las por padrão.

Atualizando a sua própria validação

Três mudanças resolvem a maioria dos sistemas. Alargue de tipo numérico para texto a coluna que guarda o CNPJ. Troque qualquer padrão ^\d{14}$ por ^[A-Z0-9]{12}[0-9]{2}$. E faça a rotina de DV converter caracteres com ASCII − 48 em vez de dar parse de inteiro — os pesos e a regra do resto não mudam, então você estende um algoritmo em vez de manter dois. Como os dígitos mantêm o próprio valor sob ASCII − 48, a rotina atualizada devolve o resultado idêntico para todo CNPJ numérico que você já guarda. O Serpro publicou código de referência (Java, Python, TypeScript) para apoiar a transição. Para o panorama completo da virada e o que ela significa para o seu sistema, veja nosso guia sobre o que muda com o CNPJ alfanumérico. Tudo aqui roda inteiramente no seu navegador — nada que você cola é enviado a lugar nenhum.

Perguntas frequentes

Como validar um CNPJ alfanumérico?

Cole o número — com ou sem a máscara XX.XXX.XXX/XXXX-XX — no campo acima. A ferramenta tira a máscara, confere se há catorze posições, se as doze primeiras são 0-9 ou A-Z maiúsculas, se as duas últimas são numéricas, e se esses dois dígitos verificadores batem com o resultado do módulo 11 calculado a partir das doze primeiras. Se tudo valer, ela reporta um CNPJ válido e se é numérico ou alfanumérico; senão, diz qual verificação falhou.

O que torna um CNPJ inválido?

Cinco coisas, e o validador diz qual se aplica: o comprimento não é catorze; todas as posições são o mesmo caractere (a Receita exclui esses casos); uma posição da base contém algo fora de 0-9 / A-Z, como uma letra minúscula ou um símbolo; uma das duas posições de DV não é numérica; ou a estrutura está certa mas os dígitos verificadores não batem com as doze primeiras posições. O último caso é o mais comum na prática — um único caractere digitado errado costuma mudar o DV.

Ele ainda valida o CNPJ numérico antigo?

Sim. O algoritmo alfanumérico é um superconjunto estrito do numérico — pela regra valor = ASCII − 48 um dígito mapeia para o próprio valor, então um CNPJ clássico como 11.444.777/0001-61 produz exatamente os DVs de sempre e valida sem mudança. Você confere formatos antigo e novo na mesma ferramenta; nada nos seus CNPJs numéricos existentes muda.

Letras como I e O são rejeitadas?

Não. Para a validação, o intervalo A-Z inteiro é aceito: um CNPJ com I ou O que satisfaça o módulo 11 é estruturalmente válido, e esta ferramenta confirma. O ENCAT recomendou à parte (Nota Técnica Conjunta 2025.001) que a Receita evite emitir as letras ambíguas I, O, U, Q e F, mas na data desta publicação isso é uma recomendação pendente, não uma regra de validação — então um validador precisa aceitar essas letras, ainda que um gerador de dados de teste faça bem em evitá-las.

Meu sistema rejeita um CNPJ que esta ferramenta diz ser válido. Por quê?

Quase sempre porque o seu sistema ainda usa uma checagem só-numérica, como uma expressão regular ^\d{14}$ ou uma coluna de inteiro, que não consegue representar letras. A partir de julho de 2026 essa lógica vai rejeitar CNPJs alfanuméricos válidos de inscrições novas. A correção é alargar a validação para aceitar A-Z nas doze primeiras posições; a conta do dígito verificador em si não muda.

Os dígitos verificadores podem ser letras?

Não. Só as doze primeiras posições (a raiz mais o identificador de estabelecimento) podem ser alfanuméricas. As duas últimas são sempre numéricas porque são o resultado do cálculo módulo 11, que sempre produz um dígito de 0 a 9. Por isso um CNPJ alfanumérico válido casa com o padrão [A-Z0-9]{12}[0-9]{2}; se as duas últimas posições têm letra, o número está malformado.

O que significa o "CNPJ correto" sugerido?

Quando as doze primeiras posições estão bem formadas mas os dois dígitos verificadores estão errados, existe exatamente um par de DVs que tornaria o número válido. A ferramenta calcula esse par e mostra o CNPJ corrigido completo, para você ver se tem um simples erro de digitação no DV ou um erro mais cedo no número. É um apoio para flagrar deslizes de transcrição, não uma afirmação de que o número corrigido está registrado na Receita.

É oficial? Os dados vão para algum servidor?

Não é um serviço oficial da Receita Federal, mas implementa exatamente o algoritmo que o Serpro e a Receita publicaram (ASCII − 48 mais módulo 11), conferido contra o exemplo oficial 12.ABC.345/01DE-35. Roda inteiramente no seu navegador — o que você cola nunca é enviado a um servidor, e nada é guardado além de uma lista opcional dos seus próprios inputs recentes, mantida localmente no seu dispositivo.