Como validar CNPJ: o cálculo dos dígitos verificadores

Para validar um CNPJ, calcule os dois dígitos verificadores com o módulo 11 e compare com os dois últimos números: se forem iguais, o número está bem formado. Isso não prova que a empresa existe; para saber, é preciso consultar o CNPJ.Atualizado em

Passo a passo

  1. Separe a baseTire pontos, barra e hífen. Os 12 primeiros caracteres são a base; os 2 últimos são os dígitos verificadores (DV).
  2. Transforme cada caractere em númeroAlgarismos valem eles mesmos (0 a 9). No CNPJ alfanumérico, cada letra vale o código ASCII menos 48: A = 17, B = 18 e assim por diante, até Z = 42.
  3. Multiplique pelos pesos do 1º DV e someUse os pesos 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2, nessa ordem, e some todos os produtos.
  4. Calcule o 1º DVDivida a soma por 11 e pegue o resto. Se o resto for 0 ou 1, o DV é 0. Se não, o DV é 11 menos o resto.
  5. Calcule o 2º DVJunte o 1º DV ao fim da base (13 caracteres), use os pesos 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 e repita a conta.
  6. Compare com o númeroSe os dois DVs calculados forem iguais aos dois últimos números do CNPJ, ele é válido. Se não, há erro de digitação ou o número foi inventado.

O que são os dígitos verificadores

Os dois últimos números do CNPJ (Cadastro Nacional da Pessoa Jurídica) são os dígitos verificadores, ou DV. Eles não identificam nada: são o resultado de uma conta feita com os 12 caracteres anteriores. Se alguém digita um caractere errado, a conta deixa de bater e o erro aparece na hora.

A regra oficial está no Anexo XV da Instrução Normativa RFB nº 2.119/2022. A conta usa o módulo 11, ou seja, o resto da divisão por 11. Os pesos vão de 2 a 9, da direita para a esquerda, e recomeçam em 2 depois do oitavo caractere. Por isso, a lista de pesos é 5 4 3 2 9 8 7 6 5 4 3 2 no 1º DV e 6 5 4 3 2 9 8 7 6 5 4 3 2 no 2º DV.

No CNPJ alfanumérico, as letras viram números antes da conta: cada caractere vale o código ASCII menos 48. Os algarismos de 0 a 9 valem eles mesmos; A vale 17, B vale 18, C vale 19, e assim por diante, até Z, que vale 42.

Exemplo 1: CNPJ numérico 11.222.333/0001-81

A base são os 12 primeiros números: 1 1 2 2 2 3 3 3 0 0 0 1.

1º DV. Multiplique cada número pelo peso da mesma posição e some:

  • Pesos: 5 4 3 2 9 8 7 6 5 4 3 2
  • Produtos: 5 + 4 + 6 + 4 + 18 + 24 + 21 + 18 + 0 + 0 + 0 + 2 = 102
  • Divida por 11: 102 ÷ 11 = 9, com resto 3.
  • O resto não é 0 nem 1, então o DV é 11 − 3 = 8.

2º DV. Junte o 8 ao fim da base (1 1 2 2 2 3 3 3 0 0 0 1 8) e use os pesos do 2º DV:

  • Pesos: 6 5 4 3 2 9 8 7 6 5 4 3 2
  • Produtos: 6 + 5 + 8 + 6 + 4 + 27 + 24 + 21 + 0 + 0 + 0 + 3 + 16 = 120
  • Divida por 11: 120 ÷ 11 = 10, com resto 10.
  • O DV é 11 − 10 = 1.

Os DVs calculados são 81, iguais aos dois últimos números. O CNPJ 11.222.333/0001-81 é válido.

Exemplo 2: CNPJ alfanumérico 12.ABC.345/01DE-35

Este é o exemplo oficial da Receita Federal. A base é 1 2 A B C 3 4 5 0 1 D E. Trocando as letras pelos valores, fica 1 2 17 18 19 3 4 5 0 1 20 21.

1º DV.

  • Pesos: 5 4 3 2 9 8 7 6 5 4 3 2
  • Produtos: 5 + 8 + 51 + 36 + 171 + 24 + 28 + 30 + 0 + 4 + 60 + 42 = 459
  • Divida por 11: 459 ÷ 11 = 41, com resto 8.
  • O DV é 11 − 8 = 3.

2º DV. Junte o 3 ao fim: 1 2 17 18 19 3 4 5 0 1 20 21 3.

  • Pesos: 6 5 4 3 2 9 8 7 6 5 4 3 2
  • Produtos: 6 + 10 + 68 + 54 + 38 + 27 + 32 + 35 + 0 + 5 + 80 + 63 + 6 = 424
  • Divida por 11: 424 ÷ 11 = 38, com resto 6.
  • O DV é 11 − 6 = 5.

Os DVs são 35, como no número oficial. Mais detalhes sobre o novo formato estão no guia CNPJ alfanumérico.

DV certo não prova que a empresa existe

A conta só diz se o número está bem formado. Um CNPJ pode passar no cálculo e nunca ter sido dado a empresa nenhuma. É assim que funcionam os números fictícios usados para testar sistemas. Para saber se a empresa existe e qual é a situação dela, é preciso consultar o CNPJ na base da Receita.

Valide sem fazer conta

  • O validador de CNPJ do CNPJfy confere os dois formatos e, se houver erro, mostra quais DVs eram esperados. Ele também recusa números com todos os caracteres iguais, como 00.000.000/0000-00.
  • O gerador de CNPJ cria números fictícios válidos, numéricos ou alfanuméricos, para testes de software.
  • A Receita oferece o Simulador Nacional de CNPJ, que também gera e valida CNPJs fictícios.

Fontes