Glossário

Dígito verificador do CNPJ

Dígito verificador do CNPJ são os dois últimos algarismos do número, calculados pela Receita Federal por módulo 11 sobre os doze caracteres anteriores. Eles não identificam a empresa: servem para detectar erro de digitação ou transcrição antes de qualquer consulta. Um CNPJ com dígitos errados não existe e nunca existiu; um CNPJ com dígitos certos pode existir ou não.

Como a Receita define: Cadastro Nacional da Pessoa Jurídica (Receita Federal)

Um CNPJ tem 14 caracteres em quatro blocos: 12.345.678/0001-95. Os oito primeiros são a raiz, que identifica a empresa; os quatro seguintes são a ordem do estabelecimento (0001 costuma ser a matriz); os dois últimos são os dígitos verificadores. Validar o dígito é a checagem mais barata que existe: roda em microssegundos, sem chamada de rede, e elimina a maior parte dos erros de formulário antes de gastar uma consulta.

Como o cálculo funciona

Módulo 11, em duas passadas:

  1. Multiplique os doze primeiros caracteres pelos pesos 5 4 3 2 9 8 7 6 5 4 3 2, some, tire o resto da divisão por 11. Resto menor que 2 dá dígito 0; senão o dígito é 11 − resto. Esse é o primeiro verificador.
  2. Repita com os treze caracteres (os doze mais o primeiro verificador) e os pesos 6 5 4 3 2 9 8 7 6 5 4 3 2. O resultado é o segundo verificador.

Se o par calculado bate com o par informado, o formato é válido. Sequências repetidas (00000000000000, 11111111111111) passam no cálculo e são rejeitadas à parte.

O que muda com o CNPJ alfanumérico

Desde que a Receita Federal passou a admitir letras nas doze primeiras posições, o cálculo continua o mesmo, com uma regra a mais: cada caractere entra na soma pelo seu valor ASCII menos 48. Dígitos continuam valendo de 0 a 9; letras maiúsculas valem de 17 (A) a 42 (Z). Os dois verificadores continuam sendo sempre numéricos. A explicação completa, com o que muda no seu sistema, está em CNPJ alfanumérico na API; este termo não repete aquela página.

Como a API trata

Formato inválido, incluindo dígito errado, responde 400 invalid_cnpj sem consumir crédito. Formato válido e CNPJ inexistente responde 404 not_found, também sem custo. A API aceita entrada com ou sem pontuação e devolve sempre a forma normalizada de 14 caracteres em data.cnpj:

"cnpj": "00000000000191",
"raiz_cnpj": "00000000"

Detalhe dos campos em Campos da resposta; os códigos de erro em Erros e retentativas.

Como usar

Como aparece na resposta

CampoPerfilDescrição
cnpjbasicCNPJ do estabelecimento, 14 caracteres sem pontuação, com zeros à esquerda. Vem da Receita Federal; aceita entrada numérica ou alfanumérica, com ou sem pontuação.

Perguntas frequentes

Validar o dígito verificador substitui consultar a API?

Não. O dígito só prova que o número está bem formado. Se a empresa existe, qual é a situação cadastral e quem é ela, só a consulta responde. Valide o dígito primeiro para não gastar consulta com erro de digitação.

CNPJ com dígito errado consome crédito?

Não. Formato inválido responde 400 invalid_cnpj sem consumir crédito; CNPJ válido que não existe responde 404 not_found, também sem custo. Só a resposta com dados é cobrada.

O cálculo muda com o CNPJ alfanumérico?

A fórmula é a mesma, por módulo 11 com os mesmos pesos; a diferença é que cada caractere entra pelo valor ASCII menos 48, então letras valem de 17 a 42. Os dois dígitos verificadores continuam numéricos. O detalhe está em /docs/cnpj-alfanumerico.

Sequências como 00000000000000 passam na validação?

Passam no cálculo do módulo 11, por isso toda validação séria rejeita sequências repetidas à parte. A API responde 400 invalid_cnpj para elas.

Termos relacionados

Leia também

Atualizado em