Validador de CNPJ

Verifique se um CNPJ é válido nos dois formatos oficiais: o numérico tradicional e o novo alfanumérico da Receita Federal.

Insira o CNPJ para validação

Digite o CNPJ com ou sem pontuação, no formato numérico ou alfanumérico

Resultado da Validação

Formato detectado:

#

Escrito por Equipe iComLabs

Conteúdo revisado periodicamente para manter a precisão técnica.

Um validador de CNPJ confere se os catorze caracteres de uma inscrição obedecem à regra de formação da Receita Federal: as duas últimas posições precisam ser o resultado exato de uma conta feita sobre as doze anteriores. A ferramenta desta página faz essa conferência dentro do seu navegador, em um campo só, e reconhece tanto o CNPJ numérico de sempre quanto o formato alfanumérico que passou a ser emitido em 2026.

O campo não exige formatação nenhuma. Você pode colar 11.222.333/0001-81 com pontos e barra, digitar 11222333000181 corrido ou escrever ab12cd34efgh83 em caixa baixa: a entrada é limpa da pontuação, as letras sobem para maiúsculas e a conta roda sobre o que restou. Ao clicar em validar, o resultado surge logo abaixo, com a aprovação do número ou com a frase exata do motivo da recusa.

Há um detalhe que separa esta página das outras que fazem a mesma aritmética: quando o número é aprovado, a resposta informa também qual dos dois formatos foi reconhecido. Este artigo mostra como essa detecção funciona, como as letras entram no cálculo dos dígitos verificadores, o que cada uma das cinco mensagens de erro quer dizer e onde termina o alcance de qualquer validador de CNPJ.

Vídeo de terceiros (Marcelo David - Treinamentos) — o iComLabs não produziu este conteúdo, só selecionou por ser relevante ao tema.

Como funciona o validador de CNPJ?

O validador de CNPJ desta página executa cinco checagens em sequência, todas locais, e para na primeira que falhar. A ordem é fixa: conta os catorze caracteres, recusa números formados por um caractere repetido, exige que as duas últimas posições sejam algarismos, recalcula o décimo terceiro caractere e, por último, o décimo quarto. Cada etapa tem mensagem própria, o que evita o "inválido" seco que não diz onde está o problema.

A limpeza da entrada acontece antes de tudo isso e é onde muita implementação caseira tropeça. Uma rotina escrita para o formato antigo costuma apagar tudo que não seja dígito, e nesse descarte um CNPJ alfanumérico perde as letras, chega truncado ao teste de comprimento e acaba reprovado pelo motivo errado. Aqui a limpeza preserva as letras de A a Z, remove apenas pontos, barra, hífen e espaços, e converte a caixa baixa em maiúscula antes de qualquer multiplicação.

Quando o número passa nas cinco etapas, a tela mostra "CNPJ Válido", repete o número digitado confirmando que ele está correto de acordo com o algoritmo oficial e acrescenta a linha "Formato detectado" com o padrão reconhecido. Conferir e criar são operações espelhadas: onde o validador de CNPJ refaz a conta para comparar, o Gerador de CNPJ executa a mesma conta para preencher as duas últimas casas, também nos dois formatos.

O CNPJ alfanumérico e o que mudou em 2026

O CNPJ alfanumérico é a razão pela qual um validador de CNPJ escrito há alguns anos pode reprovar hoje uma inscrição perfeitamente legítima. O formato foi instituído pela Instrução Normativa RFB nº 2.229/2024, detalhada na Nota Técnica COCAD/SUARA/RFB nº 49/2024, e está em implantação desde 31 de julho de 2026. Ele mantém os catorze caracteres e a mesma divisão entre base, ordem do estabelecimento e dígitos verificadores, liberando letras nas doze primeiras posições.

Duas regras dessa mudança importam para quem confere números. A primeira é que somente as doze primeiras posições recebem letras, e apenas maiúsculas de A a Z. A segunda é que as duas últimas posições continuam sendo sempre algarismos, sem exceção, mesmo quando o restante do número está cheio de letras. Um número com letra na décima terceira ou na décima quarta casa não é um CNPJ alfanumérico, é um número malformado.

Nada disso invalida o que já existe. As inscrições numéricas emitidas até aqui seguem valendo, sem troca, sem recadastramento e sem qualquer providência por parte da empresa; o padrão novo se aplica a registros novos. Os dois padrões convivem, e um validador de CNPJ que reconheça apenas um deles vai errar em algum momento, seja recusando inscrição recém-emitida, seja recusando inscrição antiga.

