Gerador de CPF válido para testes
O gerador de CPF cria números de CPF matematicamente válidos, isto é, com os dois dígitos verificadores corretos, para testar formulários, cadastros e validações. Os números não são emitidos pela Receita Federal e devem ser usados apenas em testes de software.
000.000.000-00
só pra teste, tá? esse CPF não foi emitido por ninguém.
Um número gerado pode coincidir com o CPF de uma pessoa real por acaso. Use só em testes de software.
Achou um resultado errado ou tem uma sugestão? Avise por e-mail.
Como usar
- Clique em Gerar outro para criar um novo número.
- Marque ou desmarque Com pontuação, conforme o campo que você vai preencher.
- Clique em Copiar e cole no seu formulário, teste ou planilha.
Como funciona
O CPF tem 11 dígitos: nove formam o número-base e os dois últimos são dígitos verificadores, calculados a partir dos anteriores. O gerador sorteia os nove primeiros dígitos e calcula os dois últimos.
Para o primeiro dígito verificador, multiplica-se cada um dos nove dígitos por pesos de 10 a 2, soma-se tudo e divide-se por 11. Se o resto for menor que 2, o dígito é 0; caso contrário, é 11 menos o resto. O segundo dígito segue a mesma conta, agora com dez dígitos e pesos de 11 a 2.
O nono dígito indica a região fiscal em que o CPF foi emitido (por exemplo, 8 para São Paulo). Como aqui o número é sorteado, esse dígito não corresponde a nenhuma pessoa nem a um estado de verdade.
Sequências com todos os dígitos iguais, como 111.111.111-11, passam na conta mas são recusadas por praticamente todos os validadores, por isso o gerador as evita.
Exemplo de cálculo com 529.982.247-25
Nove primeiros dígitos: 5 2 9 9 8 2 2 4 7
Soma com pesos de 10 a 2: 295
295 dividido por 11 deixa resto 9, então o primeiro dígito é 11 − 9 = 2
Com esse 2 incluído (dez dígitos, pesos de 11 a 2): soma 347
347 dividido por 11 deixa resto 6, então o segundo dígito é 11 − 6 = 5
Resultado: 529.982.247-25
Em código
Para gerar CPFs válidos em testes automatizados, sorteie os 9 primeiros dígitos, descarte sequências repetidas e calcule os dois verificadores.
// Gera um CPF matematicamente válido, só para testes
function gerarCPF() {
const n = Array.from({ length: 9 }, () => Math.floor(Math.random() * 10));
// 000.000.000-00, 111.111.111-11 e parecidos passam no cálculo, mas são recusados
if (n.every((d) => d === n[0])) return gerarCPF();
const digito = (base) => {
const soma = base.reduce((s, d, i) => s + d * (base.length + 1 - i), 0);
const resto = soma % 11;
return resto < 2 ? 0 : 11 - resto;
};
n.push(digito(n));
n.push(digito(n));
const s = n.join('');
return `${s.slice(0, 3)}.${s.slice(3, 6)}.${s.slice(6, 9)}-${s.slice(9)}`;
} import random
def gerar_cpf() -> str:
"""Gera um CPF matematicamente válido, só para testes."""
n = [random.randint(0, 9) for _ in range(9)]
if len(set(n)) == 1: # sequências repetidas são recusadas pelos validadores
return gerar_cpf()
def digito(base: list[int]) -> int:
soma = sum(d * (len(base) + 1 - i) for i, d in enumerate(base))
resto = soma % 11
return 0 if resto < 2 else 11 - resto
n.append(digito(n))
n.append(digito(n))
s = "".join(map(str, n))
return f"{s[:3]}.{s[3:6]}.{s[6:9]}-{s[9:]}" <?php
// Gera um CPF matematicamente válido, só para testes
function gerarCpf(): string
{
do {
$n = array_map(fn() => random_int(0, 9), range(1, 9));
} while (count(array_unique($n)) === 1); // sequências repetidas são recusadas
$digito = function (array $base): int {
$soma = 0;
foreach ($base as $i => $d) {
$soma += $d * (count($base) + 1 - $i);
}
$resto = $soma % 11;
return $resto < 2 ? 0 : 11 - $resto;
};
$n[] = $digito($n);
$n[] = $digito($n);
return vsprintf('%d%d%d.%d%d%d.%d%d%d-%d%d', $n);
} Perguntas frequentes
O CPF gerado é real?
Não. O número não é emitido pela Receita Federal. Ele apenas respeita o cálculo dos dois dígitos verificadores, por isso passa em validações de formulário. Por acaso, pode coincidir com o CPF de uma pessoa real, então use somente em testes de software.
Posso usar o CPF gerado em cadastros, compras ou documentos?
Não. Ele serve apenas para testar sistemas e formulários. Para qualquer situação que exija o seu documento, use o seu CPF verdadeiro.
Por que o gerador nunca cria 111.111.111-11?
Porque sequências de dígitos iguais passam no cálculo, mas são rejeitadas pela maioria dos sistemas. Evitá-las deixa os números gerados mais úteis para testes.
O que significa o nono dígito do CPF?
Ele indica a região fiscal de emissão: 1 para DF, GO, MS, MT e TO; 2 para AC, AP, AM, PA, RO e RR; 3 para CE, MA e PI; 4 para AL, PB, PE e RN; 5 para BA e SE; 6 para MG; 7 para ES e RJ; 8 para SP; 9 para PR e SC; 0 para RS.
Guias sobre este assunto
- Como gerar CPF e CNPJ válidos para testes em códigoComo gerar CPF e CNPJ matematicamente válidos para testes em JavaScript, Python e PHP, o cálculo dos dígitos e os cuidados para não usar dados de pessoas reais.
- Como validar CPF em JavaScript, Python e PHPAprenda a calcular os dígitos verificadores do CPF e veja funções prontas e testadas para validar CPF em JavaScript, Python e PHP.
Outras ferramentas que podem ajudar
- Validador de CPFConfira se um CPF é válido pelo cálculo dos dígitos verificadores
- Gerador de CNPJGere CNPJ válido para testes, no formato numérico ou no novo alfanumérico da Receita Federal
- Validador de CNPJConfira se um CNPJ é válido, inclusive no novo formato alfanumérico com letras
- Gerador de CNHGere número de CNH válido para testar sistemas e formulários
- Gerador de PessoasGere pessoas fictícias com nome, CPF válido, nascimento, e-mail, celular e endereço para testar sistemas
- Gerador de PIS/PASEPGere número de PIS, PASEP, NIS ou NIT válido para testar sistemas de RH e cadastros