utildev
← Blog
Geradores de Identidade6 min

Como gerar CPF e CNPJ válidos para testes

Aprenda o algoritmo de validação do CPF e CNPJ, por que usar dados fictícios em testes é uma prática essencial e como evitar erros comuns.

CPF (Cadastro de Pessoas Físicas) e CNPJ (Cadastro Nacional da Pessoa Jurídica) são documentos fundamentais em sistemas brasileiros. Desenvolver e testar sistemas que os processam exige dados válidos — mas usar CPFs e CNPJs reais de pessoas ou empresas em ambientes de desenvolvimento viola a LGPD e representa um risco de segurança. A solução é gerar números fictícios que passam na validação matemática.

O algoritmo de validação do CPF

Um CPF tem 11 dígitos: 9 dígitos base + 2 dígitos verificadores. O primeiro dígito verificador é calculado multiplicando os 9 primeiros dígitos pelos pesos 10, 9, 8, 7, 6, 5, 4, 3, 2, somando os produtos, calculando o resto da divisão por 11. Se o resto for 0 ou 1, o dígito é 0; caso contrário, é 11 menos o resto. O segundo dígito usa os 10 primeiros dígitos com pesos 11 a 2.

function validarCPF(cpf) {
  cpf = cpf.replace(/\D/g, '');
  if (cpf.length !== 11) return false;
  // Rejeita sequências iguais (111.111.111-11 é inválido)
  if (/^(\d)\1+$/.test(cpf)) return false;
  const calc = (len) => {
    let sum = 0;
    for (let i = 0; i < len; i++) sum += +cpf[i] * (len + 1 - i);
    const r = (sum * 10) % 11;
    return r === 10 ? 0 : r;
  };
  return calc(9) === +cpf[9] && calc(10) === +cpf[10];
}
CPFs com todos os dígitos iguais (000.000.000-00, 111.111.111-11, etc.) são matematicamente "válidos" pelo algoritmo mas são rejeitados pela Receita Federal. Sempre rejeite esses casos nos seus validadores.

O algoritmo do CNPJ

O CNPJ tem 14 dígitos: 12 dígitos base + 2 verificadores. O cálculo é similar ao CPF, mas com pesos diferentes. Para o primeiro verificador, os pesos são 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 (aplicados aos 12 primeiros dígitos). Para o segundo, os pesos são 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 (aplicados aos 13 primeiros). A fórmula de mod 11 é a mesma.

Por que usar dados fictícios em testes?

  • LGPD: usar CPFs reais em ambientes de dev/teste viola a Lei Geral de Proteção de Dados
  • Segurança: dados reais em logs, dumps e ambientes não-produtivos representam risco de vazamento
  • Reprodutibilidade: dados fictícios são controláveis e consistentes entre execuções de teste
  • Automação: é fácil gerar grandes volumes de dados fictícios para testes de carga

Use os geradores de CPF e CNPJ do UtilDev para obter números matematicamente válidos instantaneamente. Todos os valores gerados são fictícios, nunca pertencem a pessoas ou empresas reais.

Ferramentas relacionadas

Gerador de CPF
Gere CPFs válidos com validação de dígitos verificadores
Gerador de CNPJ
Gere CNPJs válidos com validação de dígitos verificadores