Documentos e IDs de teste

CPF e CNPJ: o dígito verificador, a validação e o CNPJ alfanumérico

Um número de CPF ou CNPJ que "passa na validação" prova uma coisa só: que os dois últimos dígitos batem com uma conta de aritmética modular. Não prova que o documento existe, que pertence a alguém, nem que está regular na Receita. Confundir "válido" com "verdadeiro" é a origem de metade dos bugs de cadastro e de quase todo mal-entendido sobre geradores de dados de teste. Este guia abre o dígito verificador até o osso, ele é um checksum módulo 11, e você vai calculá-lo dígito a dígito, mostra o que a validação não alcança, e chega no ponto mais atual e mais buscado do tema: o CNPJ alfanumérico, que a Receita passa a emitir em 2026. Cole números no [validador de CPF/CNPJ](tool:validador-cpf-cnpj) enquanto lê; ele roda o mesmo algoritmo, no seu navegador, sem enviar nada.

J-Kit15 min de leituraIntermediário
  • CPF
  • CNPJ
  • Dígito verificador
  • CNPJ alfanumérico
  • Dados de teste

Resumo rápido

  • O dígito verificador é um checksum módulo 11 com pesos: detecta erro de digitação, não existência. Válido ≠ existente ≠ regular.
  • O CPF usa 9 dígitos de base e pesos 10..2 e 11..2; o CNPJ usa 12 de base e pesos 5,4,3,2,9..2 e 6,5,4,3,2,9..2. Resto do módulo menor que 2 → dígito 0.
  • A partir de 2026 a Receita emite o CNPJ alfanumérico: as 12 primeiras posições podem ter letras, os 2 DVs continuam numéricos, e o cálculo usa o valor ASCII do caractere menos 48.
  • Gerar CPF/CNPJ sintético para teste é legítimo; usar o documento real de um terceiro não é (LGPD, Lei 13.709/2018).

Válido, existente, regular: três coisas diferentes

Antes de gerar ou validar qualquer número, separe o que cada operação realmente prova. A validação de dígito verificador é local e barata: ela só confere se os dois últimos dígitos fecham a conta. Saber se o documento existe exige a base da Receita Federal. Saber se ele está regular, ativo, suspenso, baixado, é uma consulta cadastral, com regras próprias de acesso. São três perguntas distintas, e a primeira nunca responde as outras duas.

Número válido

  • Os dígitos verificadores fecham pelo algoritmo módulo 11.
  • Prova apenas consistência matemática, no seu próprio computador.
  • Um gerador produz milhões deles em segundos.

Documento existente

  • Foi emitido e está atribuído a uma pessoa ou empresa.
  • Só a Receita Federal confirma; não dá para deduzir do número.

Cadastro regular

  • Situação (ativo, suspenso, baixado), nome/razão social, atividade.
  • Exige fonte autorizada e finalidade legítima de consulta.

O abismo entre "válido" e "verdadeiro" é o assunto central deste guia. Um gerador de CPF e um gerador de CNPJ vivem inteiramente do lado esquerdo: fabricam números matematicamente consistentes para preencher formulários de teste e semear bancos de homologação. A consulta de CNPJ vive do lado direito, e só funciona para empresas, porque o CNPJ é público, o CPF, por ser dado pessoal, é protegido. Entender a fronteira evita tanto o bug ("por que o cadastro aceitou esse CPF que não existe?") quanto o abuso ("gerei um válido, então posso usá-lo").

11dígitos do CPF (9 de base + 2 verificadores)
14posições do CNPJ (12 de base + 2 verificadores)
mód. 11a aritmética por trás dos dois dígitos finais

O dígito verificador é um checksum módulo 11

O dígito verificador não é hash nem criptografia, se a diferença entre esses conceitos ainda te confunde, o guia de hashing, criptografia e encoding fecha isso. Ele é um checksum: um número extra, derivado dos anteriores, cuja única função é detectar erro de digitação e transposição. A escolha do módulo 11 não é arbitrária. Por ser primo, o 11 captura mais tipos de erro do que um módulo 10: pega qualquer troca de um dígito e, ao usar pesos crescentes, pega também a maioria das transposições de dígitos vizinhos, o clássico "digitei 21 no lugar de 12". É o mesmo princípio do dígito de controle do ISBN-10 e de vários números bancários.