Como saber se um CNPJ é numérico ou alfanumérico

A regra cabe em uma frase: se as doze primeiras posições forem todas algarismos, o número é numérico; basta uma letra entre elas para que seja alfanumérico. É esse teste que o validador de CNPJ desta página aplica assim que o comprimento e a natureza dos dois últimos caracteres passam, e o resultado dele aparece na tela junto com a aprovação, na linha "Formato detectado".

A informação não é enfeite. Quem está testando um sistema precisa saber qual dos dois caminhos aquele número exercitou, e a diferença nem sempre salta aos olhos em um valor colado às pressas no meio de uma bateria de testes. As duas frases possíveis são "numérico (padrão tradicional)" e "alfanumérico (novo padrão da Receita Federal)", e elas aparecem apenas quando o número é aprovado. Nas recusas, o que a tela traz é a mensagem do erro, que já aponta o que corrigir.

O que você digitaO que a ferramenta faz com a entradaFormato detectado
11222333000181Nada a limpar, já está pronto para a contaNumérico
11.222.333/0001-81Remove pontos, barra e hífenNumérico
AB12CD34EFGH83Nada a limpar, as letras seguem para o cálculoAlfanumérico
ab12cd34efgh83Converte as letras para maiúsculasAlfanumérico
AB.12C.D34/EFGH-83Remove a pontuação e mantém as letrasAlfanumérico

Repare que a máscara ocupa as mesmas posições nos dois padrões, com os separadores caindo depois do segundo, do quinto, do oitavo e do décimo segundo caractere. Um CNPJ alfanumérico formatado, portanto, tem a mesma silhueta de um numérico formatado. Tentar verificar CNPJ no olho, sem rodar a conta, falha com facilidade justamente por isso: a forma do número não denuncia o formato, e letras como O e I se confundem com os algarismos vizinhos.

Como é calculado o dígito verificador do CNPJ

O cálculo é o coração de qualquer validador de CNPJ e continua sendo o mesmo módulo 11 de antes da mudança de 2026. Cada caractere das doze primeiras posições vira um valor numérico, é multiplicado por um peso que depende de onde está, e a soma de todos os produtos é dividida por 11. O resto dessa divisão define o dígito verificador, e o procedimento se repete uma segunda vez, agora sobre treze caracteres, para chegar ao último.

O acerto da solução adotada pela Receita Federal está em não ter mexido nos pesos nem no módulo. O que entrou foi apenas uma etapa de conversão de cada caractere em número, encaixada antes da multiplicação. Como essa conversão devolve o próprio algarismo quando o caractere já é um algarismo, uma base inteiramente numérica produz hoje exatamente o mesmo par de verificadores que produzia antes, e é isso que mantém válido todo número emitido no padrão anterior.

Pesos e módulo 11 no formato numérico

No primeiro dígito verificador, os pesos que um validador de CNPJ aplica às doze primeiras posições são 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3 e 2, nessa ordem, da esquerda para a direita. O padrão é decrescente e reinicia em 9 sempre que chega a 2, um ciclo que se repete até cobrir todas as casas da base.

Somados os doze produtos, o resto da divisão por 11 decide o resultado: resto menor que 2 significa dígito igual a zero, e qualquer outro resto significa 11 menos esse resto. O segundo dígito repete o procedimento com treze caracteres, incluindo o primeiro verificador recém-descoberto, e com os pesos deslocados uma casa, começando em 6.

Como as letras entram na conta no formato alfanumérico

A conversão é uma subtração e nada além disso: toma-se o código ASCII do caractere e retira-se 48. O algarismo 0 tem código 48 e vira 0, o algarismo 9 tem código 57 e vira 9, de modo que todo dígito continua valendo exatamente ele mesmo dentro da soma ponderada.

As letras maiúsculas ocupam a faixa seguinte da tabela ASCII, e é daí que sai o valor delas. A letra A tem código 65 e entra na conta valendo 17; a letra Z tem código 90 e vale 42. Entre as duas, cada letra vale uma unidade a mais que a anterior, então B vale 18, C vale 19 e assim por diante, cobrindo o intervalo de 17 a 42 sem buraco nenhum.

Por que os dois dígitos verificadores continuam numéricos

O resultado do módulo 11 é sempre um número de 0 a 10, e a regra que transforma resto menor que 2 em zero garante que ele caiba em uma única casa, de 0 a 9. Não existe, em nenhum ponto do cálculo, caminho que produza letra como dígito verificador, no formato novo ou no antigo.

