# 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.

- Endereço oficial: https://pradev.com.br/gerador-de-cpf
- Categoria: Documentos brasileiros
- Tipo: Gerador
- Atualizado em: 2026-09-30
- Autor: Leonardo Gaertner (https://pradev.com.br/sobre)
- Preço: grátis, sem cadastro. O processamento acontece no navegador de quem usa.

## 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

```text
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)}`;
}
```

_JavaScript_

```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:]}"
```

_Python_

```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);
}
```

_PHP_

## 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

- [Como gerar CPF e CNPJ válidos para testes em código](https://pradev.com.br/guias/como-gerar-cpf-e-cnpj-para-testes): Como 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 PHP](https://pradev.com.br/guias/como-validar-cpf-em-javascript): Aprenda a calcular os dígitos verificadores do CPF e veja funções prontas e testadas para validar CPF em JavaScript, Python e PHP.

## Ferramentas relacionadas

- [Validador de CPF](https://pradev.com.br/validador-de-cpf): Confira se um CPF é válido pelo cálculo dos dígitos verificadores. Grátis, sem cadastro, e o número não sai do seu navegador.
- [Gerador de CNPJ](https://pradev.com.br/gerador-de-cnpj): Gere CNPJ válido para testes, no formato numérico ou no novo alfanumérico da Receita Federal. Grátis, direto no navegador.
- [Validador de CNPJ](https://pradev.com.br/validador-de-cnpj): Confira se um CNPJ é válido, inclusive no novo formato alfanumérico com letras. Grátis, sem cadastro, direto no navegador.
- [Gerador de CNH](https://pradev.com.br/gerador-de-cnh): Gere número de CNH válido para testar sistemas e formulários. Os dois dígitos verificadores estão certos. Grátis, no navegador, só para testes.
- [Gerador de Pessoas](https://pradev.com.br/gerador-de-pessoas): Gere pessoas fictícias com nome, CPF válido, nascimento, e-mail, celular e endereço para testar sistemas. Exporta JSON e CSV. Grátis, no navegador.
- [Gerador de PIS/PASEP](https://pradev.com.br/gerador-de-pis-pasep): Gere número de PIS, PASEP, NIS ou NIT válido para testar sistemas de RH e cadastros. Com ou sem pontuação, grátis, no navegador, só para testes.
