devkit.app.br
Blog

Como funciona a validação de CPF: o algoritmo por trás dos dígitos verificadores

O CPF tem 11 dígitos, mas só 9 são realmente livres — os dois últimos são calculados a partir dos primeiros usando um algoritmo de módulo 11. Entenda como funciona e por que sequências como 111.111.111-11 nunca são válidas.

O CPF (Cadastro de Pessoas Físicas) é o documento de identificação fiscal mais usado no Brasil, e todo desenvolvedor que já construiu um formulário de cadastro brasileiro precisou, em algum momento, validar um. Mas o que exatamente torna um CPF "válido"? A resposta está em um algoritmo simples, mas elegante: o módulo 11.

A estrutura do CPF

Um CPF tem 11 dígitos, mas só os 9 primeiros são realmente "livres" — escolhidos (na prática, atribuídos sequencialmente pela Receita Federal). Os 2 últimos são dígitos verificadores, calculados matematicamente a partir dos 9 primeiros. Isso significa que, dado qualquer conjunto de 9 dígitos, existe exatamente um par de dígitos verificadores que os torna um CPF estruturalmente válido.

O cálculo do primeiro dígito verificador

  1. Multiplique cada um dos 9 primeiros dígitos por um peso decrescente, de 10 a 2.
  2. Some todos os resultados.
  3. Calcule o resto da divisão dessa soma por 11.
  4. Se o resto for menor que 2, o dígito verificador é 0. Caso contrário, o dígito é 11 - resto.

O cálculo do segundo dígito verificador

O processo se repete, mas agora usando os 10 dígitos (os 9 originais mais o primeiro dígito verificador já calculado), com pesos de 11 a 2.

Por que sequências repetidas nunca são válidas

Você já deve ter visto alguém tentar usar 111.111.111-11 ou 000.000.000-00 como CPF de teste. O problema é que, embora esses números passem pelo cálculo de módulo 11 por coincidência matemática, a Receita Federal nunca emite CPFs com todos os dígitos iguais — então qualquer validador correto rejeita essas sequências explicitamente, independente do resultado do cálculo.

Testando na prática

Se você precisa validar CPFs no seu formulário ou aplicação, não precisa implementar esse algoritmo do zero — use nosso Validador de CPF para conferir qualquer número em tempo real, direto no navegador. E se você precisa de números de teste estruturalmente válidos para popular ambientes de desenvolvimento, o Gerador de CPF gera exatamente isso — sem usar dados de nenhuma pessoa real.