Por isso a conferência das duas últimas posições acontece antes de qualquer multiplicação. Se elas trouxerem algo que não seja algarismo, o número está errado por construção, e a ferramenta interrompe ali com a mensagem "Os dois dígitos verificadores devem ser numéricos, mesmo no CNPJ alfanumérico.", sem gastar tempo com a soma ponderada.

Exemplo oficial: AB12CD34EFGH-83

O exemplo divulgado pela Receita Federal para ilustrar o novo padrão é AB12CD34EFGH83, que formatado fica AB.12C.D34/EFGH-83. A base são os doze primeiros caracteres, AB12CD34EFGH, e a pergunta é se 83 é mesmo o par de verificadores que essa base produz. A tabela abre a primeira rodada, com a conversão de cada caractere ao lado do peso que lhe cabe e do produto resultante.

CaractereValor (ASCII menos 48)PesoProduto
A17585
B18472
1133
2224
C199171
D208160
33721
44624
E215105
F22488
G23369
H24248

A soma dos doze produtos é 850. Dividindo 850 por 11 chega-se a 77 com resto 3, porque 77 vezes 11 resulta em 847 e faltam 3 para completar 850. Como o resto é maior que 2, o primeiro dígito verificador é 11 menos 3, ou seja, 8, que bate com o penúltimo caractere do número testado.

A segunda rodada trabalha sobre AB12CD34EFGH8, treze caracteres agora, com os pesos 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3 e 2. Os produtos ficam 102, 90, 4, 6, 38, 180, 24, 28, 126, 110, 92, 72 e 16, cuja soma é 888. O resto de 888 por 11 é 8, já que 80 vezes 11 resulta em 880, e o segundo verificador é 11 menos 8, isto é, 3. O par calculado é 83, idêntico ao que o número traz, e por isso a ferramenta aprova AB12CD34EFGH83 e classifica o formato como alfanumérico. Refazer essas duas rodadas à mão é a maneira mais direta de descobrir se um validador de CNPJ implementou o padrão novo ou apenas finge aceitá-lo.

Como validar CNPJ em PHP, JavaScript e Python

Quem precisa validar CNPJ dentro de um sistema escreve o algoritmo em poucas linhas, e as três funções abaixo já contemplam os dois formatos. Elas normalizam a entrada preservando as letras, exigem catorze caracteres, recusam caractere repetido, conferem se as duas últimas posições são algarismos e recalculam os dois verificadores com a conversão ASCII embutida.

function validarCnpj(string $valor): bool
{
    $cnpj = preg_replace('/[^0-9A-Z]/', '', strtoupper($valor));
    if (strlen($cnpj) !== 14 || preg_match('/^(.)\1+$/', $cnpj)) {
        return false;
    }
    if (! ctype_digit(substr($cnpj, 12))) {
        return false;
    }
    $digito = function (string $base): int {
        $soma = 0;
        $peso = strlen($base) === 12 ? 5 : 6;
        for ($i = 0; $i < strlen($base); $i++) {
            $soma += (ord($base[$i]) - 48) * $peso;
            $peso = $peso === 2 ? 9 : $peso - 1;
        }
        $resto = $soma % 11;
        return $resto < 2 ? 0 : 11 - $resto;
    };
    $base = substr($cnpj, 0, 12);
    $dv1 = $digito($base);
    return (int) $cnpj[12] === $dv1 && (int) $cnpj[13] === $digito($base . $dv1);
}
function validarCnpj(valor) {
  const c = valor.toUpperCase().replace(/[^0-9A-Z]/g, '');
  if (c.length !== 14 || /^(.)\1+$/.test(c)) return false;
  if (!/^[0-9][0-9]$/.test(c.slice(12))) return false;
  const digito = (base) => {
    let soma = 0;
    let peso = base.length === 12 ? 5 : 6;
    for (const ch of base) {
      soma += (ch.charCodeAt(0) - 48) * peso;
      peso = peso === 2 ? 9 : peso - 1;
    }
    const resto = soma % 11;
    return resto < 2 ? 0 : 11 - resto;
  };
  const base = c.slice(0, 12);
  const dv1 = digito(base);
  return Number(c[12]) === dv1 && Number(c[13]) === digito(base + dv1);
}
import re

