Como validar CPF e CNPJ: dígitos verificadores e CNPJ alfanumérico
CPF e CNPJ aparecem em quase todo cadastro, nota fiscal e contrato. Os dois últimos dígitos de cada um são dígitos verificadores (DV), calculados pelo módulo 11 a partir dos demais, e servem para pegar erros de digitação na hora. A partir de julho de 2026, novos CNPJs também podem ter letras. Este guia mostra como cada número é formado, como calcular os DVs passo a passo com os próprios exemplos da Receita Federal, como fazer isso numa planilha e o que o CNPJ alfanumérico exige dos sistemas.
CPF e CNPJ em resumo
| Número | Quem tem | Formato | Exemplo |
|---|---|---|---|
| CPF (Cadastro de Pessoas Físicas) | Pessoas físicas | 11 dígitos: 000.000.000-00 | 280.012.389-38 |
| CNPJ numérico | Empresas e demais pessoas jurídicas | 14 dígitos: 00.000.000/0000-00 | 18.781.203/0001-28 |
| CNPJ alfanumérico | Novas inscrições a partir de julho de 2026 | 12 caracteres de 0 a 9 ou A a Z e 2 dígitos | 12.ABC.345/01DE-35 |
Os três exemplos estão em documentos da Receita Federal: o CPF e o CNPJ numérico no manual de leiautes da e-Financeira, o CNPJ alfanumérico na nota de cálculo do DV do CNPJ alfanumérico.
Como o CPF é formado
O CPF tem onze dígitos. Segundo a Receita Federal, o nono dígito corresponde à Região Fiscal do endereço informado no cadastramento inicial, e os dois últimos são os dígitos verificadores.
| 9º dígito | Região Fiscal (estados) |
|---|---|
| 1 | DF, GO, MT, MS e TO |
| 2 | PA, AM, AC, AP, RO e RR |
| 3 | CE, MA e PI |
| 4 | PE, RN, PB e AL |
| 5 | BA e SE |
| 6 | MG |
| 7 | RJ e ES |
| 8 | SP |
| 9 | PR e SC |
| 0 | RS |
A Região Fiscal não muda quando a pessoa se muda, então ela indica onde o CPF foi inscrito, não onde a pessoa mora hoje. Também não serve para validar o número: qualquer dígito de 0 a 9 é possível.
Cálculo dos dígitos verificadores do CPF
- Multiplique os nove primeiros dígitos por 10, 9, 8, 7, 6, 5, 4, 3 e 2 e some os resultados.
- Divida a soma por 11. Se o resto for 0 ou 1, o primeiro DV é 0; caso contrário, é 11 menos o resto.
- Para o segundo DV, use os dez primeiros dígitos (incluindo o primeiro DV), multiplique por 11, 10, … 2 e aplique a mesma regra.
Exemplo da Receita Federal: para 280.012.389:
| Dígito | 2 | 8 | 0 | 0 | 1 | 2 | 3 | 8 | 9 | Soma |
|---|---|---|---|---|---|---|---|---|---|---|
| Peso | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | |
| Produto | 20 | 72 | 0 | 0 | 6 | 10 | 12 | 24 | 18 | 162 |
162 = 14 × 11 + 8, então o primeiro DV é 11 − 8 = 3. Na segunda conta, 2×11 + 8×10 + 0×9 + 0×8 + 1×7 + 2×6 + 3×5 + 8×4 + 9×3 + 3×2 = 201 = 18 × 11 + 3, então o segundo DV é 11 − 3 = 8. Resultado: 280.012.389-38.
O manual da e-Financeira descreve a mesma regra de outro jeito: pesos 9, 8, 7, 6, 5, 4, 3, 2, 1 e 0 a partir da unidade, e resto 10 vale 0. Na prática, o primeiro DV é o resto de (1×d1 + 2×d2 + … + 9×d9) por 11, e o segundo é o resto de (0×d1 + 1×d2 + … + 9×d10) por 11, trocando 10 por 0. As duas formas sempre dão os mesmos dígitos, e a segunda é a mais fácil de levar para uma planilha.
Como o CNPJ é formado
O CNPJ tem 14 posições, no formato AA.AAA.AAA/AAAA-DV: 8 caracteres de raiz, que identificam a entidade, 4 de ordem, que identificam o estabelecimento, e 2 dígitos verificadores. Segundo a Receita Federal, o CNPJ alfanumérico será atribuído a partir de julho de 2026 exclusivamente a novas inscrições: a raiz e a ordem podem ter letras maiúsculas de A a Z, e os DVs continuam numéricos. Os números de CNPJ já existentes não mudam.
Cálculo do DV do CNPJ, numérico ou alfanumérico
A Receita Federal publicou um único cálculo, que vale para os dois formatos:
- Atribua a cada um dos 12 primeiros caracteres o valor do seu código ASCII menos 48. Os números mantêm o valor (0 a 9); A = 17, B = 18, C = 19 … Z = 42.
- Distribua os pesos de 2 a 9 da direita para a esquerda, recomeçando em 2 depois do 9. Para 12 caracteres, os pesos ficam 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2.
- Multiplique, some e divida por 11. Se o resto for 0 ou 1, o DV é 0; senão, é 11 menos o resto.
- Para o segundo DV, repita com 13 caracteres (os 12 mais o primeiro DV); os pesos ficam 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2.
Exemplo da Receita Federal: para 12.ABC.345/01DE:
| Caractere | 1 | 2 | A | B | C | 3 | 4 | 5 | 0 | 1 | D | E | Soma |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Valor | 1 | 2 | 17 | 18 | 19 | 3 | 4 | 5 | 0 | 1 | 20 | 21 | |
| Peso | 5 | 4 | 3 | 2 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | |
| Produto | 5 | 8 | 51 | 36 | 171 | 24 | 28 | 30 | 0 | 4 | 60 | 42 | 459 |
459 = 41 × 11 + 8, então o primeiro DV é 11 − 8 = 3. A segunda conta, com 12ABC34501DE3, dá 5, e o CNPJ completo é 12.ABC.345/01DE-35. Como os números mantêm o valor, um CNPJ numérico como 18.781.203/0001-28 dá exatamente o mesmo resultado de sempre: quem já calculava o DV do CNPJ só precisa trocar “dígito” por “código ASCII − 48”.
Fórmulas para Excel e Planilhas Google
Para conferir uma lista, guarde os números como texto (sem pontos, barra e hífen) e use fórmulas na planilha. Com o CPF de 11 dígitos na célula A1, no Excel em português:
1º DV do CPF: =RESTO(RESTO(SOMARPRODUTO(EXT.TEXTO(A1;LIN($1:$9);1)*LIN($1:$9));11);10)
2º DV do CPF: =RESTO(RESTO(SOMARPRODUTO(EXT.TEXTO(A1;LIN($1:$10);1)*(LIN($1:$10)-1));11);10)
As fórmulas usam a forma do manual (pesos 1 a 9 e 0 a 9 da esquerda para a direita, resto 10 vale 0). O CPF está correto quando os dois resultados, lado a lado, são iguais a EXT.TEXTO(A1;10;2). A segunda fórmula usa o 10º dígito que está na célula, então ela confere o número digitado; para calcular os DVs de uma base nova, calcule primeiro o 1º DV e junte-o à base.
Para o CNPJ, numérico ou alfanumérico, com os 14 caracteres em A1, o resto do 1º DV é:
=RESTO(SOMARPRODUTO((CÓDIGO(EXT.TEXTO(A1;LIN($1:$12);1))-48)*(RESTO(12-LIN($1:$12);8)+2));11)
Se esse resto (digamos, em B1) for 0 ou 1, o DV é 0; senão é 11 − B1: =SE(B1<2;0;11-B1). Para o 2º DV, troque os dois 12 por 13. A parte RESTO(12-LIN(…);8)+2 gera os pesos 5, 4, 3, 2, 9, 8 … 2 do cálculo oficial, e CÓDIGO(…)-48 transforma letras e números nos valores da tabela ASCII.
No Excel em inglês e nas Planilhas Google em inglês, as funções se chamam MOD, SUMPRODUCT, MID, ROW, CODE e IF, e os argumentos são separados por vírgula. LIN($1:$9) só serve para gerar a sequência 1 a 9: se você inserir linhas no topo da planilha, o Excel ajusta a referência e a fórmula deixa de funcionar; nesse caso, use LIN(INDIRETO("1:9")). Confira as fórmulas com os exemplos deste guia antes de usar em uma lista grande.
O que o CNPJ alfanumérico muda nos sistemas
- Tipo de campo. Uma coluna numérica (INTEGER, BIGINT, DECIMAL) não guarda letras e ainda perde zeros à esquerda. Use texto de 14 caracteres, por exemplo
CHAR(14), para o CNPJ sem máscara. - Validação de formato. Depois de tirar pontos, barra e hífen, o formato válido é 12 caracteres de 0 a 9 ou A a Z seguidos de 2 dígitos:
^[0-9A-Z]{12}[0-9]{2}$. Expressões como^\d{14}$recusam os novos números. - Letras maiúsculas. A Receita Federal usa letras maiúsculas; converta a entrada para maiúsculas antes de validar e de gravar, para que “12abc…” e “12ABC…” sejam o mesmo CNPJ.
- Máscaras de digitação. Máscaras do tipo 99.999.999/9999-99 bloqueiam letras. Troque por uma que aceite letras nas 12 primeiras posições.
- Integrações. Arquivos, APIs e leiautes de terceiros que tratam o CNPJ como número precisam ser revistos. Converter CNPJ para inteiro em qualquer etapa passa a ser um erro.
- Ordenação e buscas. Com letras, a ordem de texto é a única que faz sentido; índices e buscas por intervalo numérico deixam de funcionar.
- CPF não muda. A mudança vale só para o CNPJ; o CPF continua com 11 dígitos numéricos.
Para testar, o validador gera CNPJs alfanuméricos com DV correto. Eles servem para testar telas e integrações, não para cadastrar empresas.
Erros comuns
- Salvar como número no Excel. CPFs que começam com 0 perdem o zero; formate a coluna como texto antes de colar.
- Esquecer a regra do resto 0 ou 1. Calcular 11 − resto sem essa exceção dá 10 ou 11, que não são dígitos.
- Aceitar números com todos os dígitos iguais. 111.111.111-11 e parecidos passam no cálculo, mas costumam ser usados como preenchimento; muitos sistemas os recusam.
- Confundir validação com consulta. DV correto não quer dizer que o CPF ou o CNPJ esteja inscrito ou regular.
O que um resultado correto não prova
- Inscrição. Para cada base existe exatamente um par de DVs, então cerca de um número aleatório em cada cem passa na verificação. Se um CPF ou CNPJ está inscrito e qual é a situação cadastral, só a Receita Federal informa.
- A pessoa ou a empresa certa. Um número real copiado de outra pessoa passa em qualquer verificação de DV.
- Outros cadastros. Inscrição estadual, NIS/PIS e outros números têm regras próprias, que o validador não confere.
Perguntas frequentes
Meu CNPJ vai mudar por causa do CNPJ alfanumérico?
Não. Segundo a Receita Federal, o CNPJ alfanumérico é atribuído somente a novas inscrições a partir de julho de 2026, e os números existentes não sofrem alteração.
O DV do CNPJ alfanumérico pode ser letra?
Não. Os dois dígitos verificadores são sempre números; as letras só aparecem na raiz e na ordem.
O CPF também vai ter letras?
Não. A mudança anunciada pela Receita Federal é do CNPJ.
Como saber de qual estado é um CPF?
O 9º dígito indica a Região Fiscal do endereço informado na inscrição, por exemplo 8 para SP e 7 para RJ e ES. Ele não indica onde a pessoa mora hoje.
Posso usar um CPF gerado para me cadastrar em algum lugar?
Não. Os números gerados são só para testar sistemas. Podem coincidir com o número de uma pessoa ou empresa real e nunca devem ser usados como identificação.
O validador consulta a Receita Federal?
Não. Ele só calcula os DVs no seu navegador e não envia nem consulta o número em nenhum cadastro.
Fontes
Fonte: Receita Federal: folheto «Cadastros – CPF e CNPJ» · Última verificação:
Fonte: Receita Federal: Cálculo do DV do CNPJ Alfanumérico · Última verificação:
Fonte: Receita Federal / Serpro: Cálculo dos dígitos verificadores de CNPJ alfanumérico · Última verificação:
Fonte: Receita Federal: CNPJ alfanumérico – Perguntas e respostas · Última verificação:
Fonte: Receita Federal: CNPJ Alfanumérico · Última verificação: