Guia definitivo: CPF e CNPJ — como os dígitos verificadores são calculados

Os últimos dígitos de CPF e CNPJ não são aleatórios — são calculados pelos anteriores. Veja o algoritmo oficial e por que validação local é importante.
Ferramenta relacionada
Validador de CPF

Verifica se um CPF é matematicamente válido pelos dígitos verificadores.

Por que validação local é importante

Antes de enviar dados ao servidor ou consultar a Receita, validar o formato e o dígito verificador local evita tráfego desnecessário e detecta erros de digitação instantaneamente.

Atenção: validação de dígito verificador só confirma que o número é matematicamente possível. Não confirma que o CPF/CNPJ existe, está ativo ou pertence a alguém.

Estrutura do CPF

CPF tem 11 dígitos no formato XXX.XXX.XXX-YY.

Os primeiros 9 dígitos são o número-base. Os 2 últimos (YY) são dígitos verificadores calculados via algoritmo módulo 11.

O 9º dígito também indica a região fiscal onde o CPF foi emitido (de 0 = RS/SC/PR a 9 = RJ/ES).

Algoritmo do CPF — 1º DV

1. Pegue os 9 dígitos base: d₁d₂d₃d₄d₅d₆d₇d₈d₉.

2. Multiplique cada um pelos pesos decrescentes de 10 a 2: d₁×10 + d₂×9 + d₃×8 + ... + d₉×2.

3. Some os produtos. Calcule resto = soma mod 11.

4. Se resto < 2, DV₁ = 0. Caso contrário, DV₁ = 11 − resto.

Algoritmo do CPF — 2º DV

1. Pegue os 9 dígitos base + DV₁ (agora 10 dígitos).

2. Multiplique cada um pelos pesos decrescentes de 11 a 2: d₁×11 + d₂×10 + ... + DV₁×2.

3. Some os produtos. Calcule resto = soma mod 11.

4. Se resto < 2, DV₂ = 0. Caso contrário, DV₂ = 11 − resto.

CPF válido se os dois DVs calculados conferem com os informados.

Estrutura e algoritmo do CNPJ

CNPJ tem 14 dígitos no formato XX.XXX.XXX/YYYY-ZZ. Os 12 primeiros identificam a empresa (8 de número base + 4 de filial). Os 2 últimos (ZZ) são DVs.

Pesos para o 1º DV do CNPJ: [5,4,3,2,9,8,7,6,5,4,3,2]. Aplique a cada um dos 12 dígitos, some, resto mod 11. Se < 2 → DV=0; senão DV = 11 − resto.

Pesos para o 2º DV: [6,5,4,3,2,9,8,7,6,5,4,3,2]. Aplique aos 12 dígitos + DV₁ (13 dígitos). Mesma regra de resto.

CPFs e CNPJs "inválidos" famosos

Alguns números passam no algoritmo mas são reservados ou proibidos:

  • 000.000.000-00, 111.111.111-11, ..., 999.999.999-99 — sequências iguais
  • 123.456.789-09 — exemplo usado em tutoriais; é matematicamente válido mas não existe na Receita
  • CPFs cancelados após falecimento — válidos pelo algoritmo, mas inativos
  • Bons validadores rejeitam sequências iguais de uma vez, antes do cálculo

Validação completa

Validação robusta tem 3 etapas: (1) formato (quantidade de dígitos correta), (2) sequência inválida (todos iguais), (3) cálculo dos dígitos verificadores.

Para validar existência real na Receita Federal, é preciso consultar APIs oficiais (reservadas a instituições) ou serviços agregadores — mas cuidado com LGPD e uso indevido de dados.

Sobre o autor
RC
Renato Candido dos Passos
Fundador e especialista em Blockchain, Fonoaudiologia e Finanças

Fundador da UtilizAí, formado em Blockchain, Criptomoedas e Finanças na Era Digital, com formações complementares em Teologia, Filosofia e em curso de Fonoaudiologia. Saiba mais.

Perguntas frequentes

CPF começa com 0 é válido?

Sim. O algoritmo funciona igual. Só o nono dígito indica região — 0 significa RS/SC/PR.

Validar CPF local substitui consulta à Receita?

Não. Confirma só formato e consistência matemática. Não prova que a pessoa existe ou que o CPF está regular.

CNPJ filial vs matriz — como saber?

Os 4 dígitos após a barra (XX.XXX.XXX/YYYY-ZZ): 0001 é matriz, 0002 em diante são filiais.

Posso gerar CPFs para teste?

Para ambientes de desenvolvimento, sim — usando o algoritmo para produzir números válidos. Mas jamais usá-los para contornar validações em sistemas reais de terceiros.