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?
São 14 dígitos no CNPJ. Os 8 primeiros identificam a empresa, os 4 seguintes indicam a filial (0001 é a sede) e os 2 finais são dígitos verificadores que a Receita Federal calcula por multiplicação ponderada com módulo 11.
Quando os dígitos verificadores não fecham com o cálculo, o CNPJ é inválido. O mesmo vale para sequências com todos os dígitos iguais, caso de "00.000.000/0000-00", que até passa na máscara mas não sobrevive ao algoritmo matemático.
Toda a verificação acontece dentro do seu navegador. Nenhum CNPJ digitado aqui chega a servidores.
Validação de CNPJ: o algoritmo modulo 11 em profundidade
O CNPJ (Cadastro Nacional da Pessoa Jurídica) e o identificador federal que a Receita Federal atribui a pessoas juridicas e a determinados arranjos contratuais no Brasil. Tem 14 dígitos, formatados como XX.XXX.XXX/YYYY-ZZ: 8 dígitos identificam a raiz da empresa (matriz), 4 dígitos identificam a filial (0001 e sempre a matriz) e os 2 dígitos finais são verificadores (DV1 e DV2), calculados pelo algoritmo modulo 11.
Um validador offline puro — como este — executa a aritmética sobre os 12 primeiros dígitos e confirma se as posições 13 e 14 coincidem com os valores produzidos pelo algoritmo. Ele não 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).
Cálculo do DV1
Pegue os 12 primeiros dígitos 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 contrário 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;
}
Cálculo do DV2
Acrescente o DV1 aos 12 primeiros dígitos e multiplique a string resultante de 13 dígitos 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 válido quando DV1 e DV2 calculados pela fórmula batem com as posições 13 e 14 do candidato.
Sequências matematicamente validas mas rejeitadas
CNPJs formados por um único dígito repetido (00000000000000, 11111111111111, ..., 99999999999999) satisfazem a algebra do algoritmo. A Receita Federal bloqueia todas as sequências uniformes, então um validador robusto deve rejeita-las explicitamente — este aqui rejeita. O mesmo vale para os demais documentos da família (CPF, CNH, PIS).
Validação offline vs consulta a Receita
Validar um CNPJ tem dois significados bem diferentes:
- Offline (matemática): confirma formato e dígitos 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 razão social, endereço, 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 matemática passar. Isso reduz facilmente em 80% o custo de API sobre input sujo digitado por usuário.
Padrões de integracao no frontend
Um campo CNPJ amigável na web normalmente combina três camadas:
- Mascara de input: formata enquanto o usuário digita —
00.000.000/0000-00. JS puro, IMask.js ou libs React como react-input-mask resolvem bem. - Pre-validação por regex: um teste rápido
/^\d{14}$/depois de remover a pontuação. Útil também como atributo HTML5pattern. - Validação dos DV no blur: nunca a cada tecla — o cálculo 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 função de modulo 11 e expõe 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 não traz lógica de CNPJ — escolha uma das libs dedicadas acima ou importe uma função própria.
A virada para o CNPJ alfanumérico (julho/2026)
A Instrucao Normativa RFB 2.229/2024 introduz o CNPJ alfanumérico a partir de julho de 2026. O comprimento total continua em 14 caracteres, mas os 12 primeiros podem incluir letras maiúsculas de A a Z além de dígitos. Os dígitos verificadores (posições 13 e 14) seguem numéricos e continuam sendo calculados pelo mesmo algoritmo modulo 11, após uma transliteracao determinística: cada letra e mapeada para o valor ASCII codePointAt(0) - 48, então A vira 17, B vira 18 e assim por diante.
Todos os CNPJs numéricos atuais continuam válidos para sempre — são um subconjunto do novo formato. Software que cravou regex numérico (/^\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 implementações de referência em C#, Java e Python.
Numeração de filiais e a convenção da matriz
As posições 9 a 12 carregam o número da filial. Por convenção 0001 e a matriz e filiais adicionais são numeradas 0002, 0003 etc. Uma empresa com N filiais expõe portanto N + 1 CNPJs distintos compartilhando a mesma raiz de 8 dígitos. Na integracao com a Receita, cada filial tem registro cadastral, endereço e CNAE próprios, ainda que obrigacoes tributarias possam consolidar na matriz.
CNPJ e LGPD
Pela lei brasileira, o CNPJ e dado de pessoa jurídica, não de pessoa física. A LGPD (Lei 13.709/2018) protege dado pessoal — informação 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 mantém portal público de CNPJ exatamente por isso.
Cuidado: o QSA (Quadro de Socios e Administradores) ligado ao CNPJ traz CPFs e nomes — esses são dados pessoais e estão sujeitos aos princípios de finalidade, minimizacao e segurança da LGPD.
FAQ
Esta ferramenta confirma se o CNPJ existe na Receita?
Não. Roda checagem matemática offline do modulo 11. Para confirmar existência cadastral, consulte a Receita Federal diretamente ou use um proxy como o BrasilAPI (brasilapi.com.br/api/cnpj/v1/{cnpj}).
Meu CNPJ numérico vai deixar de funcionar em 2026?
Não. CNPJs numéricos existentes permanecem válidos indefinidamente. A mudança de 2026 abre a porta para novas emissões alfanumericas; dados legados não são 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. Endereço e inscrição estadual são registrados por filial; a raiz e nacional.
Devo validar o CNPJ a cada tecla digitada?
Não. Valide no blur ou após 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 usuário ainda esta digitando.
Como validar um CNPJ
Os dois últimos números do CNPJ são dígitos verificadores. Eles saem de uma conta feita sobre os doze primeiros, com pesos definidos e módulo 11. O validador refaz essa conta e te diz se o número está bem formado ou se escapou algum erro de digitação no meio.
Serve bem para limpar bases de clientes, conferir cadastros de fornecedores ou validar uma planilha antes da importação. Só vale lembrar de um limite: a checagem garante que o número fecha matematicamente, mas não que a empresa existe ou está ativa na Receita Federal. Pra saber isso, só uma consulta oficial. Pode colar o número com ou sem pontuação, tanto faz.
Nada do que você digita sai do navegador. O cálculo roda aqui mesmo, nenhum dado é guardado ou enviado, então dá para conferir documentos reais sem preocupação.
Perguntas frequentes
Colei um CNPJ com letras e não apareceu resultado nenhum. Por quê?
O que acontece se eu colar um número com um dígito a mais?
Dá para conferir uma lista inteira de CNPJs de uma vez?
Leia mais sobre isso
Ferramentas Relacionadas
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.
Validador de Email
Verifique se um endereço de email é válido. Analisa a estrutura, domínio e parte local. Processado no navegador, sem enviar o email para nenhum servidor.
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.
Validador de CGC (CNPJ antigo)
Valida o formato e dígito verificador do CGC (Cadastro Geral de Contribuintes) — antigo formato do CNPJ. Mesmas regras matemáticas.
Validador de CNH
Valide números de CNH pelo algoritmo oficial do DETRAN, sem enviar dados para servidores. Gratuito e sem cadastro.
Validador de CPF
Valide CPFs instantaneamente pelo algoritmo oficial da Receita Federal, sem enviar dados para nenhum servidor. Gratuito e sem cadastro.