Os dois últimos algarismos do CPF não são escolhidos na inscrição. Eles são calculados a partir dos nove primeiros por uma conta chamada módulo 11, a mesma que o sistema faz quando recusa um CPF digitado errado e que um gerador usa para criar números que passam na validação. A conta cabe numa folha de papel e tem limites: aceita dez números que os validadores recusam por uma regra à parte, deixa passar alguns erros de digitação e não sabe se o CPF foi emitido. Para conferir qualquer número enquanto lê, use o gerador e validador de CPF.
Resposta rápida
- O CPF tem 11 algarismos: 9 de base e 2 dígitos verificadores, calculados por módulo 11.
- 1º dígito: multiplique os 9 algarismos pelos pesos 10 a 2, some e divida por 11. Resto 0 ou 1 dá 0; os outros restos dão 11 menos o resto.
- 2º dígito: a mesma conta com 10 algarismos (os 9 mais o 1º dígito) e os pesos 11 a 2.
- A conta prova que o número é bem formado. Se o CPF existe e está regular, quem responde é a consulta da Receita Federal.
Como o número do CPF é formado
O número de inscrição no CPF tem 11 algarismos, escritos no formato 000.000.000-00. A Instrução Normativa RFB nº 2.172, de 9 de janeiro de 2024, que regula o cadastro, chama esse número de NI-CPF e proíbe dar mais de um número para a mesma pessoa. A Lei nº 14.534, de 2023, fez dele o número único e suficiente para identificar o cidadão nos bancos de dados de serviços públicos, e mandou que ele conste de documentos como a certidão de nascimento, o título de eleitor e a carteira de habilitação. Por isso o CPF aparece em quase todo formulário, e um algarismo trocado nele costuma dar trabalho depois.
Cada trecho do número tem um papel:
| Posições | O que são | No exemplo 111.444.777-35 |
|---|---|---|
| 1ª a 8ª | Sequência atribuída na inscrição | 111.444.77 |
| 9ª | Região fiscal em que o CPF foi inscrito | 7 |
| 10ª | 1º dígito verificador, calculado sobre as posições 1 a 9 | 3 |
| 11ª | 2º dígito verificador, calculado sobre as posições 1 a 10 | 5 |
Os dois dígitos verificadores não guardam informação sobre a pessoa. Eles existem para pegar erro: quem digita um algarismo errado quase sempre produz um número cuja conta não fecha, e um formulário que valida o CPF recusa na hora, antes de o dado chegar ao banco.
Como calcular o primeiro dígito verificador do CPF
Pegue os 9 primeiros algarismos. No exemplo, 111.444.777. A conta tem quatro passos:
- Multiplique cada algarismo por um peso, começando em 10 no primeiro e descendo de um em um até 2 no nono.
- Some os nove produtos.
- Divida a soma por 11 e guarde o resto, que é o que sobra da divisão em números inteiros.
- Se o resto for 0 ou 1, o dígito é 0. Se for de 2 a 10, o dígito é 11 menos o resto.
| Posição | Algarismo | Peso | Produto |
|---|---|---|---|
| 1ª | 1 | 10 | 1 × 10 = 10 |
| 2ª | 1 | 9 | 1 × 9 = 9 |
| 3ª | 1 | 8 | 1 × 8 = 8 |
| 4ª | 4 | 7 | 4 × 7 = 28 |
| 5ª | 4 | 6 | 4 × 6 = 24 |
| 6ª | 4 | 5 | 4 × 5 = 20 |
| 7ª | 7 | 4 | 7 × 4 = 28 |
| 8ª | 7 | 3 | 7 × 3 = 21 |
| 9ª | 7 | 2 | 7 × 2 = 14 |
| Soma | 162 | ||
| Resto da divisão por 11 | 8 | ||
| Dígito verificador | 3 | ||
A soma dá 162. Como 11 × 14 = 154, sobram 8, e o primeiro dígito é 11 menos 8, que dá 3. Ao refazer a conta com o seu próprio número, é fácil errar uma das nove multiplicações. Cole o número no validador de CPF online e compare: ele refaz a conta e mostra o dígito calculado junto do número que você colou. Na aba de geração, o painel de conferência abre a conta do primeiro número gerado, com cada algarismo multiplicado pelo seu peso, a soma e o resto.
Como calcular o segundo dígito verificador
O segundo dígito usa a mesma conta com duas diferenças. Entram 10 algarismos, os 9 da base e o primeiro dígito que você acabou de achar, e os pesos começam em 11. No exemplo, a sequência vira 1114447773, com pesos de 11 a 2.
| Posição | Algarismo | Peso | Produto |
|---|---|---|---|
| 1ª | 1 | 11 | 1 × 11 = 11 |
| 2ª | 1 | 10 | 1 × 10 = 10 |
| 3ª | 1 | 9 | 1 × 9 = 9 |
| 4ª | 4 | 8 | 4 × 8 = 32 |
| 5ª | 4 | 7 | 4 × 7 = 28 |
| 6ª | 4 | 6 | 4 × 6 = 24 |
| 7ª | 7 | 5 | 7 × 5 = 35 |
| 8ª | 7 | 4 | 7 × 4 = 28 |
| 9ª | 7 | 3 | 7 × 3 = 21 |
| 10ª (1º dígito) | 3 | 2 | 3 × 2 = 6 |
| Soma | 204 | ||
| Resto da divisão por 11 | 6 | ||
| Dígito verificador | 5 | ||
A soma dá 204. Como 11 × 18 = 198, o resto é 6, e o segundo dígito é 11 menos 6, que dá 5. O CPF completo fica 111.444.777-35.
Dois erros de implementação aparecem neste passo: deixar o primeiro dígito verificador fora da segunda soma e reaproveitar os pesos da primeira conta. Os dois devolvem um algarismo com cara de dígito certo, e o sistema passa a recusar boa parte dos CPFs válidos sem nenhuma mensagem que ajude a achar a causa.
Quando o resto é 0 ou 1: o caso do 123.456.789-09
A regra de 11 menos o resto tem um buraco. Com resto 0, o resultado seria 11; com resto 1, seria 10. Nenhum dos dois cabe numa posição de um algarismo, e os dois casos viram 0. É a única situação em que dois restos diferentes dão o mesmo dígito.
O CPF 123.456.789-09, que aparece como exemplo em muito material sobre o assunto, passa por esse caso. No primeiro dígito, a soma é 210 e o resto é 1, então o dígito é 0. No segundo, a soma é 255, o resto é 2 e o dígito é 11 menos 2, que dá 9.
O buraco tem um efeito que dá para medir. Entre todas as bases possíveis, que são 1 bilhão, o 0 é o primeiro dígito verificador de cerca de 18,2% delas, porque recebe dois restos, enquanto cada algarismo de 1 a 9 fica com cerca de 9,1%. Ver muitos CPFs com 0 depois do hífen não é sinal de problema no cadastro.
Três jeitos de escrever a mesma conta
Quem compara validadores de CPF na internet encontra códigos que parecem fazer contas diferentes. Quase sempre é a mesma conta escrita de outra forma, e as três abaixo chegam sempre ao mesmo dígito:
- Com 11 menos o resto, como neste guia. Resto 0 ou 1 vira 0, e os outros restos viram 11 menos o resto.
- Com a soma multiplicada por 10. É o jeito da função TestaCPF, o script de validação da página do Comprovante de Situação Cadastral no CPF, da Receita Federal: ela calcula o resto de soma × 10 dividido por 11 e troca o 10 por 0. Como 10 é 11 menos 1, esse resto sai igual a 11 menos o resto da soma (ou 0, quando o resto da soma é 0), e o dígito final é o mesmo.
- Sem o primeiro algarismo no segundo dígito. Algumas explicações calculam o segundo dígito com os pesos de 10 a 2 sobre as posições 2 a 10. Funciona porque o peso 11 do primeiro algarismo é múltiplo de 11 e não mexe no resto. No 123.456.789, a soma cai de 255 para 244, exatamente 11 a menos, e o resto continua 2.
Para escrever a sua função, a versão abaixo segue a regra deste guia e também recusa as sequências de algarismos repetidos, que fecham a conta e mesmo assim não são aceitas, como explica a seção sobre o que a conta deixa passar:
function digitoCpf(numeros) {
// pesos decrescentes: 10 a 2 no 1º dígito, 11 a 2 no 2º
let soma = 0;
for (let i = 0; i < numeros.length; i++) {
soma += Number(numeros[i]) * (numeros.length + 1 - i);
}
const resto = soma % 11;
return resto < 2 ? 0 : 11 - resto;
}
function validarCpf(entrada) {
const cpf = String(entrada).replace(/[^0-9]/g, "");
if (cpf.length !== 11) return false;
if (cpf.split("").every((c) => c === cpf[0])) return false;
const d1 = digitoCpf(cpf.slice(0, 9));
const d2 = digitoCpf(cpf.slice(0, 9) + d1);
return cpf[9] === String(d1) && cpf[10] === String(d2);
}Antes de colocar a função em produção, gere uma massa de 100 números no gerador de CPF válido para teste e passe todos por ela. Qualquer recusa aponta erro de peso ou de resto. Depois troque um algarismo de alguns desses números e confira se a função passa a recusar quase todos. Se ela aceitar todos, não está comparando os dígitos.
O que o 9º dígito do CPF indica
O nono algarismo, o último antes do hífen, indica a região fiscal da Receita Federal em que a inscrição foi feita. A Receita divide o país em 10 regiões fiscais, cada uma com uma superintendência, e o algarismo corresponde ao número da região. O 0 fica com a 10ª, que é o Rio Grande do Sul.
| 9º dígito | Região fiscal | Estados |
|---|---|---|
| 1 | 1ª Região Fiscal | DF, GO, MS, MT e TO |
| 2 | 2ª Região Fiscal | AC, AM, AP, PA, RO e RR |
| 3 | 3ª Região Fiscal | CE, MA e PI |
| 4 | 4ª Região Fiscal | AL, PB, PE e RN |
| 5 | 5ª Região Fiscal | BA e SE |
| 6 | 6ª Região Fiscal | MG |
| 7 | 7ª Região Fiscal | ES e RJ |
| 8 | 8ª Região Fiscal | SP |
| 9 | 9ª Região Fiscal | PR e SC |
| 0 | 10ª Região Fiscal | RS |
Os estados de cada região seguem a página das Superintendências Regionais da Receita Federal, conferida em 23/09/2026. Essa página lista as regiões, mas não liga cada uma a um algarismo do CPF: a correspondência da tabela é a convenção de numeração do documento, a mesma que os validadores usam.
No exemplo 111.444.777-35, o nono algarismo é 7, e a inscrição seria da 7ª Região Fiscal, que cobre Espírito Santo e Rio de Janeiro. O algarismo diz onde o CPF foi inscrito, e não onde a pessoa mora hoje: mudar de endereço é uma alteração de dados cadastrais, que não troca o número. A região também não muda a regra da validação. Um CPF com 8 nessa posição não é mais válido para quem mora em São Paulo do que um CPF com 3. Ao validar CPF no ValorFinal, a região fiscal aparece ao lado do resultado de cada número conferido.
O que o dígito verificador pega e o que deixa passar
A conta existe para pegar erro de digitação, e pega quase todos. Os pesos do primeiro dígito vão de 2 a 10, nenhum deles é múltiplo de 11, e 11 é primo: por isso um algarismo errado entre os nove primeiros sempre muda o resto da primeira soma. O que escapa é o caso em que o resto troca entre 0 e 1, os dois que viram dígito 0, e a segunda soma também não percebe a diferença.
O 123.456.789-09 e o 223.456.789-09 são um exemplo: os dois fecham a conta, e só o primeiro algarismo muda. No segundo número, a primeira soma é 220, com resto 0; no original, é 210, com resto 1. Os dois restos viram 0. Na segunda soma, o primeiro algarismo tem peso 11, que não mexe no resto, e os dois números terminam em 9.
O outro ponto cego é conhecido de quem programa. As dez sequências de algarismos repetidos, de 000.000.000-00 a 999.999.999-99, fecham a conta. Com todos os algarismos iguais a k, a primeira soma é 54 vezes k e a segunda é 65 vezes k, e as duas deixam o próprio k como dígito. A recusa dessas sequências é uma regra à parte, escrita antes da conta. O script da consulta da Receita recusa o 000.000.000-00 de forma explícita, e o validador do ValorFinal recusa as dez.
| Situação | O dígito verificador pega? |
|---|---|
| Um algarismo errado entre os nove primeiros | Quase sempre. Escapa quando o resto troca entre 0 e 1 e o segundo dígito também fica igual, como no par 123.456.789-09 e 223.456.789-09 |
| Um dos dois dígitos verificadores digitado errado | Sempre, porque a base não mudou e a conta devolve os dígitos originais |
| Dois algarismos vizinhos trocados de lugar | Quase sempre. As trocas que escapam são de algarismos consecutivos, como 34 digitado 43, e só em parte dos números |
| Sequência de algarismos repetidos | Não. A recusa depende de uma regra à parte |
| Número bem formado que nunca foi emitido | Não. Só a consulta da Receita Federal responde |
| CPF de outra pessoa digitado de propósito | Não. A conta olha o formato, não o dono |
Dígito certo não quer dizer CPF emitido. Para conferir uma lista inteira de uma vez, dá para validar CPF em lote, até 1.000 linhas, mas a resposta continua sendo sobre o formato. Saber se um número existe e em que situação está é trabalho da Receita Federal, na consulta pública do Comprovante de Situação Cadastral no CPF, que pede o número e a data de nascimento do titular. O próprio comprovante avisa que se limita a comprovar a situação cadastral, e a Instrução Normativa 2.172 prevê seis situações: regular, pendente de regularização, suspensa, cancelada, titular falecido e nula.
Por que um CPF gerado só serve para teste
Um gerador de CPF sorteia os nove algarismos da base e calcula os dois dígitos. Existem 1 bilhão de bases possíveis, de 000.000.000 a 999.999.999, e cada uma tem exatamente um par de dígitos que fecha a conta. O gerador não tem como saber quais desses números a Receita já atribuiu a alguém, então um CPF gerado pode coincidir com o de uma pessoa real. A conta que faz o número passar no formulário não diz nada sobre quem é o dono dele.
Daí vem o uso correto: preencher formulário em ambiente de desenvolvimento, popular banco de homologação, escrever teste automatizado da validação. Fora disso, o número não tem utilidade legítima. Usar um CPF para se passar por outra pessoa, com o fim de obter vantagem ou causar dano, pode configurar o crime de falsa identidade do artigo 307 do Código Penal, punido com detenção de três meses a um ano, ou multa, se o fato não constituir elemento de crime mais grave.
O caminho inverso também tem problema. Copiar CPFs reais da produção para o ambiente de teste leva dado pessoal para um lugar que costuma ter menos controle de acesso. A LGPD define dado pessoal como a informação relacionada a pessoa natural identificada ou identificável, e o CPF identifica uma pessoa. O número gerado tem a forma que o sistema espera e não foi copiado do cadastro de ninguém. Para montar essa massa, o gerador de CPF válido para teste sorteia com o gerador criptográfico do navegador, descarta as bases de algarismos repetidos e entrega até 100 números por vez, com ou sem máscara, sem enviar nada para servidor.
Como usar a ferramenta do ValorFinal
O gerador de CPF e CNPJ tem duas abas. Em Gerar para teste, você escolhe CPF ou CNPJ, a quantidade e a máscara, e o painel de conferência mostra a conta dos dois dígitos do primeiro número. Em Validar documento, você cola um ou vários documentos, um por linha, e vê para cada um se o dígito confere, qual dígito a conta dá e, no CPF, a região fiscal.
O CNPJ usa pesos de 2 a 9 em ciclo e agora aceita letras, e o guia do dígito verificador do CNPJ alfanumérico mostra essa conta. Para ver a situação de uma empresa real, use a consulta de CNPJ, e para testar a expressão regular do campo de documento, o testador de regex. As demais ferramentas estão em ferramentas de tecnologia.
Fontes oficiais
- Receita Federal: função TestaCPF da consulta de CPF: script de validação da página do Comprovante de Situação Cadastral no CPF, com os pesos de 10 a 2 e de 11 a 2 e o resto da soma multiplicada por 10.
- Instrução Normativa RFB nº 2.172/2024: regula o Cadastro de Pessoas Físicas, o NI-CPF, as seis situações cadastrais e a consulta pública da situação cadastral.
- Receita Federal: Superintendências Regionais: as 10 regiões fiscais e os estados de cada uma.
- Lei nº 14.534/2023: estabelece o CPF como número único e suficiente de identificação do cidadão nos bancos de dados de serviços públicos.
- Lei nº 13.709/2018, Lei Geral de Proteção de Dados: o artigo 5º define dado pessoal.
- Código Penal, Decreto-Lei nº 2.848/1940: o artigo 307 define o crime de falsa identidade.
Conclusão
O CPF se confere com uma conta de escola: pesos de 10 a 2, soma, resto da divisão por 11 e 11 menos o resto, com 0 para os restos 0 e 1. O segundo dígito repete a conta com um algarismo a mais e pesos de 11 a 2. A conta prova só o formato: aceita as dez sequências repetidas, não sabe quem é o dono do número e não substitui a consulta da Receita. Para testar a sua implementação, gere uma massa no gerador de CPF, confira os números que o seu sistema recusou e veja as demais ferramentas de tecnologia.