CPF por Estado: O Significado do Dígito Regional
O nono dígito do CPF (o último antes dos dois dígitos verificadores) indica a região fiscal onde o CPF foi emitido. São 10 regiões (dígitos 0 a 9), cada uma cobrindo um ou mais estados brasileiros.
Formato do CPF
XXX.XXX.XX R -VV
↑ ↑↑
│ └┘ Dígitos verificadores (calculados pelo algoritmo)
└─── Dígito regional (9º dígito)O CPF 529.982.24**7**-25 tem dígito regional 7, indicando emissão na região fiscal que cobre Minas Gerais, Espírito Santo, Rio de Janeiro.
Tabela de dígitos regionais
| Dígito | Região fiscal | Estados |
|---|---|---|
| 0 | 5ª Região (Porto Alegre) | Rio Grande do Sul |
| 1 | 8ª Região (São Paulo) | Distrito Federal, Goiás, Mato Grosso, Mato Grosso do Sul, Tocantins |
| 2 | 3ª Região (Fortaleza) | Amazonas, Pará, Roraima, Amapá, Acre, Rondônia |
| 3 | 2ª Região (Belém) | Ceará, Maranhão, Piauí |
| 4 | 4ª Região (Recife) | Paraíba, Pernambuco, Alagoas, Rio Grande do Norte |
| 5 | 5ª Região (Salvador) | Bahia, Sergipe |
| 6 | 6ª Região (Belo Horizonte) | Minas Gerais |
| 7 | 7ª Região (Rio de Janeiro) | Rio de Janeiro, Espírito Santo |
| 8 | 8ª Região (São Paulo) | São Paulo |
| 9 | 9ª Região (Curitiba) | Paraná, Santa Catarina |
Observações importantes
O dígito regional indica onde o CPF foi emitido, não onde a pessoa mora. Uma pessoa nascida no Rio Grande do Sul (dígito 0) que se mudou para São Paulo continua com o mesmo CPF. O dígito reflete o cadastro original, não o endereço atual.
CPFs emitidos pela internet (a partir de 2010 aproximadamente) podem ter o dígito baseado no endereço informado no momento do cadastro, não necessariamente na região fiscal da repartição.
O dígito regional não é uma regra de validação. O algoritmo de módulo 11 verifica apenas os dois dígitos verificadores (10º e 11º). O dígito regional (9º) entra no cálculo como qualquer outro dígito, mas não é verificado isoladamente.
Uso prático
O dígito regional pode ser usado para:
- Análise demográfica: distribuição geográfica de cadastros em um sistema
- Detecção de fraude: CPF com dígito regional inconsistente com o endereço informado pode indicar dado falso (mas não é conclusivo, pessoas migram)
- Geração de CPF para testes: ao gerar CPFs para ambientes de teste, o dígito regional permite simular distribuição geográfica realista
function getRegiao(cpf) {
const digits = cpf.replace(/\D/g, "");
if (digits.length !== 11) return null;
const regioes = {
"0": "RS",
"1": "DF, GO, MT, MS, TO",
"2": "AM, PA, RR, AP, AC, RO",
"3": "CE, MA, PI",
"4": "PB, PE, AL, RN",
"5": "BA, SE",
"6": "MG",
"7": "RJ, ES",
"8": "SP",
"9": "PR, SC",
};
return regioes[digits[8]] || null;
}
getRegiao("529.982.247-25"); // "RJ, ES"
getRegiao("123.456.780-62"); // "RS"Distribuição dos CPFs
São Paulo (dígito 8) e Minas Gerais (dígito 6) concentram a maior parte dos CPFs emitidos, refletindo a população desses estados. Os dígitos 0 (RS) e 2 (região Norte) cobrem as menores parcelas.
Isso explica por que o gerador de CPF permite filtrar por estado: os 9 primeiros dígitos são gerados aleatoriamente com o dígito regional correspondente, e os dois verificadores são calculados pelo algoritmo.
Por que isso importa para desenvolvedores
- CPFs com zero à esquerda são reais: dígito 0 (RS) gera CPFs como
0XX.XXX.XX0-XX. Se seu sistema perde zeros à esquerda, CPFs gaúchos ficam inválidos - O dígito regional não é validação: não rejeite um CPF porque o dígito não “bate” com o estado informado, a pessoa pode ter migrado
- Testes distribuídos: ao popular bancos de teste, varie o dígito regional para cobrir edge cases (especialmente o dígito 0 para testar zeros à esquerda)
Veja também: algoritmo de validação do CPF e validar CPF em 9 linguagens.