Gerador de CPF
Gere CPFs fictícios com os dígitos certos para testar cadastro, formulário e integração.
Número gerado
436.612.682-60
CSV (Excel) abre com dois cliques no Excel em português (ponto e vírgula, acentos certos). CSV usa vírgula, para programas e scripts. SQL sai sempre sem máscara, para caber em CHAR(14) (CNPJ) ou CHAR(11) (CPF).
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:
- Escolha o estado de emissão, se o seu teste depende dele. Sem estado, a região é sorteada.
- Marque com máscara (
111.444.777-35) ou sem (11144477735). - Informe a quantidade, de 1 a 10.000, e uma semente se quiser repetir a lista depois.
- 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.
| 9º dígito | Estados |
|---|---|
| 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 |
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:
| Dígito | 1 | 1 | 1 | 4 | 4 | 4 | 7 | 7 | 7 |
|---|---|---|---|---|---|---|---|---|---|
| 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.
Digite um número completo para ver a conta.
Conta feita com o número 111.444.777-35.
Gere ou valide outro acima e a conta muda junto.
1º dígito verificador
| 1º dígito | 1 | 1 | 1 | 4 | 4 | 4 | 7 | 7 | 7 |
|---|---|---|---|---|---|---|---|---|---|
| Dígito | 1 | 1 | 1 | 4 | 4 | 4 | 7 | 7 | 7 |
| Peso | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
| Produto | 10 | 9 | 8 | 28 | 24 | 20 | 28 | 21 | 14 |
Resto 8 é maior que 1, então DV = 11 − 8 = 3.
2º dígito verificador
| 2º dígito | 1 | 1 | 1 | 4 | 4 | 4 | 7 | 7 | 7 | 3 |
|---|---|---|---|---|---|---|---|---|---|---|
| Dígito | 1 | 1 | 1 | 4 | 4 | 4 | 7 | 7 | 7 | 3 |
| Peso | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
| Produto | 11 | 10 | 9 | 32 | 28 | 24 | 35 | 28 | 21 | 6 |
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 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 import random
def dv_cpf(digitos):
soma = sum(d * (len(digitos) + 1 - i) for i, d in enumerate(digitos))
resto = soma % 11
return 0 if resto < 2 else 11 - resto
def gerar_cpf(rng: random.Random, regiao=None) -> str:
while True:
d = [rng.randrange(10) for _ in range(8)]
d.append(rng.randrange(10) if regiao is None else regiao)
if len(set(d)) > 1: # evita 111.111.111-11
break
d.append(dv_cpf(d))
d.append(dv_cpf(d))
return "".join(map(str, d))
rng = random.Random(42) # mesma semente, mesma lista
massa = [gerar_cpf(rng, regiao=8) for _ in range(100)] -- CPF sempre como texto: coluna numérica apaga o zero à esquerda.
-- O SQL baixado vem sempre sem máscara (11 dígitos), por isso CHAR(11) basta.
CREATE TABLE documentos_teste (
cpf CHAR(11) NOT NULL
);
INSERT INTO documentos_teste (cpf) VALUES ('11144477735'); 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.
Leia também
CPF e CNPJ válidos para teste: de onde tirar sem usar dado real
Para testar com CPF e CNPJ válidos, use números gerados por cálculo, que passam na conta do dígito verificador mas não saem de cadastro nenhum, em…
14/11/2026 DocumentosMódulo 11 explicado: CPF, CNPJ, PIS, título e RENAVAM
Módulo 11 é a conta que produz o dígito verificador: você multiplica cada dígito por um peso, soma os produtos, divide por 11 e usa o resto. Na mai…
14/11/2026Veja também
Validar CPF
Diz se o CPF confere e, se não, qual dígito está errado.
502.931.507-10 · VálidoGerador de PIS
PIS, PASEP, NIS e NIT fictícios, com a conta do dígito e a geração em lote.
137.12274.71-7Massa de teste
Vários tipos de número num arquivo só, uma coluna por tipo, até 10.000 linhas.
cnpj,cpf,pisGerador de CNPJ
Numérico ou alfanumérico, de 1 a 10.000, em CSV, JSON ou SQL.
13.712.274/0001-55CNPJ alfanumérico
O formato novo, com letras, em uso desde jul/2026. Gere, valide e veja a conta.
12.ABC.345/01DE-35Atualizado em 14/11/2026.