def validar_cnpj(valor: str) -> bool:
    cnpj = re.sub(r'[^0-9A-Z]', '', valor.upper())
    if len(cnpj) != 14 or cnpj == cnpj[0] * 14:
        return False
    if not cnpj[12:].isdigit():
        return False

    def digito(base: str) -> int:
        soma = 0
        peso = 5 if len(base) == 12 else 6
        for ch in base:
            soma += (ord(ch) - 48) * peso
            peso = 9 if peso == 2 else peso - 1
        resto = soma % 11
        return 0 if resto < 2 else 11 - resto

    base = cnpj[:12]
    dv1 = digito(base)
    return int(cnpj[12]) == dv1 and int(cnpj[13]) == digito(base + str(dv1))

A função interna de cálculo é a mesma nas três linguagens e decide o peso inicial pelo tamanho da base que recebe: 5 para doze caracteres, 6 para treze. Nenhuma delas consulta serviço externo nem depende de rede, e é esse mesmo núcleo que roda no validador de CNPJ desta página: a conta acontece no seu navegador, em microssegundos, e o número digitado não é enviado a servidor algum.

CNPJ válido não é o mesmo que empresa ativa

Um validador de CNPJ responde a uma pergunta matemática e apenas a ela: os catorze caracteres obedecem à regra de formação? Resposta positiva não significa que a inscrição exista, que pertença a alguma empresa ou que esteja em qualquer condição específica. Isso não é limitação desta ferramenta em particular, é a natureza de toda conferência feita só com o número em mãos, sem acesso a base de dados.

A ferramenta desta página não consulta base alguma. Quem chega aqui querendo verificar CNPJ no sentido de descobrir a quem ele pertence não vai encontrar isso: ela não acessa o cadastro da Receita Federal, não informa situação cadastral, não devolve razão social nem endereço, não valida listas em lote e não oferece API. O que ela entrega é a conta, feita localmente, sobre um número por vez. Consultas de situação cadastral são feitas no próprio site da Receita Federal, e esta página não substitui esse caminho nem se propõe a ocupar o lugar dele.

A distância entre as duas coisas costuma cobrar caro em teste de sistema. Um número criado para popular um formulário de homologação passa nesta conferência exatamente como passaria a inscrição de uma empresa em atividade, porque a regra aplicada é a mesma nos dois casos. Aprovado aqui quer dizer bem formado, nunca existente, e um sistema que trate uma coisa como a outra vai aceitar dados que não deveria.

O que cada mensagem de erro do validador de CNPJ significa

Cada recusa do validador de CNPJ vem acompanhada de uma frase específica, e ler a frase certa poupa tempo de depuração. São cinco no total, uma para cada checagem, e elas seguem a ordem em que os testes acontecem: comprimento, caractere repetido, natureza dos dois últimos caracteres, primeiro verificador e segundo verificador.

Como a validação para na primeira falha, um número pode carregar mais de um problema e você enxergar somente o primeiro deles. Corrigir o que a mensagem aponta e validar de novo é o caminho, porque a checagem seguinte só roda depois que a anterior passa. Nenhuma dessas frases indica defeito da ferramenta: todas descrevem uma característica do número que foi digitado.

CNPJ deve conter 14 caracteres

A mensagem "CNPJ deve conter 14 caracteres." aparece quando o número, já sem pontuação e sem espaços, não fecha catorze posições. Repare no termo caracteres, e não dígitos: as letras de um CNPJ alfanumérico contam normalmente nessa soma, porque a limpeza da entrada não descarta nenhuma delas.

A causa mais frequente é colagem incompleta, com uma posição ficando para trás, ou um zero à esquerda perdido em alguma planilha que tratou o número como valor inteiro. Sobrar caractere é raro pela interface, já que o campo aceita no máximo dezoito posições, o equivalente aos catorze caracteres somados aos quatro sinais da máscara.

CNPJ com caracteres repetidos é inválido

A frase "CNPJ com caracteres repetidos é inválido." barra números formados por um único caractere repetido catorze vezes, como 11.111.111/1111-11. A checagem é explícita e roda antes da aritmética, então esse tipo de número nem chega à etapa dos pesos.

A regra vale também para letras. A ordem dos testes, aliás, explica um comportamento que costuma surpreender quem lê o código pela primeira vez: uma sequência de catorze letras iguais é recusada por essa mensagem, e não pela regra dos verificadores numéricos, porque o teste de repetição vem antes na fila.

Os dois dígitos verificadores devem ser numéricos

