Primeiro verificador
Os nove digitos base sao multiplicados por pesos de 10 a 2. A soma entra na regra do modulo 11 para gerar o decimo digito do CPF.
Quando alguem procura como validar CPF, normalmente quer duas respostas: como os dois digitos finais sao calculados e por que um numero pode ser matematicamente valido sem ser um CPF real. Esta pagina resolve as duas.
O CPF usa nove digitos de base e dois verificadores. O processo abaixo explica a conta que faz um numero ser aceito como CPF valido em formularios e APIs.
Eles formam a base numerica. O nono digito indica a regiao fiscal do cadastro inicial.
Multiplique os nove digitos por pesos de 10 a 2, some tudo e aplique a regra do modulo 11. Se o resto for menor que 2, o digito vira 0.
Repita a conta com os nove digitos base mais o primeiro verificador, agora usando pesos de 11 a 2.
Se os verificadores calculados forem iguais aos dois ultimos digitos do numero, o CPF e matematicamente valido.
Resumo rapido
O site nao consulta base da Receita Federal. Ele apenas reproduz a mesma regra matematica usada para validar estrutura e digitos verificadores.
function calcularCpf(base) {
const d1 = digito(base, 10)
const d2 = digito(base + d1, 11)
return base + d1 + d2
}
function digito(numero, pesoInicial) {
const soma = numero
.split('')
.reduce((acc, digito, indice) => acc + Number(digito) * (pesoInicial - indice), 0)
const resto = soma % 11
return resto < 2 ? '0' : String(11 - resto)
} Os nove digitos base sao multiplicados por pesos de 10 a 2. A soma entra na regra do modulo 11 para gerar o decimo digito do CPF.
A conta recomeca com o primeiro verificador incluido. Os pesos passam a ir de 11 a 2 e o resultado define o ultimo digito.
O algoritmo so verifica consistencia estrutural. Ele nao consulta Receita Federal, nao prova titularidade e nao informa situacao cadastral.
Saber como o CPF e validado melhora testes de front-end, seeds de banco, validacoes de API, debug de mascara e revisao de regras de negocio. Tambem ajuda a explicar por que um cadastro foi rejeitado mesmo com 11 digitos aparentes.
Atalho util
Para testar de imediato, use o gerador de CPF na home e depois valide o mesmo numero em Validar CPF.