bateCarimbo.
Região fiscal no 9º dígito

Gerador de CPF por região fiscal

Fixe o 9º dígito para obter CPFs de um estado específico e gere até 100 de uma vez, com os dois verificadores calculados. As outras abas conferem números que você já tem e aplicam ou removem a máscara 000.000.000-00.

Os CPFs gerados aqui são fictícios. Os dígitos verificadores estão corretos, então eles passam em qualquer validador, mas nenhum deles pertence a uma pessoa nem consta no cadastro da Receita Federal. Use apenas em desenvolvimento, homologação e demonstração. Uso permitido e proibido.

Base
1–8
Região fiscal
9
DV
10–11

Os CPFs desta ferramenta são fictícios e destinados exclusivamente a testes de software. Têm formato e dígitos verificadores corretos, mas não pertencem a ninguém e não constam no cadastro da Receita Federal.

O CPF, dígito a dígito

O Cadastro de Pessoas Físicas identifica o contribuinte perante a Receita Federal e, desde a Lei 14.534/2023, é o número suficiente e único de identificação do cidadão nas bases de dados de serviços públicos. Isso explica por que ele virou a chave de praticamente todo cadastro brasileiro — e o campo que mais aparece em formulário de homologação.

Número-base, região fiscal e verificadores

São onze algarismos, sem letras e sem variação de tamanho. Os oito primeiros formam a sequência de controle da inscrição, o nono identifica a região fiscal que a emitiu e os dois últimos são os dígitos verificadores. A máscara 000.000.000-00 é apresentação: o que se guarda e se compara são os onze dígitos crus.

O nono dígito aponta onde o CPF foi emitido, não onde a pessoa nasceu ou mora. Quem tirou o documento em São Paulo e se mudou para Recife segue com o dígito 8. A tabela das dez regiões está adiante nesta página; a leitura completa, com os casos em que esse dígito engana, fica no guia região fiscal do CPF.

O que os dois verificadores conseguem pegar

O primeiro dígito sai de um módulo 11 com pesos de 10 a 2 aplicados ao número-base. Nenhum desses pesos é múltiplo de 11, e daí vem a utilidade prática: trocar um algarismo por outro, ou inverter dois algarismos diferentes de posição, muda a soma por uma quantidade que nunca é múltiplo de 11 — o resto se altera e a conta deixa de fechar. O segundo verificador refaz o cálculo sobre dez dígitos, com pesos de 11 a 2, incluindo o primeiro DV, de modo que um erro de digitação no próprio verificador também aparece. A mecânica está detalhada em como o módulo 11 calcula o dígito verificador.

As dez sequências que passam na conta

000.000.000-00, 111.111.111-11 e as outras oito repetições satisfazem o algoritmo. A razão é aritmética: com todos os algarismos iguais a d, a soma do primeiro verificador é sempre 54 × d, e a regra do módulo 11 devolve exatamente d como dígito — a conta fecha sozinha, para os dez casos. Como são justamente os números que alguém digita para furar um formulário, a convenção é recusá-los, e o validador precisa testá-los antes de calcular qualquer coisa. Este gerador nunca os emite.

Válido não quer dizer existente

O cálculo confirma que o número é bem formado. Ele não diz se existe inscrição correspondente na Receita, nem qual é a situação cadastral dela (regular, suspensa, cancelada, titular falecido). Só a consulta oficial responde isso, e nenhum número gerado aqui consta lá. A diferença entre os três níveis — formato, dígito verificador e existência — está em CPF válido não é CPF existente.

Anatomia do CPF

123.456.789-09

Base

1–8

Número-base da inscrição: oito dígitos, sempre numéricos.

Região fiscal

9

Identifica a região fiscal que emitiu o CPF — tabela abaixo.

DV

10–11

Dígitos verificadores: módulo 11 sobre os dígitos anteriores.

Regiões fiscais

Selecione uma região no Gerador para fixar o 9º dígito e produzir CPFs de um estado específico. Estados da mesma região compartilham o dígito — Paraná e Santa Catarina são ambos 9.