Esta checagem nasceu junto com o formato alfanumérico, e a mensagem completa é "Os dois dígitos verificadores devem ser numéricos, mesmo no CNPJ alfanumérico.". Ela aparece quando alguma letra ocupa a décima terceira ou a décima quarta posição, as duas casas que o cálculo reserva para o resultado do módulo 11.

O caso clássico é o de quem monta massa de teste sorteando catorze caracteres alfanuméricos ao acaso e espera um CNPJ no fim. Não funciona assim: as letras só podem aparecer nas doze primeiras posições, e as duas últimas precisam ser calculadas a partir dessa base, nunca sorteadas.

Primeiro dígito verificador inválido

A frase "Primeiro dígito verificador inválido." significa que o número tem catorze caracteres, não é uma repetição, termina em dois algarismos, mas o décimo terceiro caractere não corresponde ao que a conta devolve para aquela base. Na maioria das vezes o erro está em uma das doze primeiras posições, e não no verificador em si.

O formato alfanumérico trouxe uma armadilha nova de digitação: trocar a letra O pelo algarismo 0, ou a letra I pelo algarismo 1. Visualmente é quase o mesmo caractere, mas na conta a diferença é enorme, porque a letra O entra valendo 31 e o algarismo 0 entra valendo 0. Uma única troca dessas muda a soma inteira e derruba o verificador, e esse é hoje o erro que mais chega ao validador de CNPJ vindo de números alfanuméricos copiados à mão.

Segundo dígito verificador inválido

É a recusa mais avançada das cinco. "Segundo dígito verificador inválido." quer dizer que o número passou por todas as etapas anteriores, inclusive pelo primeiro verificador, e apenas o último caractere está fora do lugar. A base, portanto, tem grande chance de estar correta.

Quando essa mensagem aparece em um teste, costuma apontar para o algarismo final digitado errado, algo comum quando o número é ditado por telefone ou transcrito de um documento escaneado. Refazer a segunda rodada do cálculo sobre as treze primeiras posições mostra qual algarismo deveria estar naquela casa.

Veja também

Quem chega a um validador de CNPJ quase sempre está no meio de uma tarefa maior, montando massa de teste ou conferindo um cadastro inteiro antes de subir para produção. As ferramentas listadas adiante foram construídas sob as mesmas premissas: processamento local, nenhum cadastro exigido e nenhum dado saindo da sua máquina.

A dupla mais usada é gerar e conferir em seguida, fechando o ciclo dentro do próprio site. Criar um número no padrão alfanumérico e validá-lo aqui é também a forma mais rápida de ver a detecção de formato funcionando, já que o mesmo par de ferramentas cobre os dois padrões que hoje convivem.

  • Gerador de CNPJ — cria números fictícios com verificadores corretos, à sua escolha no formato numérico ou no alfanumérico
  • Validador de CPF — a mesma conferência matemática aplicada ao documento de pessoa física, com as quatro mensagens de erro explicadas
  • Gerador de Pessoas — cadastros fictícios inteiros, com dados pessoais e de contato, para cenários que exigem mais do que um documento isolado

Perguntas Frequentes sobre Validador de CNPJ

Sim. A ferramenta aceita os dois formatos no mesmo campo: o numérico tradicional e o alfanumérico. Quando o número é aprovado, o resultado traz a linha "Formato detectado", informando qual dos dois padrões foi reconhecido.

O formato foi instituído pela Instrução Normativa RFB nº 2.229/2024 e está em implantação desde 31 de julho de 2026. Ele mantém os 14 caracteres e libera letras nas 12 primeiras posições, sem alterar os pesos nem o módulo 11 do cálculo.

Não. As inscrições numéricas emitidas até aqui continuam valendo, sem troca e sem recadastramento. Os dois padrões convivem, e esta ferramenta valida qualquer um deles, informando na tela qual formato foi detectado.

Não. A ferramenta faz apenas a conta matemática dos dígitos verificadores, dentro do navegador. Ela não consulta base alguma, não informa situação cadastral e não devolve razão social nem endereço.

Não. O campo aceita um CNPJ por vez, sem validação em lote, sem upload de arquivo e sem API. Para conferir uma lista inteira, o caminho é implementar o algoritmo no seu código, como nos exemplos em PHP, JavaScript e Python deste artigo.

Não. As duas últimas posições são sempre numéricas, mesmo quando o restante do número tem letras. O resultado do módulo 11 vai de 0 a 9, e a ferramenta recusa qualquer letra nessas casas com uma mensagem específica.