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.

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 HTML5 pattern.
  • 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.

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.

Ferramentas Relacionadas