Gerador e validador de CPF
Gera CPF que passa no dígito verificador e valida os que você colar, dizendo por que cada um foi recusado. Tudo acontece no seu navegador — nada é enviado para nenhum servidor. Para popular base de teste, exercitar máscara de campo e conferir validação de formulário.
Gerador e validador
0 gerado(s)
Como o dígito verificador do CPF funciona
Um CPF tem 11 dígitos: nove de base e dois verificadores, calculados por módulo 11. O primeiro sai da multiplicação dos nove dígitos por pesos de 10 a 2; some tudo e tome o resto da divisão por 11. Se o resto for menor que 2, o dígito é zero; senão, é 11 menos o resto.
O segundo repete o processo já incluindo o primeiro dígito, agora com pesos de 11 a 2. É o mesmo esquema do CNPJ — mudam a quantidade de posições e os pesos.
A linha que falta em quase toda implementação caseira
111.111.111-11 passa no módulo 11. E 000.000.000-00, e os outros oito de dígito repetido. Eles satisfazem o cálculo por coincidência matemática, nunca foram emitidos, e são recusados por convenção em todo sistema sério. Um validador que implementa só a conta aceita os onze — e o cadastro passa a aceitar lixo que ninguém detecta até virar problema de dado.
O mesmo cálculo em C#
// O mesmo cálculo que a ferramenta faz, em C#
static int DigitoCpf(string baseCpf)
{
var peso = baseCpf.Length + 1;
var soma = 0;
foreach (var c in baseCpf)
{
soma += (c - '0') * peso--;
}
var resto = soma % 11;
return resto < 2 ? 0 : 11 - resto;
}
static bool CpfValido(string entrada)
{
var cpf = new string(entrada.Where(char.IsDigit).ToArray());
if (cpf.Length != 11) return false;
// 🔴 Os onze repetidos PASSAM no módulo 11 e são inválidos por convenção.
// É a linha que falta em quase toda implementação caseira.
if (cpf.Distinct().Count() == 1) return false;
var raiz = cpf[..9];
var d1 = DigitoCpf(raiz);
var d2 = DigitoCpf(raiz + d1);
return cpf[9] - '0' == d1 && cpf[10] - '0' == d2;
}Perguntas frequentes
Os CPFs gerados aqui são de pessoas reais?
Podem ser, e é importante entender por quê. O gerador produz um número que passa no cálculo do dígito verificador — e esse cálculo não consulta cadastro nenhum, então não tem como saber se o número já foi emitido. Como a Receita já emitiu centenas de milhões de CPFs, é provável que um número gerado coincida com o de alguém. Por isso eles servem para exercitar software, e não para se identificar.
Por que 111.111.111-11 é recusado se ele passa no cálculo?
Porque os onze dígitos repetidos satisfazem o módulo 11 por coincidência matemática, mas nunca foram emitidos e são recusados por convenção em todo sistema sério — inclusive nos da Receita. É a falha mais comum em validador escrito à mão: quem implementa só o cálculo aceita 000.000.000-00, 111.111.111-11 e os outros oito, e o cadastro passa a aceitar lixo. Esta ferramenta recusa os onze casos, tanto ao gerar quanto ao validar.
Como o dígito verificador do CPF é calculado?
São dois dígitos, cada um por módulo 11. Para o primeiro, multiplique os nove dígitos da base por pesos de 10 até 2, some, e tome o resto da divisão por 11: se o resto for menor que 2, o dígito é zero; senão é 11 menos o resto. Para o segundo, repita incluindo o primeiro dígito já calculado, agora com pesos de 11 até 2. É o mesmo esquema do CNPJ, mudando só a quantidade de posições e os pesos.
Posso usar CPF gerado em ambiente de homologação?
Sim, e é exatamente para isso que a ferramenta existe. A recomendação prática é manter o dado de teste separado do de produção e nunca copiar base de produção para homologação sem anonimizar — a LGPD trata dado pessoal do mesmo jeito nos dois ambientes, e CPF é dado pessoal. Gerar é justamente a alternativa a copiar.
Outras ferramentas
Veja também o gerador de CNPJ, que já cobre o formato alfanumérico em vigor desde julho de 2026, e o gerador de RG. Todas em ferramentas para desenvolvedor.
Receba os próximos artigos
Conteúdo técnico de .NET direto no seu e-mail. Sem spam, e você sai quando quiser.