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 vez de copiar dados de clientes. A LGPD trata o CPF como dado pessoal e exige que o uso se limite ao necessário. Gere uma lista com semente, versione no repositório como fixture e rejeite no ambiente de teste qualquer CPF fora dela.
Quem procura “CPF válido para teste” quer um número que o formulário aceite. Dá para ter isso em segundos, sem tocar em dado de cliente. O trabalho de verdade é outro: garantir que o seu ambiente de teste não tenha CPF real escondido. O gerador de CPF resolve a primeira parte. O resto deste texto cobre a segunda.
O que a LGPD diz que importa para teste
Pela Lei 13.709/2018, dado pessoal é a informação relacionada a pessoa natural identificada ou identificável (art. 5º, inciso I). O CPF se encaixa. Dois princípios do art. 6º pesam no ambiente de teste:
- Finalidade (inciso I): o tratamento tem de ter propósito legítimo, específico e informado ao titular, sem uso posterior incompatível. Dado coletado para emitir uma fatura não foi coletado para alimentar o seu ambiente de homologação.
- Necessidade (inciso III): usar o mínimo necessário. Para testar uma máscara ou um dígito verificador, você não precisa de uma pessoa, precisa de um número bem formado.
O art. 46 exige medidas técnicas e administrativas para proteger o dado de acesso não autorizado e de vazamento. Ambientes de teste costumam ter senha fraca, banco compartilhado e logs abertos, ou seja, a proteção mais frágil da empresa. As sanções do art. 52 incluem advertência e multa de até 2% do faturamento da empresa no Brasil no último exercício, limitada a R$ 50 milhões por infração. Esse texto não é consultoria jurídica; para o seu caso, fale com quem cuida de privacidade na empresa.
Um ponto de atenção é o dado “anonimizado”. O art. 12 diz que ele só deixa de ser pessoal se a anonimização não puder ser revertida com meios razoáveis. Trocar um dígito de um CPF real ou embaralhar a lista nem sempre cumpre isso. Gerar números do zero evita a discussão.
Três fontes seguras de CPF e CNPJ para teste
1. Gerador local, com semente. O número sai de um cálculo, não de um cadastro. Com a mesma semente, a lista é sempre a mesma. Estes cinco CPFs foram gerados pela biblioteca do site com a semente 2026 e, ao rodar de novo, vieram idênticos:
| CPF fictício |
|---|
436.612.682-60 |
006.311.349-05 |
502.279.972-39 |
242.683.900-73 |
377.396.630-00 |
Para CNPJ, a mesma semente dá, em formato numérico, 43.661.268/0001-87, 20.063.113/0001-43 e 49.502.279/0001-09. Em formato alfanumérico, GB.NM5.7OS/0001-40, A1.2MD.46B/0001-07 e EX.K07.9SY/0001-52. O gerador de CNPJ faz os dois formatos.
2. O Simulador Nacional de CNPJ, da Receita Federal. Segundo a Receita, ele gera até 1.000 CNPJs fictícios, de matriz e de filial, por usuário, valida as regras de formação e roda no navegador, para testes sem dados reais. A Receita cita a conformidade com a LGPD como uma das vantagens. Vale para CNPJ. Para CPF, não confirmamos nenhuma ferramenta oficial equivalente.
3. Fixtures versionadas. Gere a lista uma vez, grave num arquivo (JSON ou SQL) no repositório e faça todo teste ler dele. É o que permite o passo seguinte, a conferência.
Inclua os casos inválidos
Um teste que só tem números bons não prova que o formulário recusa os ruins. Junto com a lista, gere defeitos de propósito. Estes saíram da biblioteca do site:
| Número | Defeito |
|---|---|
16365482581 |
dígito verificador errado |
052196010084 |
12 dígitos, um a mais |
77777777777 |
todos os dígitos iguais |
O terceiro é um caso clássico: a sequência repetida passa na conta do dígito, mas nenhum validador deve aceitá-la.
Como saber se há CPF real no seu ambiente de teste
Você não consegue provar que um número é de uma pessoa sem consultar um cadastro, e não deve consultar. O que dá para fazer é o inverso: definir que, no ambiente de teste, só valem os CPFs da lista de fixtures, e tratar o resto como suspeito. O script abaixo percorre um texto (um dump, um log), acha o que parece CPF, confere o dígito e devolve o que passa na conta mas não está na lista:
const fixtures = new Set(['43661268260', '00631134905', '50227997239']);
function cpfValido(texto) {
const d = texto.replace(/\D/g, '');
if (d.length !== 11 || /^(\d)\1{10}$/.test(d)) return false;
const dv = (n) => {
let soma = 0;
for (let i = 0; i < n; i++) soma += Number(d[i]) * (n + 1 - i);
const resto = soma % 11;
return resto < 2 ? 0 : 11 - resto;
};
return dv(9) === Number(d[9]) && dv(10) === Number(d[10]);
}
function suspeitos(texto) {
const achados = texto.match(/\b\d{3}\.?\d{3}\.?\d{3}-?\d{2}\b/g) ?? [];
return achados.filter((c) => cpfValido(c) && !fixtures.has(c.replace(/\D/g, '')));
}
Rodado sobre um texto com cinco linhas, o script ignorou os dois CPFs que estavam na lista, o 111.111.111-11 (repetido) e o 123.456.789-00 (dígito errado), e devolveu só 242.683.900-73. Esse número é fictício e foi gerado pela biblioteca. Num ambiente seu, um resultado assim é o sinal para investigar de onde ele veio.
O script acha o que passa na conta, não o que é de uma pessoa. Um falso positivo é um número qualquer de 11 dígitos que por acaso fecha o dígito, o que acontece com cerca de 1 em 100 sequências aleatórias. Um falso negativo é um CPF digitado com erro, que o script ignora. Use como alarme, não como prova.
O que mais evitar
- Cópia de produção “só para uma tarefa”. Vira cópia permanente. Gere do zero.
- CPF de conhecido, de amigo, o seu. O número é de uma pessoa, ela concordando ou não.
- Usar o número gerado fora do teste. Cadastro, compra ou crédito com número inventado pode configurar crime, como falsidade ideológica (art. 299 do Código Penal) ou estelionato (art. 171). O número serve só para testar software.
- Prints e logs com CPF. Mesmo fictício, acostuma a equipe a ver CPF circulando. Prefira mascarar nos logs.
Resumo para o seu time
- Gere a lista com semente e guarde no repositório.
- Inclua inválidos de propósito.
- Rejeite, no ambiente de teste, CPF fora da lista.
- Rode o varredor de vez em quando sobre dumps e logs.
- Documente a regra: dado real não entra em teste.
Para montar a lista agora, abra o gerador de CPF. Se você precisa de várias colunas de uma vez (CPF, CNPJ, PIS, título), a página de massa de teste gera tudo junto. Os números são fictícios e valem apenas para teste de software.
Perguntas frequentes
Posso usar o CPF de um colega ou o meu em teste?
Evite. CPF de pessoa real é dado pessoal, mesmo quando é o seu ou o de alguém que concordou. Num ambiente de teste ele acaba em logs, backups e prints. Gerar um número fictício dá o mesmo resultado sem esse custo.
CPF gerado é válido?
É válido só na conta: os dois dígitos verificadores batem. Ele não foi emitido pela Receita para ninguém e não deve ser usado para cadastro, compra ou qualquer coisa fora de teste de software.
O CNPJ também é dado pessoal pela LGPD?
A lei define dado pessoal como informação de pessoa natural. O CNPJ de uma empresa não se encaixa, mas em MEI e empresa individual o número se liga a uma pessoa. Por precaução, trate os dois da mesma forma no ambiente de teste.
Existe gerador oficial de CNPJ para teste?
Sim, para o CNPJ: a Receita Federal oferece o Simulador Nacional de CNPJ, que gera até 1.000 números fictícios de matriz e filial e valida as regras de formação, no navegador. Para CPF, use um gerador local.
Um número gerado pode coincidir com o de uma pessoa real?
Pode, por acaso, porque o gerador sorteia entre todas as combinações que passam na conta. Por isso o número só serve em teste e nunca deve ser usado para identificar ninguém.
Fontes
Leia também
Mó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/2026 DocumentosNIT, NIS, PIS e PASEP: qual a diferença e qual número usar
NIT é o número de inscrição do trabalhador na Previdência Social (INSS). Quem já tem PIS, PASEP ou NIS usa esse mesmo número como NIT e não ganha o…
14/11/2026Veja também
Atualizado em 14/11/2026.