This content originally appeared on DEV Community and was authored by Leonardo Farias
Você já se perguntou como um número de CNPJ (Cadastro Nacional da Pessoa Jurídica) é gerado? Talvez você já tenha visto ferramentas que criam CNPJs válidos, como o Gerador de CNPJ, e ficou curioso sobre como tudo isso funciona.
Neste artigo, vou te mostrar como o algoritmo por trás da geração de um CNPJ realmente funciona, com exemplos práticos e explicações passo a passo. Você vai entender como os dígitos verificadores são calculados e por que esse número é tão importante.
O que é o CNPJ?
O CNPJ é o número que identifica uma empresa (ou entidade) perante a Receita Federal no Brasil. Ele é composto por 14 dígitos, divididos da seguinte forma:
XX.XXX.XXX/0001-YY
- Os 12 primeiros dígitos representam o número base (identificador da empresa + filial).
- Os 2 últimos dígitos (YY) são os chamados dígitos verificadores, calculados a partir dos anteriores para validar o número.
Exemplo prático: como calcular os dígitos verificadores do CNPJ?
Vamos usar o número 13.347.016/0001-XX
como base para entender o algoritmo.
Etapa 1 – Primeiro dígito verificador
Pegamos os 12 primeiros dígitos:
1 3 3 4 7 0 1 6 0 0 0 1
Multiplicamos cada um por uma sequência fixa de pesos:
5 4 3 2 9 8 7 6 5 4 3 2
Agora multiplicamos:
1×5 + 3×4 + 3×3 + 4×2 + 7×9 + 0×8 + 1×7 + 6×6 + 0×5 + 0×4 + 0×3 + 1×2
= 5 + 12 + 9 + 8 + 63 + 0 + 7 + 36 + 0 + 0 + 0 + 2
= 142
Agora fazemos: 142 % 11 = 10
Subtraímos esse valor de 11: 11 - 10 = 1
Se o resultado for maior ou igual a 10, o dígito será 0. Caso contrário, ele é o próprio resultado.
Nesse caso, nosso primeiro dígito verificador é 1.
Etapa 2 – Segundo dígito verificador
Agora pegamos os 12 primeiros dígitos mais o primeiro dígito encontrado (1):
1 3 3 4 7 0 1 6 0 0 0 1 1
Multiplicamos por uma nova sequência de pesos:
6 5 4 3 2 9 8 7 6 5 4 3 2
Multiplicando:
1×6 + 3×5 + 3×4 + 4×3 + 7×2 + 0×9 + 1×8 + 6×7 + 0×6 + 0×5 + 0×4 + 1×3 + 1×2
= 6 + 15 + 12 + 12 + 14 + 0 + 8 + 42 + 0 + 0 + 0 + 3 + 2
= 114
Fazemos: 114 % 11 = 4
Depois: 11 - 4 = 7
O segundo dígito é 7 (como é menor que 10, usamos ele mesmo).
Resultado final
Nosso número de CNPJ final é:
13.347.016/0001-17
Por que esse algoritmo existe?
O objetivo dos dígitos verificadores é evitar fraudes e erros de digitação. Sempre que você insere um CNPJ em sistemas do governo ou de empresas, os dois últimos dígitos são usados para validar se aquele número é realmente possível.
Da mesma forma que o CPF possui uma lógica de verificação, o CNPJ também adota esse mecanismo matemático simples, mas eficaz.
Como gerar CNPJs válidos automaticamente?
Apesar do processo ser compreensível, ele pode ser trabalhoso se você precisar criar vários CNPJs para testes ou simulações em sistemas. Por isso criamos uma ferramenta prática e gratuita: o Gerador de CNPJ.
Com ela, você gera números válidos automaticamente, já com os dígitos verificadores certos. Ideal para:
- Testes em sistemas de cadastro
- Simulações de dados
- Prototipagem de projetos
Se quiser validar se um número de CNPJ é verdadeiro e segue as regras do algoritmo, também existe uma ferramenta de validação de CNPJ.
Entender como o número de CNPJ é calculado pode parecer complicado no início, mas na verdade é pura matemática básica com multiplicações e regras simples de mod 11.
This content originally appeared on DEV Community and was authored by Leonardo Farias