1
DF, GO, MS, MT, TO1ª RF
2
AC, AM, AP, PA, RO, RR2ª RF
3
CE, MA, PI3ª RF
4
AL, PB, PE, RN4ª RF
5
BA, SE5ª RF
6
MG6ª RF
7
ES, RJ7ª RF
8
SP8ª RF
9
PR, SC9ª RF
0
RS10ª RF

Exemplo — cálculo do DV

Base 123456789 → DV 09 → CPF formatado 123.456.789-09

  1. Multiplicar os 9 dígitos da base pelos pesos 10 a 2, da esquerda para a direita.
  2. Somar os produtos e dividir por 11: resto menor que 2 dá dígito 0, senão o dígito é 11 − resto.
  3. Repetir a conta sobre os 10 dígitos (base + 1º DV) com os pesos 11 a 2.
Primeiro dígito verificador
CaracterePesoProduto
11010
2918
3824
4728
5630
6530
7428
8324
9218
Soma210

210 ÷ 11 → resto 1

Resto menor que 2, então o dígito é 0.

Dígito verificador = 0

Segundo dígito verificador (base + 1º DV)
CaracterePesoProduto
11111
21020
3927
4832
5735
6636
7535
8432
9327
020
Soma255

255 ÷ 11 → resto 2

Resto maior ou igual a 2, então o dígito é 11 − 2.

Dígito verificador = 9

Regex

^\d{11}$
^\d{3}\.\d{3}\.\d{3}-\d{2}$

As duas expressões conferem apenas o formato. Elas aceitam 111.111.111-11 e qualquer combinação de dígitos verificadores errados — o cálculo do módulo 11 continua sendo necessário.

Validação em TypeScript

TypeScript
const CPF_REPETIDO = /^(\d)\1{10}$/;

/** Módulo 11 do CPF: pesos decrescentes a partir de (tamanho da base + 1). */
function digitoVerificador(base: string): number {
  const primeiroPeso = base.length + 1; // 10 no 1º DV, 11 no 2º
  const soma = [...base].reduce(
    (total, char, i) => total + Number(char) * (primeiroPeso - i),
    0,
  );
  const resto = soma % 11;
  return resto < 2 ? 0 : 11 - resto;
}

export function cpfValido(entrada: string): boolean {
  const digitos = entrada.replace(/\D/g, "");
  if (digitos.length !== 11) return false;
  if (CPF_REPETIDO.test(digitos)) return false;

  const base = digitos.slice(0, 9);
  const primeiro = digitoVerificador(base);
  const segundo = digitoVerificador(`${base}${primeiro}`);

  return digitos.slice(9) === `${primeiro}${segundo}`;
}

cpfValido("123.456.789-09"); // true
cpfValido("111.111.111-11"); // false — sequência repetida
Mesma função em Python, Java, C#, SQL e outras linguagens nos guias de código.

Versões comentadas, com testes e as armadilhas de cada linguagem, estão em validar CPF e CNPJ em JavaScript e TypeScript, em validar CPF e CNPJ em Python, Java e C# e em validar CPF e CNPJ em SQL.

Quando usar este gerador (e quando não)

Os números daqui servem para toda situação em que o sistema exige um CPF bem formado e ninguém precisa que ele exista:

  • preencher cadastros, checkouts e emissão de nota em desenvolvimento e homologação, sem envolver o CPF de um colega de equipe;
  • montar seeds e fixtures com centenas de registros distintos, em vez de repetir o mesmo número em toda a base de teste — o método está em massa de dados de teste;
  • exercitar máscara, limite de campo, colagem com e sem pontuação e o que o formulário faz quando chegam 10 ou 12 dígitos;
  • produzir capturas de tela, documentação e demonstrações sem expor dados de ninguém;
  • conferir se um validador recém-escrito aceita o que deve aceitar e recusa as sequências repetidas.

