Última atualização: 4 de setembro de 2026
Validador de CNPJ
Valide a estrutura de um CNPJ (incluindo o padrão de CNPJ alfanumérico).
Nota de conformidade: a validação roda inteiramente no seu navegador (JavaScript client-side). O CNPJ digitado não é enviado, armazenado ou logado em nenhum servidor — nenhum dado sai do seu dispositivo.
Como usar o Validador de CNPJ
- 1Digite ou cole o CNPJ. Tradicional ou alfanumérico, com ou sem pontuação.
- 2Veja o resultado na hora. A validação roda a cada tecla digitada, sem precisar clicar em nada.
- 3Para validar vários de uma vez, cole uma lista com um CNPJ por linha — cada um aparece com seu próprio resultado.
Como uma letra vira número no cálculo do dígito verificador
A parte que mais confunde no CNPJ alfanumérico é: se o dígito verificador é sempre numérico, como calculá-lo a partir de uma raiz com letras? A resposta é uma conversão simples baseada na tabela ASCII — cada caractere vira um número subtraindo 48 do seu código:
| Caractere | Código ASCII | Valor usado no cálculo (ASCII − 48) |
|---|---|---|
| 0 | 48 | 0 |
| 9 | 57 | 9 |
| A | 65 | 17 |
| K | 75 | 27 |
| Z | 90 | 42 |
Ou seja, um CNPJ como 12.ABC.345/01K0-XX é convertido caractere a caractere por essa tabela antes de aplicar os dois pesos do Módulo 11 (5 a 2, depois 6 a 2) — exatamente como acontece com dígitos comuns, só que com um passo de tradução a mais.
Importante: este validador confirma apenas a consistência sintática do número — se ele "fecha a conta" do dígito verificador. Não confirma se a empresa está ativa; para isso, a fonte oficial é a Receita Federal.
Por que validar no navegador em vez de num servidor
Enviar um CNPJ para um servidor de terceiros só para conferir o dígito verificador é tratamento de dado desnecessário: além do CNPJ em si, esse tipo de consulta costuma vazar metadados (IP, horário) que podem ser cruzados com o CNPJ testado. Como este validador roda inteiramente em JavaScript no seu navegador, nada do que você digita trafega pela rede — o cálculo do Módulo 11 acontece localmente e o resultado aparece na hora.
Exemplo resolvido: conferindo os dois dígitos à mão
Para o CNPJ 11.222.333/0001-81, o validador refaz esta conta sobre a raiz + filial 112223330001, com pesos cíclicos 5-4-3-2-9-8-7-6-5-4-3-2:
| 1×5+1×4+2×3+2×2+2×9+3×8+3×7+3×6+0×5+0×4+0×3+1×2 | = | 102 |
| 102 ÷ 11 | resto | = 3 → 11 − 3 = 8 (bate com o 13º caractere, 8) |
Para o segundo dígito, entra o 8 já confirmado, com pesos 6-5-4-3-2-9-8-7-6-5-4-3-2:
| 1×6+1×5+2×4+2×3+2×2+3×9+3×8+3×7+0×6+0×5+0×4+1×3+8×2 | = | 120 |
| 120 ÷ 11 | resto | = 10 → 11 − 10 = 1 (bate com o 14º caractere, 1) |
Os dois dígitos calculados batem com os dois últimos caracteres do CNPJ, então o validador retorna "CNPJ válido" — a mesma conta, só trocando parseInt por código ASCII − 48 na leitura de cada caractere, é o que permite validar também o formato alfanumérico novo.
Exemplo de código: a mesma validação em JavaScript
A função abaixo reproduz exatamente a lógica usada por este validador, incluindo a conversão de letras para o cálculo do CNPJ alfanumérico:
function isValidCnpj(cnpj) {
cnpj = cnpj.replace(/[^a-zA-Z0-9]+/g, '').toUpperCase();
if (cnpj.length !== 14 || !/^\d{2}$/.test(cnpj.slice(12))) return false;
const charValue = (c) => c.charCodeAt(0) - 48;
const calcDigit = (base) => {
let sum = 0, pos = base.length - 7;
for (let i = base.length; i >= 1; i--) {
sum += charValue(base[base.length - i]) * pos--;
if (pos < 2) pos = 9;
}
return sum % 11 < 2 ? 0 : 11 - (sum % 11);
};
const digits = cnpj.slice(12);
if (calcDigit(cnpj.slice(0, 12)) !== parseInt(digits[0])) return false;
return calcDigit(cnpj.slice(0, 13)) === parseInt(digits[1]);
}
Quer entender o impacto completo do CNPJ alfanumérico nos seus testes de integração? Leia CNPJ alfanumérico: o que muda nos seus testes de integração e CPF ou CNPJ "válido" pode não existir na Receita no blog.
Perguntas Frequentes
Este validador aceita o novo CNPJ alfanumérico?
Sim. O validador reconhece tanto o formato tradicional (só números) quanto o novo formato alfanumérico da Receita Federal, convertendo cada letra pelo valor ASCII menos 48 antes de calcular o dígito verificador.
Um CNPJ estruturalmente válido significa que a empresa está ativa?
Não. A validação aqui confirma apenas que o dígito verificador bate matematicamente. Confirmar situação cadastral (ativa, baixada, suspensa) exige consulta à Receita Federal, que este validador client-side não faz.
Os dois últimos dígitos verificadores do CNPJ alfanumérico também podem ser letras?
Não. Mesmo no novo padrão, os dois dígitos verificadores finais continuam sempre numéricos — só as 12 primeiras posições podem conter letras.
Preciso digitar o CNPJ com pontuação (barra, pontos, traço)?
Não, o validador aceita o número com ou sem pontuação, normalizando a entrada automaticamente antes de calcular o dígito verificador.