S = Σ (dᵢ × pᵢ) → r = S mod 11 → DV = (r < 2) ? 0 : 11 − r
dᵢ
o i-ésimo dígito da base (da esquerda para a direita)
pᵢ
o peso daquela posição (ver tabela abaixo)
S
a soma de todos os produtos dígito × peso
r
o resto da divisão de S por 11
DV
o dígito verificador resultante (0 a 9)
O núcleo do algoritmo, idêntico para CPF e CNPJ: só mudam os pesos. Cada dígito da base é multiplicado por um peso, soma-se tudo, tira-se o resto da divisão por 11 e o dígito verificador é 11 menos esse resto, com a exceção de que restos 0 e 1 viram dígito 0.

O segundo dígito verificador usa exatamente o mesmo procedimento, com uma diferença: ele inclui o primeiro DV já calculado na base e desloca os pesos uma casa (o CPF passa de 10..2 para 11..2; o CNPJ, de 5,4,3,2,9..2 para 6,5,4,3,2,9..2). Por isso os dois dígitos são interdependentes: alterar o primeiro muda o segundo. Os pesos abaixo batem exatamente com os do validador de CPF/CNPJ desta plataforma.

Os pesos de cada dígito verificador. Lidos da esquerda para a direita, alinhados com os dígitos da base.
DocumentoBasePesos do 1º DVPesos do 2º DV
CPF9 dígitos10 9 8 7 6 5 4 3 211 10 9 8 7 6 5 4 3 2
CNPJ12 posições5 4 3 2 9 8 7 6 5 4 3 26 5 4 3 2 9 8 7 6 5 4 3 2

Repare no padrão do CNPJ: os pesos são a sequência 2 a 9 lida da direita para a esquerda, reiniciando em 2 depois do 9. O CPF é mais simples ainda: uma contagem decrescente que começa em 10 (ou 11, no segundo dígito). Essa regularidade é o que permite escrever o cálculo em poucas linhas, e o que torna a extensão para letras, que veremos adiante, quase indolor.

Exemplo trabalhado: um CPF calculado do zero

Vamos calcular os dois dígitos verificadores de uma base didática: 111.444.777. É um número usado só para demonstrar a conta, não representa ninguém. Multiplicamos cada dígito pelo seu peso, somamos, tiramos o resto por 11 e aplicamos a regra.

CPF base:  1  1  1  4  4  4  7  7  7   (os 9 primeiros dígitos)

1o digito verificador ,  pesos 10 9 8 7 6 5 4 3 2
  1x10 + 1x9 + 1x8 + 4x7 + 4x6 + 4x5 + 7x4 + 7x3 + 7x2
  =  10 + 9 + 8 + 28 + 24 + 20 + 28 + 21 + 14  =  162
  162 mod 11 = 8   ->   8 >= 2   ->   DV1 = 11 - 8 = 3

2o digito verificador ,  pesos 11 10 9 8 7 6 5 4 3 2  (inclui o DV1)
  base agora:  1  1  1  4  4  4  7  7  7  3
  1x11 + 1x10 + 1x9 + 4x8 + 4x7 + 4x6 + 7x5 + 7x4 + 7x3 + 3x2
  =  11 + 10 + 9 + 32 + 28 + 24 + 35 + 28 + 21 + 6  =  204
  204 mod 11 = 6   ->   6 >= 2   ->   DV2 = 11 - 6 = 5

CPF completo:  111.444.777-35   (fecha o modulo 11)
Cálculo completo dos dois dígitos verificadores do CPF, dígito a dígito. Cole 111.444.777-35 no validador para conferir.

Há um detalhe escondido no nono dígito, o último da base, aqui o 7. Ele indica a região fiscal onde o CPF foi emitido, segundo a divisão da Receita Federal em dez superintendências regionais. Não é onde a pessoa nasceu nem onde mora hoje: é a região do endereço informado no primeiro cadastro. No nosso exemplo, o 7 corresponde a ES e RJ.

