Validador de CNPJ
Valide CNPJs instantaneamente pelo algoritmo oficial da Receita Federal, sem enviar dados para nenhum servidor. Gratuito e sem cadastro.
Como funciona a validação de CNPJ?
O CNPJ possui 14 dígitos: 8 identificam a empresa, 4 indicam a filial (0001 para a sede) e os 2 últimos são dígitos verificadores calculados pela Receita Federal usando multiplicação ponderada com módulo 11.
Um CNPJ é inválido se os dígitos verificadores não correspondem ao cálculo, ou se todos os dígitos forem iguais — como "00.000.000/0000-00" — que passa na máscara mas falha no algoritmo matemático.
A verificação acontece inteiramente no seu navegador. Nenhum CNPJ digitado aqui é enviado para servidores.
Validacao de CNPJ: o algoritmo modulo 11 em profundidade
O CNPJ (Cadastro Nacional da Pessoa Juridica) e o identificador federal que a Receita Federal atribui a pessoas juridicas e a determinados arranjos contratuais no Brasil. Tem 14 digitos, formatados como XX.XXX.XXX/YYYY-ZZ: 8 digitos identificam a raiz da empresa (matriz), 4 digitos identificam a filial (0001 e sempre a matriz) e os 2 digitos finais sao verificadores (DV1 e DV2), calculados pelo algoritmo modulo 11.
Um validador offline puro — como este — executa a aritmetica sobre os 12 primeiros digitos e confirma se as posicoes 13 e 14 coincidem com os valores produzidos pelo algoritmo. Ele nao confirma que a empresa existe nem esta ativa perante a Receita; isso exige consulta online a base oficial (direta ou via proxy como o BrasilAPI).
Calculo do DV1
Pegue os 12 primeiros digitos e multiplique, na ordem, pelo vetor de pesos 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2. Some os produtos, calcule o resto modulo 11; se o resto for menor que 2, DV1 = 0; caso contrario DV1 = 11 menos o resto.
function dv1(digits) {
const weights = [5,4,3,2,9,8,7,6,5,4,3,2];
const sum = digits.slice(0,12)
.reduce((acc, d, i) => acc + d * weights[i], 0);
const r = sum % 11;
return r < 2 ? 0 : 11 - r;
}
Calculo do DV2
Acrescente o DV1 aos 12 primeiros digitos e multiplique a string resultante de 13 digitos pelo vetor de pesos 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2. Aplique a mesma regra do modulo 11. Um CNPJ e aritmeticamente valido quando DV1 e DV2 calculados pela formula batem com as posicoes 13 e 14 do candidato.
Sequencias matematicamente validas mas rejeitadas
CNPJs formados por um unico digito repetido (00000000000000, 11111111111111, ..., 99999999999999) satisfazem a algebra do algoritmo. A Receita Federal bloqueia todas as sequencias uniformes, entao um validador robusto deve rejeita-las explicitamente — este aqui rejeita. O mesmo vale para os demais documentos da familia (CPF, CNH, PIS).
Validacao offline vs consulta a Receita
Validar um CNPJ tem dois significados bem diferentes:
- Offline (matematica): confirma formato e digitos verificadores. Roda em microssegundos, sem rede, sem rate limit. Indicada para mascara de input, pre-checagem por regex e jobs em lote de alto volume.
- Online (cadastral): confirma que a empresa existe, esta ativa, e retorna razao social, endereco, CNAEs e socios. Exige consulta a Receita Federal (SOAP CSC/CDS legado ou REST moderno), a
brasilapi.com.br/api/cnpj/v1/{cnpj}(gratuito, com rate limit) ou a bureaus comerciais (Serasa, Boa Vista, Quod).
Uma arquitetura comum e falhar barato primeiro: rodar a checagem offline em todo envio e so gastar a chamada de rede quando a matematica passar. Isso reduz facilmente em 80% o custo de API sobre input sujo digitado por usuario.
Padroes de integracao no frontend
Um campo CNPJ amigavel na web normalmente combina tres camadas:
- Mascara de input: formata enquanto o usuario digita —
00.000.000/0000-00. JS puro, IMask.js ou libs React como react-input-mask resolvem bem. - Pre-validacao por regex: um teste rapido
/^\d{14}$/depois de remover a pontuacao. Util tambem como atributo HTML5pattern. - Validacao dos DV no blur: nunca a cada tecla — o calculo e barato, mas executa-lo em cada keypress causa flicker e UX de erro falso. Use debounce ou espere o evento
blur.
Em React, react-hook-form integra bem com schema validators como Zod ou Yup. Um resolver custom envolve a funcao de modulo 11 e expoe a mensagem de erro embaixo do campo:
import { z } from 'zod';
import { cnpj } from 'cpf-cnpj-validator';
const schema = z.object({
cnpj: z.string().refine(cnpj.isValid, {
message: 'CNPJ invalido',
}),
});
Bibliotecas JS populares: cpf-cnpj-validator, brazilian-values, @brazilian-utils/brazilian-utils. No backend Node, o pacote validator nao traz logica de CNPJ — escolha uma das libs dedicadas acima ou importe uma funcao propria.
A virada para o CNPJ alfanumerico (julho/2026)
A Instrucao Normativa RFB 2.229/2024 introduz o CNPJ alfanumerico a partir de julho de 2026. O comprimento total continua em 14 caracteres, mas os 12 primeiros podem incluir letras maiusculas de A a Z alem de digitos. Os digitos verificadores (posicoes 13 e 14) seguem numericos e continuam sendo calculados pelo mesmo algoritmo modulo 11, apos uma transliteracao deterministica: cada letra e mapeada para o valor ASCII codePointAt(0) - 48, entao A vira 17, B vira 18 e assim por diante.
Todos os CNPJs numericos atuais continuam validos para sempre — sao um subconjunto do novo formato. Software que cravou regex numerico (/^\d{14}$/) vai quebrar: ERPs legados, sistemas contabeis, emissores de NF-e e pipelines de ETL precisam de atualizacao antes de julho/2026. A Receita publicou implementacoes de referencia em C#, Java e Python.
Numeracao de filiais e a convencao da matriz
As posicoes 9 a 12 carregam o numero da filial. Por convencao 0001 e a matriz e filiais adicionais sao numeradas 0002, 0003 etc. Uma empresa com N filiais expoe portanto N + 1 CNPJs distintos compartilhando a mesma raiz de 8 digitos. Na integracao com a Receita, cada filial tem registro cadastral, endereco e CNAE proprios, ainda que obrigacoes tributarias possam consolidar na matriz.
CNPJ e LGPD
Pela lei brasileira, o CNPJ e dado de pessoa juridica, nao de pessoa fisica. A LGPD (Lei 13.709/2018) protege dado pessoal — informacao que identifica ou torna identificavel uma pessoa natural. Um CNPJ isolado, sem CPF de socio, fica fora do escopo da LGPD e pode ser consultado, compartilhado e armazenado livremente. A Receita Federal mantem portal publico de CNPJ exatamente por isso.
Cuidado: o QSA (Quadro de Socios e Administradores) ligado ao CNPJ traz CPFs e nomes — esses sao dados pessoais e estao sujeitos aos principios de finalidade, minimizacao e seguranca da LGPD.
FAQ
Esta ferramenta confirma se o CNPJ existe na Receita?
Nao. Roda checagem matematica offline do modulo 11. Para confirmar existencia cadastral, consulte a Receita Federal diretamente ou use um proxy como o BrasilAPI (brasilapi.com.br/api/cnpj/v1/{cnpj}).
Meu CNPJ numerico vai deixar de funcionar em 2026?
Nao. CNPJs numericos existentes permanecem validos indefinidamente. A mudanca de 2026 abre a porta para novas emissoes alfanumericas; dados legados nao sao afetados.
Existe API publica gratuita de consulta de CNPJ?
Sim. O BrasilAPI proxia dados da Receita com rate limit razoavel e sem chave. Para volumes maiores use bureaus comerciais ou as APIs integradas oficiais da RFB (com contrato).
A mesma raiz pode ter CNPJs em estados diferentes?
Sim. Cada filial pode estar em uma UF diferente. Endereco e inscricao estadual sao registrados por filial; a raiz e nacional.
Devo validar o CNPJ a cada tecla digitada?
Nao. Valide no blur ou apos um debounce de 300 ms. Rodar o algoritmo a cada evento de input e barato, mas produz UX ruim, com mensagens de erro piscando enquanto o usuario ainda esta digitando.
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.
Como validar um CNPJ
O CNPJ traz dois dígitos verificadores no final, calculados sobre os doze primeiros números com pesos definidos e módulo 11. Este validador refaz a conta e aponta na hora se o número está bem formado ou se houve erro de digitação em algum ponto.
É prático para limpar bases de clientes, conferir formulários de cadastro de fornecedores e validar planilhas antes de uma importação. Tenha em mente que a checagem confirma a coerência matemática do número, não se a empresa existe ou está ativa na Receita Federal — para isso seria preciso uma consulta oficial. A ferramenta aceita o número com ou sem pontuação.
A validação acontece inteiramente no seu navegador, sem enviar nada para servidores. Você pode conferir documentos reais com tranquilidade, já que nenhum dado digitado é guardado ou transmitido.