Gerador de CPF Online — Válido por Estado, NIF, DNI e CF

Gerador de CPF Online — Válido por Estado, NIF, DNI e CF

Gere e valide CPF (Brasil), NIF (Portugal), DNI (Espanha), Codice Fiscale (Itália) e NIR (França) para testes. Grátis, 100% no browser, sem cadastro.

Atualizado em maio de 2026

Gerador

CPF

..-

Validador

Relatório de Validação

Aguardando entrada para analisar…

Gerador de CPF Online Grátis — Válido, Com Validador e por Estado

Gere CPFs matematicamente válidos para testes de formulários, APIs e sistemas — prontos para passar em qualquer validação de módulo 11. Além do CPF, a ferramenta gera e valida documentos fiscais de Portugal (NIF), Espanha (DNI), Itália (Codice Fiscale), Alemanha (Steuer-IdNr), França (NIR) e EUA (SSN) na mesma interface.

O validador integrado é o maior diferencial: cole qualquer número existente e veja instantaneamente se é matematicamente válido, com explicação do erro em caso negativo. Para o CPF, a ferramenta ainda mostra a região fiscal do 9° dígito — um dado que nenhum outro gerador exibe.

Como Usar o Gerador de CPF

Gerar um CPF válido leva três segundos:

  1. Selecione o país — Clique na aba com a bandeira do Brasil (CPF). A ferramenta troca automaticamente o algoritmo, formato e regras de validação para o padrão oficial do país.
  2. Configure as opções — Ative "Com Pontuação" para o formato 123.456.789-09, ou desative para obter dígitos puros (12345678909). Escolha a quantidade (1 a 100) para geração em lote. Filtre por estado usando o seletor de região fiscal.
  3. Clique em Gerar — O número aparece instantaneamente. Clique no ícone de copiar ou pressione Shift+Enter para copiar. Para lotes, exporte direto para CSV ou JSON.

Para validar um CPF existente, vá para a aba Validar, cole o número e o resultado aparece imediatamente, com o estado do 9° dígito e, em caso de erro, a explicação exata do que está errado.

Exemplos de CPF e Outros Documentos

País Documento Formato com pontuação Sem pontuação
🇧🇷 Brasil CPF 123.456.789-09 12345678909
🇵🇹 Portugal NIF 123 456 789 123456789
🇪🇸 Espanha DNI 12345678-Z 12345678Z
🇮🇹 Itália Codice Fiscale RSSMRA80A01H501U igual
🇩🇪 Alemanha Steuer-IdNr 86 095 742 719 86095742719
🇫🇷 França NIR 1 80 02 75 056 018 15 180027505601815
🇺🇸 EUA SSN 078-05-1120 078051120

Caso de borda — dígitos iguais: 111.111.111-11 é matematicamente inválido por definição do algoritmo. Use para testar o caminho de erro do seu formulário ou validador.

Caso de borda — CPF por estado: Gere um CPF com 9° dígito 8 para obter um CPF da região fiscal de São Paulo. O seletor de região exibe as opções disponíveis.

O que é o CPF e Como Funciona o Algoritmo

O Cadastro de Pessoas Físicas (CPF) é o documento fiscal de pessoas físicas no Brasil, administrado pela Receita Federal. Composto por 11 dígitos, é obrigatório para abrir conta bancária, declarar Imposto de Renda, firmar contratos e acessar serviços governamentais.

Estrutura do CPF:

123.456.789-09
│││.│││.│││-││
         │ └── 2° dígito verificador
         └──── 1° dígito verificador
       └────── 9° dígito (região fiscal)
└────────────── 8 dígitos sequenciais

O 9° dígito e as regiões fiscais:

9° dígito Estados
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, RS
0 SP (emissões antigas)

Algoritmo Módulo 11 — como os dígitos verificadores são calculados:

Para o 1° dígito: multiplique os 9 primeiros dígitos pelos pesos 10, 9, 8, 7, 6, 5, 4, 3, 2. Some tudo. Calcule soma mod 11. Se o resto for menor que 2, o dígito é 0; caso contrário, é 11 - resto. O mesmo processo se repete para o 2° dígito usando pesos 11, 10, 9... 2 sobre os 10 primeiros dígitos.

Casos de Uso Comuns

  • Teste de formulários de cadastro: A LGPD proíbe CPFs reais em ambientes de desenvolvimento. Gere CPFs fictícios que passam na validação sem expor dados de pessoas reais.
  • Integração com APIs de pagamento: Gateways de pagamento e bancos validam o CPF na requisição. Use CPFs gerados para testar o fluxo completo sem precisar de dados reais.
  • Testes unitários do validador: Gere um lote de 50 ou 100 CPFs válidos para alimentar sua função de validação e confirmar que todos são aceitos.
  • Seed de banco de dados de teste: Use a aba "Identidade Completa" para gerar um perfil fictício completo — nome, endereço, telefone, email e CPF — tudo coerente para o Brasil.
  • Conformidade LGPD: CPFs reais encontrados online pertencem a pessoas reais. Usar em sistemas de desenvolvimento viola a LGPD. CPFs gerados são a abordagem legalmente correta.

Erros Comuns ao Usar CPFs para Teste

  • Usar CPFs reais de pessoas públicas: Mesmo que o número seja válido matematicamente, pertence a uma pessoa real. Usar em testes é ilegal sob a LGPD. Use sempre CPFs fictícios gerados por esta ferramenta.
  • Confundir "válido matematicamente" com "CPF real": Um CPF gerado passa na validação de módulo 11 mas não existe na base da Receita Federal. Não funciona para consultas, compras ou cadastros reais.
  • Enviar o CPF com pontuação quando a API espera dígitos puros: Verifique o formato esperado pela sua API antes de enviar. Use o toggle "Com Pontuação" para obter o formato correto.
  • Testar só com CPFs válidos: Teste também com entradas inválidas. Use o validador para gerar exemplos de CPFs inválidos (erros no 1° dígito, no 2° dígito, dígitos iguais) para cobrir os caminhos de erro.

Perguntas Frequentes

O CPF gerado pertence a alguma pessoa real?

Não. O gerador cria números que seguem o algoritmo oficial do CPF (módulo 11) e passam em qualquer validação matemática, mas não estão cadastrados na base da Receita Federal. São completamente fictícios e não identificam nenhuma pessoa. Você pode confirmar: nenhum CPF gerado retornará dados em consultas a serviços governamentais.

Posso usar um CPF gerado para preencher formulários reais?

Não. CPFs gerados são exclusivamente para testes de desenvolvimento — validação de formulários, APIs, ambientes de homologação e QA. Usar em cadastros reais, compras, contratos ou qualquer operação oficial é ilegal. São construtos matemáticos, não documentos de identidade.

O que o 9° dígito do CPF revela?

O 9° dígito indica a região fiscal onde o CPF foi emitido pela Receita Federal — não onde a pessoa nasceu ou mora atualmente. Por exemplo, CPFs com 9° dígito 8 foram emitidos na região fiscal de São Paulo, e 9° dígito 6 indica Minas Gerais. O seletor de região na aba Gerar permite criar CPFs de uma região específica.

Qual a diferença entre CPF matematicamente válido e CPF real?

Um CPF matematicamente válido passa na verificação dos dígitos verificadores (módulo 11) — é o que sistemas de formulário e APIs verificam. Um CPF real existe no cadastro da Receita Federal e pertence a uma pessoa. Para testes, use sempre CPFs matematicamente válidos mas fictícios, nunca CPFs de pessoas reais.

Como validar um CPF em JavaScript?