O nono dígito do CPF e a região fiscal de emissão (dez regiões da Receita Federal; a 10ª usa o dígito 0).
9º dígitoRegião fiscalEstados
1DF, GO, MT, MS, TO
2AC, AM, AP, PA, RO, RR
3CE, MA, PI
4AL, PB, PE, RN
5BA, SE
6MG
7ES, RJ
8SP
9PR, SC
010ªRS

Ou seja: o CPF carrega uma pista fraca de origem, mas nada além disso. Ele não codifica data de nascimento, sexo ou qualquer atributo pessoal, só a região fiscal e os dois dígitos de controle. Quem valida formulários costuma reforçar a checagem do dígito com uma máscara de formato via expressões regulares, garantindo que o texto tem o formato certo antes mesmo de a aritmética rodar.

O CNPJ alfanumérico: a mudança de 2026

Este é o ponto mais atual do tema. O CNPJ numérico tem capacidade finita, e a Receita Federal projeta o esgotamento das combinações. A resposta foi a Instrução Normativa RFB nº 2.229, de 15 de outubro de 2024, que instituiu o CNPJ alfanumérico. O formato não muda de tamanho nem de máscara: continuam 14 posições exibidas como XX.XXX.XXX/XXXX-XX. O que muda é o alfabeto das posições: as 8 primeiras (a raiz) e as 4 seguintes (a ordem do estabelecimento) passam a admitir letras maiúsculas de A a Z além dos algarismos. Os dois últimos dígitos, os verificadores, permanecem estritamente numéricos.

  1. 1965–1968Nasce o CPF

    A Lei nº 4.862/1965 cria o registro das pessoas físicas; o Decreto-Lei nº 401/1968 o transforma no Cadastro de Pessoas Físicas, com os 11 dígitos que usamos até hoje.

  2. 1998CGC vira CNPJ

    A Instrução Normativa SRF nº 27/1998 substitui o antigo Cadastro Geral de Contribuintes (CGC) pelo CNPJ, mantendo os números existentes e o formato de 14 dígitos.

  3. 15 out 2024IN RFB nº 2.229 institui o CNPJ alfanumérico

    A norma define o novo alfabeto (letras nas 12 primeiras posições, DV numérico) e o cálculo do dígito por valor ASCII. CNPJs já existentes não mudam.

  4. 2026Entrada em produção

    A regra de validação que aceita CNPJ alfanumérico entra em produção nos sistemas fiscais em 6 de julho de 2026, e a Receita passa a emitir os novos números a partir de 31 de julho de 2026.

A pergunta de todo desenvolvedor é: como calcular o DV se a base agora tem letras? A resposta é elegante. Em vez de tratar cada posição como o algarismo que ela representa, trata-se cada caractere pelo seu valor na tabela ASCII menos 48. Os algarismos de 0 a 9 têm código ASCII de 48 a 57, então "0" continua valendo 0 e "9" continua valendo 9, nada muda para os CNPJs antigos. As letras de A a Z têm código de 65 a 90, então "A" vale 17, "B" vale 18, e assim por diante até "Z" valer 42. Com os caracteres convertidos em números, o cálculo é idêntico ao numérico: os mesmos pesos, o mesmo módulo 11.

  1. Isole as 12 posições da baseA raiz (8) e a ordem (4), que podem conter A–Z e 0–9. Os dois DVs ficam de fora do cálculo, pois são o que você quer descobrir.
  2. Converta cada caractere para númeroUse o código ASCII do caractere menos 48. Algarismos viram eles mesmos (0–9); letras viram 17 (A) até 42 (Z).
  3. Multiplique pelos pesos e someOs mesmos pesos do CNPJ numérico: 5,4,3,2,9,8,7,6,5,4,3,2 para o 1º DV. Some todos os produtos.
  4. Aplique o módulo 11Calcule o resto da soma por 11. Se for menor que 2, o DV é 0; caso contrário, o DV é 11 menos o resto.
  5. Repita para o segundo DVAnexe o 1º DV (já numérico) à base, formando 13 posições, e refaça com os pesos 6,5,4,3,2,9,8,7,6,5,4,3,2. Os dois DVs sempre saem numéricos.
