Pular para o conteúdo

Gerador de CPF

Gere CPFs fictícios com os dígitos certos para testar cadastro, formulário e integração.

Gerar CPF

Números fictícios, calculados no seu navegador. Nada é enviado.

Mais opções: semente, inválidos de propósito
A mesma semente gera a mesma lista, para testes automatizados. Vazio = sorteia.
Para teste negativo: o seu sistema deve recusar.

Número gerado

CPF Fictício, apenas para teste

436.612.682-60

Números fictícios, apenas para teste de software. Eles são sorteados no seu navegador e seguem a regra do dígito verificador, mas não vêm de nenhum cadastro. Usar documento falso para enganar alguém é crime.

Clique em Gerar e o painel devolve um CPF fictício com os dois dígitos verificadores corretos, pronto para passar na validação do seu sistema em teste. Você pode escolher o estado de emissão, pedir com ou sem máscara e gerar até 10.000 de uma vez em CSV, CSV (Excel), JSON ou SQL. Os números são sorteados no seu navegador e servem só para teste de software.

Como usar o gerador

Para um CPF só, basta clicar em Gerar. Para uma massa de teste:

  1. Escolha o estado de emissão, se o seu teste depende dele. Sem estado, a região é sorteada.
  2. Marque com máscara (111.444.777-35) ou sem (11144477735).
  3. Informe a quantidade, de 1 a 10.000, e uma semente se quiser repetir a lista depois.
  4. Clique em Gerar, copie ou baixe em lista, CSV, CSV (Excel), JSON ou SQL.

Como o CPF é formado

O CPF tem 11 dígitos. Os 9 primeiros formam o número-base e os 2 últimos são os dígitos verificadores. Não há letras no CPF, e a máscara oficial é 000.000.000-00.

O 9º dígito indica a região fiscal onde o CPF foi emitido. Por isso o gerador consegue criar números "de São Paulo" ou "do Rio Grande do Sul": ele fixa esse dígito e sorteia os outros oito.

Região fiscal pelo 9º dígito do CPF
9º dígitoEstados
0 RS
1 DF, GO, MS, MT, TO
2 AC, AM, AP, PA, RO, RR
3 CE, MA, PI
4 AL, PB, PE, RN
5 BA, SE
6 MG
7 ES, RJ
8 SP
9 PR, SC
Algoritmo

Como o dígito verificador é calculado

Os dois dígitos saem de um módulo 11, com pesos que diminuem da esquerda para a direita. Veja com a base 111.444.777.

Para o 1º dígito, multiplique os 9 dígitos pelos pesos de 10 a 2 e some:

1º dígito verificador de 111.444.777
Dígito111444777
Peso 10 9 8 7 6 5 4 3 2
Produto 10 9 8 28 24 20 28 21 14

A soma dá 162. O resto da divisão por 11 é 8, então o 1º dígito é 11 − 8 = 3. Quando o resto é 0 ou 1, o dígito é 0.

Para o 2º dígito, acrescente o 3 e use os pesos de 11 a 2 nos 10 dígitos. A soma dá 204, o resto é 6 e o dígito é 11 − 6 = 5. O CPF completo é 111.444.777-35.

No painel, o passo a passo mostra essa conta com o CPF que você gerou.

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.

CPF em massa para teste

O lote gera até 10.000 CPFs por vez, sem repetidos. Em CSV, a coluna se chama cpf; escolha CSV (Excel) se for abrir no Excel em português, que aí os acentos e as colunas saem certos. Em SQL, sai um INSERT INTO documentos_teste (cpf) VALUES (...) pronto para a base de homologação, sempre sem máscara. Em JSON, um array de strings para usar como fixture.

Guarde sempre o CPF como texto, em CHAR(11). Se for para uma coluna numérica, os CPFs que começam com zero perdem dígitos e deixam de validar. Isso vale também para o Excel: se for editar a lista lá, mantenha a coluna como texto.

