Pular para o conteúdo
Massa de teste

CPF e CNPJ válidos para teste: de onde tirar sem usar dado real

Publicado em · Atualizado em · 6 min de leitura · Equipe Gerador Brasil

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

  1. Gere a lista com semente e guarde no repositório.
  2. Inclua inválidos de propósito.
  3. Rejeite, no ambiente de teste, CPF fora da lista.
  4. Rode o varredor de vez em quando sobre dumps e logs.
  5. 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.

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.
Dúvidas

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

Blog

Leia também

Ferramenta

Veja também

Atualizado em 14/11/2026.