CNPJ base (12 posicoes):  1  2  A  B  C  3  4  5  0  1  D  E

Passo 1 ,  cada caractere -> valor ASCII menos 48
  1->1   2->2   A->17   B->18   C->19   3->3
  4->4   5->5   0->0    1->1    D->20   E->21

1o DV ,  pesos 5 4 3 2 9 8 7 6 5 4 3 2
  1x5 + 2x4 + 17x3 + 18x2 + 19x9 + 3x8
    + 4x7 + 5x6 + 0x5 + 1x4 + 20x3 + 21x2
  = 5 + 8 + 51 + 36 + 171 + 24 + 28 + 30 + 0 + 4 + 60 + 42
  = 459
  459 mod 11 = 8   ->   DV1 = 11 - 8 = 3

2o DV ,  pesos 6 5 4 3 2 9 8 7 6 5 4 3 2  (inclui DV1 = 3)
  1x6 + 2x5 + 17x4 + 18x3 + 19x2 + 3x9 + 4x8
    + 5x7 + 0x6 + 1x5 + 20x4 + 21x3 + 3x2
  = 6 + 10 + 68 + 54 + 38 + 27 + 32 + 35 + 0 + 5 + 80 + 63 + 6
  = 424
  424 mod 11 = 6   ->   DV2 = 11 - 6 = 5

CNPJ completo:  12.ABC.345/01DE-35
Exemplo canônico do Serpro: o CNPJ alfanumérico 12.ABC.345/01DE tem dígitos verificadores 35. A aritmética inteira, do valor ASCII ao resto.

O que a validação de dígito não prova

Voltamos ao começo, agora com a matemática na mão. O validador responde uma única pergunta, "os dígitos fecham?", e nada além dela. Dois casos-limite deixam isso concreto: um número válido pode não corresponder a documento nenhum, e um número obviamente falso pode, ainda assim, passar no módulo 11. Abra os dois pontos abaixo.

Válido não é existente, e existente não é regular

O dígito verificador é calculado a partir dos próprios números, ele não consulta base nenhuma. Logo, um gerador pode fabricar um CPF perfeitamente válido que jamais foi atribuído a ninguém, e um CPF real e ativo tem a mesma aparência de um sintético. A única forma de saber se existe é a Receita Federal; a única forma de saber a situação cadastral é uma consulta autorizada. "Válido" mora na sua máquina; "existente" e "regular" moram no servidor da Receita.

Por isso um formulário que só valida o dígito aceita, sem pestanejar, um CPF de teste que não existe. Isso não é bug: é o limite do que a validação local consegue afirmar. Se o seu sistema precisa de existência real, some validação de dígito (barata, instantânea) com consulta oficial (cara, sujeita a base legal), nunca troque uma pela outra.

Por que 111.111.111-11 passa no módulo 11 (e mesmo assim é rejeitado)

Faça a conta com todos os dígitos iguais a 1. A soma dos pesos 10..2 é 54, então S = 1 × 54 = 54; 54 mod 11 = 10; como 10 é maior que 1, DV1 = 11 − 10 = 1. Repita para o segundo dígito (pesos 11..2, soma 65): S = 65; 65 mod 11 = 10; DV2 = 1. Os dois verificadores dão 1, exatamente os dígitos da sequência. Não é coincidência: qualquer sequência de um só algarismo repetido produz um verificador igual a esse mesmo algarismo, porque a soma dos pesos reduzida ao módulo 11 devolve o próprio dígito. Ou seja, 000.000.000-00, 222.222.222-22 e todas as repetições "fecham" a conta.

Como esses números são matematicamente válidos mas obviamente inúteis, tanto a Receita quanto qualquer validador sério os descartam por uma regra extra, anterior ao cálculo: sequências com todos os dígitos iguais são inválidas por convenção. O validador desta plataforma faz exatamente isso, rejeita a repetição antes de checar o dígito.

