1001Ferramentas
Validadores

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 HTML5 pattern.
  • 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 campo descarta qualquer caractere que não seja dígito, então as letras de um CNPJ alfanumérico somem e sobram menos de 14 dígitos, o que mantém a resposta escondida. Este validador cobre apenas o formato numérico clássico; para inscrições com letras, use o Validador de CNPJ Alfanumérico, que converte cada letra em número antes de aplicar o módulo 11.
O que acontece se eu colar um número com um dígito a mais?
Tudo que vem depois do décimo quarto dígito é descartado sem aviso, e a resposta se refere apenas aos 14 primeiros. Ou seja: um número digitado com um dígito extra no fim pode aparecer como válido, porque a sobra nunca entra na conta. Confira o comprimento do que colou antes de confiar no selo verde, sobretudo ao limpar planilha importada.
Dá para conferir uma lista inteira de CNPJs de uma vez?
Aqui não: o campo trabalha com um número por vez e o veredito aparece assim que o décimo quarto dígito entra. Para uma coluna inteira de planilha, o site tem o Validador de CNPJ em Lote, que aceita um CNPJ por linha e devolve o resumo de válidos, inválidos e total. A aritmética por trás é a mesma checagem de módulo 11.

Ferramentas Relacionadas