Quem já preencheu um cadastro online e recebeu a mensagem “CPF inválido” logo depois de digitar o número viu os dígitos verificadores em ação. Eles são os dois últimos números do CPF e do CNPJ, e permitem que qualquer sistema detecte a maioria dos erros de digitação sem consultar a Receita Federal. Neste guia, você vai entender como eles são calculados, por que funcionam e como validar esses documentos em uma planilha ou em um sistema.
A ideia por trás dos dígitos verificadores
Um dígito verificador é um número calculado a partir dos demais e anexado ao final. Quando alguém digita o documento, o sistema refaz a conta: se o resultado não bater com os dígitos digitados, houve erro. A técnica é antiga e aparece em muitos lugares, como códigos de barras, contas bancárias, cartões de crédito e números de ISBN de livros.
O CPF e o CNPJ usam o método do módulo 11: cada dígito é multiplicado por um peso, os produtos são somados e o resto da divisão por 11 define o verificador. Como os pesos são diferentes para cada posição, trocar um número ou inverter dois vizinhos quase sempre muda o resultado.
O cálculo do CPF
- Pegue os 9 primeiros dígitos e multiplique-os pelos pesos 10, 9, 8, 7, 6, 5, 4, 3 e 2.
- Some os produtos e calcule o resto da divisão por 11.
- Se o resto for 0 ou 1, o primeiro dígito é 0. Caso contrário, é 11 menos o resto.
- Para o segundo dígito, repita com os 10 dígitos (os 9 originais e o primeiro verificador), usando os pesos de 11 a 2.
Exemplo com 529.982.247-25: a soma ponderada dos nove primeiros dígitos é 295, o resto por 11 é 9 e o primeiro dígito é 2. Na segunda rodada, a soma é 347, o resto é 6 e o segundo dígito é 5. O CPF é válido. A ferramenta de CPF mostra essa validação na hora.
O cálculo do CNPJ, inclusive o alfanumérico
O CNPJ usa a mesma lógica, com 12 posições e pesos diferentes: 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3 e 2 para o primeiro dígito, e 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3 e 2 para o segundo. Desde julho de 2026, novos CNPJs podem ter letras nas 12 primeiras posições. Para o cálculo, cada caractere vira um número igual ao seu código ASCII menos 48: os algarismos continuam valendo eles mesmos, e as letras vão de A = 17 a Z = 42. Os dois dígitos verificadores continuam sempre numéricos.
Com essa conversão, a validação de 12.ABC.345/01DE-35 funciona exatamente como a de um CNPJ numérico. Teste na ferramenta de CNPJ.
Por que o módulo 11 pega tantos erros
Os erros mais comuns de digitação são dois: trocar um dígito por outro e inverter dois dígitos vizinhos. O módulo 11 com pesos diferentes detecta a grande maioria dos dois tipos. Isso acontece porque 11 é um número primo e os pesos mudam a cada posição: uma alteração isolada sempre muda o resto da divisão por 11. A única brecha vem da regra que transforma os restos 0 e 1 no mesmo dígito verificador, 0: quando o erro troca um desses restos pelo outro, ele passa despercebido. São casos raros.
O que ele não detecta são erros “combinados” que, por coincidência, mantêm a soma, e números inventados que alguém montou de propósito com os verificadores corretos. Por isso a validação matemática diz apenas que o número pode existir, e não que ele existe.
Validando em um sistema
A lógica de validação cabe em poucas linhas em qualquer linguagem. Em JavaScript, por exemplo:
function digitoCpf(digitos, pesoInicial) {
let soma = 0;
for (let i = 0; i < digitos.length; i++) soma += Number(digitos[i]) * (pesoInicial - i);
const resto = soma % 11;
return resto < 2 ? 0 : 11 - resto;
}
function cpfValido(texto) {
const n = texto.replace(/\D/g, "");
if (n.length !== 11 || /^(\d)\1{10}$/.test(n)) return false;
const d1 = digitoCpf(n.slice(0, 9), 10);
const d2 = digitoCpf(n.slice(0, 9) + d1, 11);
return n.endsWith(String(d1) + String(d2));
}
Três cuidados que muitos sistemas esquecem:
- Rejeite números com todos os dígitos iguais, como 111.111.111-11: eles passam na conta, mas não são documentos válidos.
- Prepare o banco de dados para o CNPJ alfanumérico. Campos numéricos e validações que só aceitam dígitos precisam ser revistos, guardando o CNPJ como texto de 14 caracteres.
- Normalize antes de guardar: remova pontos, barras e hífens, e converta letras para maiúsculas.
Validar não é consultar
A validação dos dígitos não diz se o CPF pertence a alguém, se está regular ou se corresponde ao nome informado. Para isso existem as consultas oficiais da Receita Federal, que exigem dados adicionais, e serviços contratados por empresas. Em processos sensíveis, como abertura de conta ou concessão de crédito, a validação matemática é só o primeiro filtro.
CPF e LGPD
O CPF é um dado pessoal protegido pela Lei Geral de Proteção de Dados. Se o seu sistema coleta CPF, peça apenas quando houver necessidade real, informe a finalidade, guarde com segurança e evite exibi-lo completo em telas e relatórios. Uma prática comum é mostrar só parte do número, como ***.982.247-**. Para testes de software, use números gerados, nunca CPFs de clientes reais: o gerador de CPF cria números válidos e fictícios para isso.