O que é CPF? Estrutura, Significado de Cada Dígito e Como Validar
O CPF identifica fiscalmente cada brasileiro, mas por trás dos 11 dígitos existe um algoritmo elegante de módulo 11 que permite validar qualquer número localmente. Veja a estrutura, o significado de cada bloco, o passo a passo do cálculo e o que muda com o novo CPF alfanumérico.
Por Vitor Morais
Fundador do MochaLabz ·
Gere CPFs válidos para testes
Formatado ou apenas dígitos. 100% no navegador, sem enviar dados.
Usar gerador de CPF →CPF (Cadastro de Pessoas Físicas) é o número de identificação fiscal de cada brasileiro emitido pela Receita Federal. São 11 dígitos no formato XXX.XXX.XXX-DD: os 9 primeiros formam o número sequencial do cadastro, e os 2 últimos são dígitos verificadores calculados matematicamente. Esse cálculo é público e determinístico, o que permite a qualquer sistema validar a integridade de um CPF sem precisar consultar a Receita.
O que é o CPF na prática
O CPF foi criado em 1965 e desde então virou o documento mais exigido na vida do brasileiro: abrir conta bancária, alugar imóvel, fazer compra parcelada, contratar plano de saúde, declarar imposto de renda, comprar passagem, agendar consulta no SUS — todos pedem o número. Ele acompanha a pessoa do nascimento (a Receita já atribui CPF para recém-nascidos via cartório) até o falecimento.
Para sistemas que processam clientes brasileiros, o CPF é dado obrigatório em quase todo cadastro. Isso significa que validar corretamente um CPF é uma das primeiras coisas a fazer no formulário, e fazer isso bem evita erros em produção, melhora a conversão e protege seu banco de dados de ruído.
A estrutura completa dos 11 dígitos
Cada bloco do CPF carrega um significado específico:
1 2 3 . 4 5 6 . 7 8 9 - 0 9
└─────── número-base ──────┘ └─DV─┘
↑
região fiscal
(9ª posição do número)- Dígitos 1 a 8: número sequencial do cadastro, atribuído pela Receita na ordem cronológica de emissão dentro da região fiscal.
- Dígito 9 (9ª posição): identifica a região fiscal em que o CPF foi emitido. Não indica onde a pessoa nasceu nem mora — apenas onde o documento foi cadastrado pela primeira vez.
- Dígitos 10 e 11: dígitos verificadores (DV) calculados pelo algoritmo de módulo 11 a partir dos 9 primeiros.
As 10 regiões fiscais do Brasil
O dígito da 9ª posição vai de 0 a 9 e mapeia para uma das 10 regiões fiscais. A divisão segue critérios geográficos e históricos da Receita Federal:
| Critério | Estados / abrangência |
|---|---|
| 1 | DF, GO, MS, MT, TO |
| 2 | AC, AM, AP, PA, RO, RR |
| 3 | CE, MA, PI |
| 4 | AL, PB, PE, RN |
| 5 | BA, SE |
| 6 | MG |
| 7 | ES, RJ |
| 8 | SP |
| 9 | PR, SC |
| 0 | RS |
Observação prática
Para a maioria dos sistemas, a região fiscal não é um campo relevante para validação. Saber dela é útil para análise fraude/risco e para consistência cadastral, mas não há regra obrigatória para que o CPF de quem mora em SP comece com 8.
O algoritmo de módulo 11 passo a passo
O coração da validação do CPF é o cálculo dos 2 dígitos verificadores via módulo 11. O processo é idêntico para os dois DVs, mudando apenas a quantidade de dígitos considerados e os pesos.
Calculando o primeiro dígito verificador
- Pegue os 9 primeiros dígitos do CPF.
- Multiplique cada um por um peso decrescente, começando em 10 e indo até 2.
- Some todos os produtos.
- Calcule o resto da divisão da soma por 11.
- Se o resto for menor que 2, o primeiro DV é 0. Caso contrário, é 11 menos o resto.
Exemplo — CPF base: 123.456.789
Posição: 1 2 3 4 5 6 7 8 9
Dígito: 1 2 3 4 5 6 7 8 9
Peso: 10 9 8 7 6 5 4 3 2
Produto: 10 +18 +24 +28 +30 +30 +28 +24 +18 = 210
Resto = 210 mod 11 = 1
Como 1 < 2, primeiro DV = 0 ✅Calculando o segundo dígito verificador
Repete-se o processo, agora considerando os 10 primeiros dígitos (os 9 originais + o primeiro DV recém-calculado), com pesos decrescentes de 11 a 2.
Posição: 1 2 3 4 5 6 7 8 9 10
Dígito: 1 2 3 4 5 6 7 8 9 0
Peso: 11 10 9 8 7 6 5 4 3 2
Produto: 11 +20 +27 +32 +35 +36 +35 +32 +27 +0 = 255
Resto = 255 mod 11 = 2
Como 2 ≥ 2, segundo DV = 11 - 2 = 9 ✅
CPF completo: 123.456.789-09Implementação em JavaScript
A função abaixo segue rigorosamente o algoritmo descrito acima, inclui a verificação contra dígitos repetidos e ignora máscara (pontos e traço):
function validarCPF(input: string): boolean {
const cpf = input.replace(/[^\d]/g, '');
if (cpf.length !== 11) return false;
if (/^(\d)\1+$/.test(cpf)) return false; // todos iguais
const calcDV = (base: string, pesoInicial: number): number => {
const soma = [...base].reduce(
(acc, d, i) => acc + Number(d) * (pesoInicial - i),
0,
);
const resto = soma % 11;
return resto < 2 ? 0 : 11 - resto;
};
const dv1 = calcDV(cpf.slice(0, 9), 10);
const dv2 = calcDV(cpf.slice(0, 10), 11);
return dv1 === Number(cpf[9]) && dv2 === Number(cpf[10]);
}
validarCPF('123.456.789-09'); // true
validarCPF('111.111.111-11'); // false (todos iguais)
validarCPF('123.456.789-00'); // false (DV errado)O caso especial dos CPFs com dígitos repetidos
Sequências como 000.000.000-00, 111.111.111-11 e por aí até 999.999.999-99 têm uma propriedade curiosa: passam no cálculo de módulo 11 porque a soma e a divisão geram DVs corretos por coincidência. A Receita Federal trata esses 10 números como oficialmente inválidos.
Sempre cheque dígitos repetidos
Inclua a regex /^(\d)\1+$/ antes do cálculo de módulo 11. Sem isso, sua validação aceita 10 CPFs que a Receita rejeitaria — geralmente usados em testes manuais e em ataques de varredura.
Validar localmente vs. consultar a Receita
| Critério | Validação local (algoritmo) | Consulta Receita |
|---|---|---|
| O que verifica | Estrutura matemática (DV) | Existência e situação cadastral |
| Latência | < 1 ms | 100 ms a vários segundos |
| Custo | Zero | Custo por consulta (API paga) |
| Funciona offline? | Sim | Não |
| Detecta CPF inexistente? | Não | Sim |
| Bom para | Validar formulário em tempo real | Compliance e antifraude crítica |
Em 95% dos casos, validação local resolve. A consulta à Receita só se justifica em fluxos sensíveis (KYC bancário, abertura de crédito, prevenção de fraude) e exige convênio formal.
O novo CPF alfanumérico (2026–2032)
A Receita Federal anunciou a transição para um CPF alfanumérico: os 8 primeiros caracteres podem ser letras maiúsculas ou dígitos; o 9º indica categoria; e os 2 últimos continuam sendo dígitos verificadores em módulo 11. O objetivo é ampliar o universo de números possíveis (atualmente, após bilhões de emissões, está chegando ao limite numérico).
O algoritmo de módulo 11 continua, mas opera sobre o valor ASCII menos 48 de cada caractere:
'0' (ASCII 48) → 0
'1' (ASCII 49) → 1
...
'9' (ASCII 57) → 9
'A' (ASCII 65) → 17
'B' (ASCII 66) → 18
...
'Z' (ASCII 90) → 42
→ Pesos e cálculo de módulo 11 idênticos ao CPF clássico,
mas calculados sobre esses valores.Para sistemas em produção, a recomendação é começar a aceitar letras maiúsculas no input já em 2026, mesmo que ainda não existam CPFs alfanuméricos circulando — evita refatoração urgente quando os primeiros lotes começarem a ser emitidos.
Por que esse algoritmo importa para devs
- UX em tempo real: validação no front, antes do submit, sem esperar requisição.
- Custo zero: sem chamadas de API por preenchimento de formulário.
- Higiene de base: rejeita typos no cadastro antes que entrem no banco.
- Preparação para o alfanumérico: entender o módulo 11 facilita a atualização da lógica.
- Geração para testes: usar CPFs gerados por algoritmo é o caminho seguro pela LGPD.
Para o passo a passo de implementação em código, veja o algoritmo do dígito verificador detalhado ou pule direto para como gerar CPFs válidos em JavaScript.
Perguntas frequentes
O que significa CPF e para que serve?+
CPF significa Cadastro de Pessoas Físicas. É um número de 11 dígitos emitido pela Receita Federal do Brasil que identifica unicamente cada contribuinte para fins fiscais. É exigido para abrir contas bancárias, fazer compras parceladas, declarar imposto de renda, contratar serviços e em quase qualquer interação formal com pessoa jurídica no Brasil.
O que cada dígito do CPF representa?+
Os 9 primeiros dígitos formam o número sequencial do cadastro, atribuído na ordem em que foi emitido. O 9º dígito (oitavo do número-base) indica a região fiscal de origem (de 1 a 9, ou 0 para alguns casos especiais). Os dois últimos dígitos são verificadores, calculados matematicamente pelo algoritmo de módulo 11 sobre os 9 primeiros.
O que é a região fiscal indicada pelo CPF?+
A 9ª posição do CPF (na sequência de 11 dígitos) indica em qual região fiscal o documento foi emitido — não necessariamente onde a pessoa nasceu ou mora. As 10 regiões cobrem grupos de estados: por exemplo, 1 = DF/GO/MS/MT/TO, 7 = ES/RJ, 8 = SP, 9 = PR/SC. O dígito 0 é reservado para casos especiais.
Como funciona o algoritmo do dígito verificador do CPF?+
Usa-se o algoritmo de módulo 11. Para o primeiro DV: multiplica-se cada um dos 9 primeiros dígitos por pesos decrescentes de 10 a 2, soma-se os resultados, divide-se por 11 e calcula-se o resto. Se o resto for menor que 2, o DV é 0; caso contrário, é 11 menos o resto. O segundo DV usa os 10 dígitos (9 + primeiro DV) com pesos de 11 a 2 pelo mesmo procedimento.
Posso validar um CPF sem chamar a Receita Federal?+
Sim — e você deve. A validação dos dígitos verificadores é puramente matemática e pode ser feita localmente, em milissegundos, sem nenhuma chamada de API externa. Isso melhora a UX (feedback instantâneo no formulário) e evita custos e latência. A consulta na Receita só é necessária se você precisa confirmar que o CPF realmente existe e está ativo.
CPF como 111.111.111-11 é válido matematicamente?+
Sim, sequências repetidas (000.000.000-00 até 999.999.999-99) passam no cálculo de módulo 11 — os DVs ficam corretos por coincidência. Mas a Receita Federal rejeita esses números como inválidos. Em qualquer validação, adicione uma checagem específica para excluir essas 10 sequências.
O que muda com o novo CPF alfanumérico previsto para 2026?+
A Receita Federal está implementando, gradualmente até 2032, um novo formato em que os 8 primeiros caracteres podem ser alfanuméricos (letras maiúsculas e dígitos), e os 3 últimos continuam sendo dígitos numéricos (1 indicando categoria + 2 verificadores). O algoritmo de módulo 11 continua, mas opera sobre o valor numérico da posição de cada caractere na tabela ASCII menos 48. Sistemas devem se preparar para aceitar letras nos primeiros 8 caracteres.
É legal usar CPFs gerados por algoritmo em testes?+
Sim, desde que sejam usados exclusivamente em ambiente de desenvolvimento e teste — nunca para se passar por outra pessoa nem para fraude. Um CPF "válido" gerado pelo algoritmo só vira problema se for atribuído a uma pessoa real ou usado para enganar terceiros. Para testes, gerar localmente é a prática padrão (e amplamente recomendada pela LGPD em vez de usar dados reais).
Continue lendo
Como Validar CPF e CNPJ (2026): Algoritmo, Código em JavaScript e Boas Práticas
Guia completo de validação de CPF e CNPJ: algoritmo do módulo 11 passo a passo, implementação em JavaScript, máscara em formulários, erros clássicos e LGPD.
Como Gerar CPF Válido em JavaScript: Algoritmo Passo a Passo (2026)
Implementação completa do algoritmo gerador de CPF em JavaScript: módulo 11 dos dígitos verificadores, geração por estado, batch, função TypeScript pronta, comparação com bibliotecas e LGPD em testes.
Algoritmo do Dígito Verificador do CPF: Módulo 11 Completo (2026)
Como funciona o algoritmo de módulo 11 do CPF passo a passo. Implementações em JavaScript, Python, Go, Java e SQL. Casos especiais, performance e o que muda com o novo CPF alfanumérico.
Validação de Documentos Brasileiros em Formulários (2026): CPF, CNPJ, CEP, Telefone
Guia completo de validação de documentos BR em formulários web: CPF, CNPJ, CEP, telefone, RG, PIS. Máscara em tempo real, regex, frontend vs backend e UX recomendada.