Teste aqui: cole 111.444.777-35 (válido), 111.111.111-11 (repetido, rejeitado) ou qualquer CNPJ. Roda no navegador, sem enviar o número a lugar nenhum.Abrir a ferramenta em página inteira

Perguntas frequentes

Um CPF gerado é de uma pessoa real?
Não necessariamente. O gerador cria números que fecham o cálculo dos dígitos verificadores, mas não consulta a Receita, não há garantia de que o número exista ou de quem seja. Um CPF sintético é indistinguível de um real só pela aparência; a diferença só aparece numa consulta oficial.
Como funciona o cálculo do DV do CNPJ alfanumérico?
Cada uma das 12 posições da base é convertida no seu valor ASCII menos 48: algarismos viram 0–9 e letras viram 17 (A) a 42 (Z). Depois aplica-se o mesmo módulo 11 do CNPJ numérico, com os pesos 5,4,3,2,9,8,7,6,5,4,3,2 no primeiro dígito e 6,5,4,3,2,9,8,7,6,5,4,3,2 no segundo. Os dois dígitos verificadores continuam numéricos. Exemplo do Serpro: 12.ABC.345/01DE tem DV 35.
Quando o CNPJ alfanumérico começa a valer?
A Instrução Normativa RFB nº 2.229 é de 15 de outubro de 2024. A regra de validação que aceita o novo formato entra em produção nos sistemas fiscais em 6 de julho de 2026, e a Receita passa a emitir CNPJ alfanumérico a partir de 31 de julho de 2026. CNPJs já existentes permanecem numéricos e válidos, sem qualquer mudança.
Por que 000.000.000-00 e as repetições são inválidos?
Porque a regra oficial descarta CPFs com todos os dígitos iguais, mesmo quando o cálculo do módulo 11 fecha. E ele fecha: qualquer sequência de um só algarismo repetido produz dígitos verificadores iguais a esse algarismo. Como são matematicamente válidos mas inúteis, são rejeitados por uma regra extra, aplicada antes da aritmética.
O que o nono dígito do CPF significa?
Ele indica a região fiscal onde o CPF foi emitido, segundo as dez regiões da Receita Federal, por exemplo, 8 para São Paulo e 7 para ES e RJ. É a região do endereço informado no primeiro cadastro, não onde a pessoa nasceu ou mora hoje. É a única informação de origem que o número carrega; ele não codifica data de nascimento nem sexo.
Posso validar CNPJ com o mesmo método do CPF?
A lógica é a mesma, módulo 11 com pesos, mas os detalhes diferem: o CNPJ tem 12 posições de base (contra 9 do CPF), pesos próprios e, no formato de 2026, converte letras por valor ASCII. O algoritmo é análogo, não idêntico. Use o validador de CPF/CNPJ, que detecta o tipo pelo comprimento e aplica os pesos certos.

O dígito verificador de CPF e CNPJ é um checksum módulo 11 com pesos: prova consistência matemática, não existência nem regularidade. Válido é uma coisa; verdadeiro e regular são outras, que só a Receita confirma. A novidade de 2026 é o CNPJ alfanumérico, letras nas 12 primeiras posições, DVs numéricos, cálculo pelo valor ASCII menos 48, que exige adaptar bancos, máscaras e validadores. Gerar números sintéticos para teste é legítimo; usar o CPF real de terceiro não é (LGPD).

Fontes e referências

  1. Receita Federal, CNPJ terá letras e números a partir de julho de 2026
  2. Receita Federal, Implantação do CNPJ Alfanumérico a partir de 31 de julho de 2026
  3. Serpro, Cálculo dos dígitos verificadores do CNPJ alfanumérico (PDF)
  4. Serpro, Código de referência do DV do CNPJ alfanumérico (GitHub)
  5. Receita Federal, Meu CPF
  6. Receita Federal, 1968: Instituição do Cadastro de Pessoas Físicas
  7. Lei nº 13.709/2018 (LGPD), Planalto