Com a semente, a mesma configuração devolve sempre a mesma lista. Assim o teste de ponta a ponta não quebra porque o dado mudou entre uma execução e outra. Para conferir uma lista que já existe, use o validador de CPF.

Se a tabela tem CPF junto com PIS, título de eleitor ou CNPJ, gere todas as colunas de uma vez na página de massa de teste.

CPFs inválidos para teste negativo

Para conferir se o seu formulário recusa o que deve, gere também números com defeito:

  • Dígito verificador errado, com a base correta.
  • Tamanho errado: 10 ou 12 dígitos.
  • Todos os dígitos iguais, como 111.111.111-11. Eles passam na conta, mas nenhum validador deve aceitar.

Teste também o que o usuário faz de verdade: colar com máscara, com espaço no fim, com ponto no lugar errado.

Por que usar CPF fictício no teste

CPF é dado pessoal pela LGPD (Lei 13.709/2018). Copiar CPFs de clientes reais para o ambiente de desenvolvimento espalha esses dados por máquinas, logs e backups que ninguém controla, e um vazamento ali é tão grave quanto em produção.

Um CPF gerado tem o mesmo formato e passa pelas mesmas regras, sem expor ninguém. Para a maioria dos testes de cadastro, validação, máscara e integração, é tudo o que você precisa.

Cuidados legais

Os CPFs são sorteados no seu navegador e não vêm de nenhum cadastro. Como já existem muitos CPFs emitidos, um número sorteado pode coincidir com o de uma pessoa real. Não use o resultado para identificar ninguém.

Usar CPF inventado para fazer cadastro, compra, empréstimo ou qualquer coisa que engane outra pessoa pode configurar crime, como falsa identidade (art. 307 do Código Penal), falsidade ideológica (art. 299) e estelionato (art. 171).

Código

Código pronto para o seu projeto

// DV do CPF: pesos 10..2 para o 1º dígito e 11..2 para o 2º.
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;
}

// regiao: 9º dígito (0 a 9). Sem valor, sorteia.
function gerarCpf(regiao) {
  const d = Array.from({ length: 8 }, () => Math.floor(Math.random() * 10));
  d.push(regiao ?? Math.floor(Math.random() * 10));
  if (d.every((x) => x === d[0])) return gerarCpf(regiao); // evita 111.111.111-11
  d.push(dvCpf(d));
  d.push(dvCpf(d));
  return d.join('');
}

gerarCpf(8); // CPF "de SP", sem máscara
Dúvidas

Perguntas frequentes

O CPF gerado é válido?

Ele é válido só no cálculo: os dígitos verificadores estão certos e o número passa na conferência do dígito do seu sistema em teste. Mas não foi emitido pela Receita Federal para ninguém e é recusado em qualquer consulta à Receita, então só serve para teste de software.

Como gerar CPF de um estado específico?

Escolha o estado no painel. O gerador fixa o 9º dígito, que indica a região fiscal de emissão, e sorteia o resto. Por exemplo, 8 para SP e 7 para RJ e ES.

Dá para gerar CPF em massa?

Sim. Até 10.000 por vez, sem repetidos, em lista, CSV, CSV (Excel), JSON ou SQL. Use uma semente se quiser a mesma lista em outra execução.

O CPF gerado pode ser de uma pessoa real?

Pode, por coincidência, porque o número é sorteado entre todas as combinações que passam na conta. O site não consulta nenhuma base e não sabe de quem seria. Por isso ele só deve ser usado em teste.

Posso usar CPF gerado para fazer cadastro em site?

Não. Usar CPF falso para se passar por outra pessoa ou obter vantagem pode ser crime. Use o gerador só para testar sistemas que você desenvolve ou homologa.

Qual o tipo de coluna para guardar CPF?

Use CHAR(11), guardando só os dígitos. Coluna numérica apaga o zero à esquerda e quebra a validação.

Blog

Leia também

Ferramentas

Veja também

Atualizado em 14/11/2026.