E não servem para:

  • operações em produção — consultar situação cadastral, emitir nota fiscal, abrir conta: o número não existe na Receita, então ou a operação falha ou o uso configura fraude;
  • contornar a validação de cadastro de um serviço real ou se apresentar como outra pessoa;
  • “anonimizar” uma base real trocando só a coluna de CPF: nome, endereço, telefone e histórico continuam identificando o titular. O que a LGPD pede de quem leva dados para ambiente de teste está em LGPD e dados de teste;
  • testar a integração com a consulta da Receita: aí o caminho é um stub que devolva cada situação cadastral possível, inclusive as de erro.

Erros comuns ao validar CPF

Os defeitos abaixo aparecem com frequência em revisão de código e quase todos sobrevivem a uma bateria de testes de caminho feliz.

  • Guardar o CPF como número. Uma coluna inteira, ou um Number em JavaScript, engole o zero à esquerda: 012.345.678-90 volta com dez dígitos e é rejeitado por qualquer validador. Campo de texto de tamanho fixo resolve.
  • Validar sem normalizar antes. Um /^\d{11}$/ aplicado direto na string com pontos recusa um CPF correto. Remova tudo que não é dígito antes de qualquer verificação e grave sempre no mesmo formato, ou a base termina com o mesmo CPF duas vezes, um registro com máscara e outro sem.
  • Ignorar as sequências repetidas. Elas passam no módulo 11, como explicado acima, e por isso precisam de um teste próprio — colocado antes do cálculo, não depois.
  • Tratar mal o resto na variante 11 − resto. Quem escreve o dígito como 11 − restoprecisa zerar dois resultados: o 10 e o 11. Tratar apenas o 10 deixa escapar um "dígito 11", que jamais bate com o caractere gravado — e o efeito visível é recusar CPFs válidos cujo verificador é 0.
  • Importar planilha sem repor os zeros. A planilha trata a coluna como número e devolve dez caracteres para todo CPF iniciado em 0. Completar com zeros à esquerda até onze, antes de validar, evita descartar registros bons.
  • Usar o nono dígito como regra de negócio. Rotear atendimento, calcular frete ou definir alíquota a partir da região fiscal produz erro sistemático em quem emitiu o documento num estado e mora em outro.
  • Confundir validação com consulta. Dígitos corretos não garantem inscrição ativa. Quando a regra de negócio depende disso, a verificação tem de ir até a Receita.

O apanhado maior, com sintoma, causa e teste de reprodução para cada caso, está em dez erros comuns em validadores de documentos brasileiros.

Perguntas frequentes

O que significa o 9º dígito do CPF?

Ele identifica a região fiscal da Receita Federal que emitiu o documento. O dígito 8 corresponde a São Paulo, o 6 a Minas Gerais, o 0 ao Rio Grande do Sul, e assim por diante — a tabela completa das dez regiões está na seção Regiões fiscais desta página.

O 9º dígito prova em que estado a pessoa nasceu ou mora?

Não. Ele indica apenas onde o CPF foi emitido. Quem nasceu no Paraná e tirou o documento morando em São Paulo tem o dígito 8. Usar esse dígito como regra de negócio para inferir domicílio é um erro comum e produz resultados errados.

Posso gerar CPF de um estado específico?

Sim. Escolha a região fiscal no Gerador e o 9º dígito sairá correspondente, com os dois verificadores recalculados em cima dessa base. Estados de uma mesma região compartilham o dígito — Paraná e Santa Catarina são ambos 9, por exemplo.

Por que 111.111.111-11 é recusado se a conta fecha?

Porque sequências com todos os dígitos iguais realmente satisfazem o cálculo do módulo 11, mas são rejeitadas por convenção — justamente por serem os valores que alguém digitaria para burlar um formulário. Um validador completo precisa tratar esses dez casos separadamente, além de conferir os dígitos.

Um CPF com dígitos corretos existe de fato na Receita?

Não necessariamente. O cálculo confirma apenas que o número é bem formado. Existência e situação cadastral (regular, suspensa, cancelada, titular falecido) só a consulta oficial da Receita Federal responde, e nenhum número gerado aqui consta lá.