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.

Atualizado em · Por Leonardo Gaertner

000.000.000-00

só pra teste, tá? esse CPF não foi emitido por ninguém.

Achou um resultado errado ou tem uma sugestão? Avise por e-mail.

Como usar

  1. Clique em Gerar outro para criar um novo número.
  2. Marque ou desmarque Com pontuação, conforme o campo que você vai preencher.
  3. 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.

JavaScript
// 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)}`;
}
Python
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
<?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.