Artigo Build·Desenvolvimento·11 min de leitura

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.

Vitor Morais

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:

Regiões fiscais do Brasil indicadas pela 9ª posição do CPF
CritérioEstados / abrangência
1DF, GO, MS, MT, TO
2AC, AM, AP, PA, RO, RR
3CE, MA, PI
4AL, PB, PE, RN
5BA, SE
6MG
7ES, RJ
8SP
9PR, SC
0RS

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

  1. Pegue os 9 primeiros dígitos do CPF.
  2. Multiplique cada um por um peso decrescente, começando em 10 e indo até 2.
  3. Some todos os produtos.
  4. Calcule o resto da divisão da soma por 11.
  5. 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-09

Implementaçã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

Validação local de DV vs. consulta na Receita Federal
CritérioValidação local (algoritmo)Consulta Receita
O que verificaEstrutura matemática (DV)Existência e situação cadastral
Latência< 1 ms100 ms a vários segundos
CustoZeroCusto por consulta (API paga)
Funciona offline?SimNão
Detecta CPF inexistente?NãoSim
Bom paraValidar formulário em tempo realCompliance 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).

#cpf#brasil#algoritmo#módulo 11#dígito verificador#receita federal#validação#javascript#cpf alfanumérico

Continue lendo