Pular para o conteúdo

Validar CPF

Digite ou cole um CPF, ou uma lista, e veja na hora se os dígitos verificadores conferem.

Validar CPF

Confere no seu navegador. Nada do que você digita ou cola é enviado.

Com ou sem máscara. Espaços também valem.
Validar em lote: cole uma coluna da planilha
Ctrl+Enter também valida. Os inválidos aparecem primeiro, com o motivo.

Um CPF é válido no cálculo quando tem 11 dígitos, não é uma sequência repetida e os dois últimos dígitos batem com o módulo 11 dos anteriores. O validador faz essa conta, mostra o passo a passo e, se houver erro, diz qual dígito deveria ser. Ele não informa se o CPF existe ou está regular na Receita Federal.

O que o validador confere

O número passa por estas etapas, nesta ordem. A primeira que falhar vira a mensagem de erro (com o campo vazio, a tela só pede o número):

  1. Limpeza: tira pontos, traço e espaços.
  2. Caracteres: o CPF só tem dígitos. Letra ou símbolo no meio é recusado.
  3. Tamanho: tem de ter 11 dígitos depois da limpeza.
  4. Repetição: sequências como 000.000.000-00 e 999.999.999-99 são recusadas.
  5. Cálculo: o 1º dígito verificador é recalculado com os pesos de 10 a 2, e o 2º com os pesos de 11 a 2.
Algoritmo

Exemplo: onde está o erro

Digite 111.444.777-36. A base 111444777 dá soma 162 com os pesos de 10 a 2, resto 8, e o 1º dígito 3 confere. Na segunda conta, com os pesos de 11 a 2, a soma é 204, o resto é 6 e o 2º dígito deveria ser 5. O validador responde: "O 2º dígito deveria ser 5, e não 6."

Esse tipo de mensagem ajuda a separar erro de digitação de número inventado. Quando só o último dígito está trocado, quase sempre foi um erro ao digitar.

Conta feita com o número 111.444.777-35. Gere ou valide outro acima e a conta muda junto.

1º dígito verificador

Cálculo do 1º dígito verificador: valor, peso e produto de cada caractere
1º dígito111444777
Dígito111444777
Peso1098765432
Produto1098282420282114
soma 162÷ 11 →resto 8→ 11 − 8 =1º DV = 3

Resto 8 é maior que 1, então DV = 11 − 8 = 3.

2º dígito verificador

Cálculo do 2º dígito verificador: valor, peso e produto de cada caractere
2º dígito1114447773
Dígito1114447773
Peso111098765432
Produto111093228243528216
soma 204÷ 11 →resto 6→ 11 − 6 =2º DV = 5

Resto 6 é maior que 1, então DV = 11 − 6 = 5.

Por que 111.111.111-11 é recusado

Faça a conta e você vai ver que 111.111.111-11 passa no módulo 11. O mesmo acontece com as outras sequências de um dígito só. Elas fecham a conta por coincidência da aritmética, não porque alguém tenha esse CPF.

Esses números aparecem muito em formulário, digitados por quem quer pular o campo. Por isso todo validador sério tem uma regra a mais que recusa sequências repetidas. Se o seu sistema aceita 000.000.000-00, falta essa regra.

O que o validador não confere

O dígito verificador só mostra que o número foi montado pela regra. Ele não diz se o CPF foi emitido, a quem pertence nem se está regular.

Para saber a situação cadastral de um CPF, use o serviço de consulta no site da Receita Federal. Este validador não consulta base nenhuma: a conta é feita no seu navegador e o número não é enviado a lugar algum.

O que o 9º dígito diz

O 9º dígito indica a região fiscal onde o CPF foi emitido: 8 é São Paulo, 7 é Rio de Janeiro e Espírito Santo, 0 é Rio Grande do Sul, e assim por diante. A tabela completa está na página do gerador de CPF.

Isso não entra na validação. Um CPF emitido no Paraná continua válido para quem mora em Pernambuco, e a pessoa não troca de número ao se mudar. Não use esse dígito para recusar cadastro nem para deduzir onde a pessoa mora.

Validar uma lista de CPFs

Cole a coluna da planilha no campo de lote, um CPF por linha, com ou sem máscara. Cada linha volta marcada como válida ou inválida, com o motivo, e você pode baixar o resultado em CSV ou em CSV (Excel), que abre com acentos e colunas certas no Excel em português.

É útil para conferir um cadastro antes de importar num sistema de folha, CRM ou ERP. Os problemas mais comuns numa planilha são zeros à esquerda apagados pelo Excel, espaços copiados junto e CPFs com 10 dígitos porque a célula estava como número. Como a validação roda no navegador, os CPFs da lista não saem do seu computador.

Código

Como validar CPF no seu código

Use a regex só para conferir o formato e faça a conta do dígito à parte. Uma regex não consegue calcular o módulo 11, então ela sozinha aceita CPFs com dígito errado.

Para aceitar com ou sem máscara, a expressão é ^\d{3}\.?\d{3}\.?\d{3}-?\d{2}$. Depois, limpe tudo que não for dígito, recuse as sequências repetidas e recalcule os dois dígitos. O código abaixo faz as três coisas em JavaScript, Python e PostgreSQL.

function dvCpf(digitos) {
  const soma = digitos.reduce((s, d, i) => s + d * (digitos.length + 1 - i), 0);
  const resto = soma % 11;
  return resto < 2 ? 0 : 11 - resto;
}

function validarCpf(entrada) {
  const cpf = entrada.replace(/[.\-\s]/g, '');
  if (cpf.length === 0) return { valido: false, motivo: 'vazio' };
  if (!/^[0-9]+$/.test(cpf)) return { valido: false, motivo: 'caractere' };
  if (cpf.length !== 11) return { valido: false, motivo: 'tamanho' };
  if (/^(\d)\1{10}$/.test(cpf)) return { valido: false, motivo: 'repetido' };
  const d = [...cpf].map(Number);
  const dv1 = dvCpf(d.slice(0, 9));
  const dv2 = dvCpf([...d.slice(0, 9), dv1]);
  if (dv1 !== d[9] || dv2 !== d[10]) {
    return { valido: false, motivo: 'dv', esperado: String(dv1) + String(dv2) };
  }
  return { valido: true };
}

validarCpf('111.444.777-36'); // { valido: false, motivo: 'dv', esperado: '35' }
Dúvidas

Perguntas frequentes

Como saber se um CPF é válido?

Recalcule os dois dígitos verificadores pelo módulo 11 e compare com os dois últimos dígitos do número. Se baterem, o CPF tem 11 dígitos e não é uma sequência repetida, ele é válido no cálculo.

CPF válido quer dizer que ele existe?

Não. O cálculo só mostra que o número segue a regra. Para saber se o CPF foi emitido e está regular, consulte a situação cadastral no site da Receita Federal.

Por que 000.000.000-00 não é aceito?

Porque as sequências de um dígito só fecham o módulo 11 por coincidência, mas não são CPFs reais. Validadores recusam esses números com uma regra extra.

Qual a regex para validar CPF?

Para o formato, com ou sem máscara: ^\d{3}\.?\d{3}\.?\d{3}-?\d{2}$. A regex não confere o dígito verificador, então faça o cálculo do módulo 11 depois dela.

Posso validar vários CPFs de uma vez?

Sim. Cole uma coluna da planilha, um CPF por linha, e veja quais são inválidos e por quê. O resultado pode ser baixado em CSV ou CSV (Excel).

O CPF que eu digito fica salvo?

Não. A validação roda no seu navegador, e o número não é enviado a nenhum servidor nem guardado.

Ferramentas

Veja também

Atualizado em 14/11/2026.