O algoritmo envolve: (1) verificar 11 dígitos, (2) rejeitar sequências de dígitos iguais (11111111111 etc.), (3) calcular o 1° dígito verificador com pesos 10→2 por módulo 11, (4) calcular o 2° dígito verificador com pesos 11→2. Veja as implementações completas em JavaScript, Python e PHP na seção abaixo.

A ferramenta funciona sem internet?

Sim. Todos os algoritmos rodam inteiramente no seu navegador usando JavaScript. Nenhum número é enviado a um servidor. A ferramenta funciona offline após o carregamento da página, sendo segura para usar em ambientes com restrições de rede.

Outros Documentos Suportados

Além do CPF, a ferramenta suporta os principais documentos fiscais do mundo:

País Documento Algoritmo
🇺🇸 EUA SSN Validação estrutural de intervalos (sem dígito verificador)
🇵🇹 Portugal NIF Módulo 11 com pesos 9→2
🇪🇸 Espanha DNI Letra da string de 23 posições (número mod 23)
🇩🇪 Alemanha Steuer-IdNr Luhn modificado com restrições de repetição
🇫🇷 França NIR 97 − (N mod 97) — mesmo algoritmo do IBAN
🇮🇹 Itália Codice Fiscale Derivado de dados pessoais, único decodificável inversamente

Como Validar CPF em Código

O algoritmo Módulo 11 abaixo verifica os dois dígitos verificadores do CPF. Os pesos para o 1° dígito são 10→2 (sobre os 9 primeiros dígitos) e para o 2° são 11→2 (sobre os 10 primeiros). Sequências com todos os dígitos iguais são inválidas por definição da Receita Federal.

Fonte: Receita Federal — Cadastro de Pessoas Físicas

JavaScript

function validarCPF(input) {
  const cpf = input.replace(/[.\-]/g, '');
  if (cpf.length !== 11 || new Set(cpf).size === 1) return false;

  const check = (len) => {
    let sum = 0;
    for (let i = 0; i < len; i++) sum += parseInt(cpf[i]) * (len + 1 - i);
    const rem = sum % 11;
    return rem < 2 ? 0 : 11 - rem;
  };

  return parseInt(cpf[9]) === check(9) && parseInt(cpf[10]) === check(10);
}

console.log(validarCPF('123.456.789-09')); // true
console.log(validarCPF('111.111.111-11')); // false — dígitos iguais
console.log(validarCPF('123.456.789-00')); // false — dígito verificador errado

Python

import re

def validar_cpf(input_str: str) -> bool:
    cpf = re.sub(r'[.\-]', '', input_str)
    if len(cpf) != 11 or len(set(cpf)) == 1:
        return False

    def check(length: int) -> int:
        total = sum(int(cpf[i]) * (length + 1 - i) for i in range(length))
        rem = total % 11
        return 0 if rem < 2 else 11 - rem

    return int(cpf[9]) == check(9) and int(cpf[10]) == check(10)

print(validar_cpf('123.456.789-09'))  # True
print(validar_cpf('111.111.111-11'))  # False — dígitos iguais
print(validar_cpf('123.456.789-00'))  # False — dígito verificador errado

PHP

function validarCPF(string $input): bool {
    $cpf = preg_replace('/[.\-]/', '', $input);
    if (strlen($cpf) !== 11 || strlen(count_chars($cpf, 3)) === 1) return false;

    $check = function(int $len) use ($cpf): int {
        $sum = 0;
        for ($i = 0; $i < $len; $i++) $sum += (int)$cpf[$i] * ($len + 1 - $i);
        $rem = $sum % 11;
        return $rem < 2 ? 0 : 11 - $rem;
    };

    return (int)$cpf[9] === $check(9) && (int)$cpf[10] === $check(10);
}

var_dump(validarCPF('123.456.789-09')); // bool(true)
var_dump(validarCPF('111.111.111-11')); // bool(false) — dígitos iguais
var_dump(validarCPF('123.456.789-00')); // bool(false) — dígito verificador errado

Recursos

Ferramentas Relacionadas