Validador de Título de Eleitor
Valide títulos de eleitor pelo algoritmo oficial do TSE, sem enviar dados para servidores. Gratuito e sem cadastro.
Como funciona a validação do Título de Eleitor?
Os dígitos 11 e 12, que são os verificadores, é que o algoritmo TSE confere. O primeiro vem dos 8 dígitos sequenciais; o segundo, do código de estado junto com esse primeiro verificador. SP e MG seguem uma variação do cálculo.
Toda a conferência roda no próprio navegador.
Validação do título de eleitor: a estrutura 8 + UF + DV
O Título de Eleitor é o documento que autoriza um cidadão brasileiro a votar e é regulamentado pelo Código Eleitoral (Lei 4.737/1965). É emitido pelo TSE (Tribunal Superior Eleitoral) através dos 27 Três estaduais. Validar o título no cliente é uma operação determinística: os 12 dígitos contêm dois dígitos verificadores módulo 11 e um código de UF de 2 dígitos que delimita as combinações legais.
Esta página cobre lógica estrita de validação, a regra especial de SP/MG, a tabela de códigos UF, regex de pré-checagem, bibliotecas e padrões de integração. Para gerar títulos sintéticos para popular um banco, veja a ferramenta geradora correspondente.
Anatomia: 8 sequenciais + 2 UF + 2 DV
- Dígitos 1 a 8: número sequencial atribuído pelo cartório eleitoral dentro da UF.
- Dígitos 9 e 10: código da UF (estado de inscrição do eleitor).
- Dígito 11: DV1, calculado a partir dos 8 primeiros dígitos.
- Dígito 12: DV2, calculado a partir do código UF de 2 dígitos mais o DV1.
Algoritmo de DV1 e DV2
Os dois dígitos verificadores usam módulo 11 com uma regra especial para SP (UF=01) e MG (UF=02): quando o resto da divisão é 0, o dígito vira 1 em vez de 0. Demais estados mantêm o resto.
function validarTitulo(valor) {
const d = String(valor).replace(/\D/g, '').padStart(12, '0');
if (d.length !== 12 || /^(\d)\1+$/.test(d)) return false;
const uf = d.slice(8, 10);
if (uf < '01' || uf > '28') return false;
const ufEspecial = uf === '01' || uf === '02';
// DV1 dos 8 primeiros, pesos 2..9
let soma = 0;
for (let i = 0; i < 8; i++) soma += Number(d[i]) * (i + 2);
let dv1 = soma % 11;
if (dv1 === 10) dv1 = 0;
else if (dv1 === 0 && ufEspecial) dv1 = 1;
if (dv1 !== Number(d[10])) return false;
// DV2 da UF + DV1, pesos 7,8,9
const entradaDV2 = uf + String(dv1);
let soma2 = 0;
for (let i = 0; i < 3; i++) soma2 += Number(entradaDV2[i]) * (i + 7);
let dv2 = soma2 % 11;
if (dv2 === 10) dv2 = 0;
else if (dv2 === 0 && ufEspecial) dv2 = 1;
return dv2 === Number(d[11]);
}
Tabela de códigos UF (dígitos 9 e 10)
O TSE codifica a UF de inscrição em um código de 2 dígitos:
01 SP 02 MG 03 RJ 04 RS 05 BA 06 PR 07 CE
08 PE 09 SC 10 GO 11 MA 12 PB 13 PA 14 ES
15 PI 16 RN 17 AL 18 MT 19 MS 20 DF 21 SE
22 AM 23 RO 24 AC 25 AP 26 RR 27 TO 28 Exterior
O código 28 cobre eleitores inscritos no exterior via consulados brasileiros. Qualquer UF fora da faixa 01-28 é automaticamente inválida — um filtro sintático útil antes de chegar ao módulo 11.
A regra especial de SP e MG explicada
Quando SP e MG iniciaram a inscrição eletrônica nos anos 1970, o TSE adotou uma regra que evita DV=0 forçando-o a 1. A motivação era operacional: impressoras da época não distinguiam 0 e O, e os totens de validação confundiam. A regra permaneceu no algoritmo até hoje. Validadores que ignoram isso produzem falsos negativos em títulos perfeitamente legais de SP e MG.
Regex de pré-validação e máscara em formulário
// 12 dígitos, com separadores opcionais
const TITULO_RE = /^\d{4}\s?\d{4}\s?\d{4}$/;
const limpo = input.replace(/\D/g, '');
if (limpo.length < 10 || limpo.length > 12) return 'tamanho inválido';
const completo = limpo.padStart(12, '0');
O cartão físico mostra o número em três grupos de quatro dígitos separados por espaços. As máscaras de UI costumam seguir o mesmo agrupamento.
Bibliotecas: JavaScript, Python, PHP
- brazilian-values (npm):
isTituloEleitor(value). - validation-br (npm):
isTituloEleitor()efakeTituloEleitor(). - validate-docbr (PyPI):
TituloEleitoral().validate(num). - geekcom/validator-docs (Laravel): regra
'titulo_eleitor'.
e-Título: o título digital oficial
Desde 2017 o TSE emite o e-Título, app disponível para iOS e Android. Ele leva um QR Code que contém os 12 dígitos mais uma assinatura digital do TSE. Em campo, mesários escaneiam o QR Code e o app valida em tempo real contra o servidor TSE, sem o eleitor precisar decorar o número. A partir do ciclo eleitoral de 2024, o e-Título é a forma recomendada e a coleta biométrica é obrigatória para novas inscrições desde 2020.
Onde o título ainda importa em 2026
- Votar em eleições federais, estaduais e municipais (obrigatório dos 18 aos 70 anos).
- Licitações públicas (CGU e TCU exigem certidão de quitação eleitoral).
- Concursos públicos e programas federais de bolsa.
- Alguns bancos aceitam como documento complementar junto a RG e CPF.
- Cadastros sociais (CadÚnico, Bolsa Família) aceitam como documento opcional.
- Renovação de passaporte e emissão de CIN na PF.
Cancelamento: 3 turnos sem votar nem justificar
Pela Lei 13.165/2015, o eleitor que deixa de votar e não apresenta justificativa (pelo e-Título ou presencial no TRE) por três turnos consecutivos tem a inscrição cancelada automaticamente. O número não some — fica no banco do TSE — mas perde validade para qualquer uso oficial até o cidadão pedir regularização presencial no Cartório Eleitoral, pagando multas pendentes.
Validador de título de eleitor
O título de eleitor tem dígitos verificadores calculados pelo algoritmo do TSE. Refazer essa conta confirma que o número está bem formado. O validador roda o cálculo oficial e responde em seguida se o título é matematicamente válido.
Dá para usar na conferência de um cadastro, na validação de um formulário ou na limpeza de uma base que contenha esse documento. A verificação confere a estrutura e os dígitos, pegando erros de digitação, sem tocar na base do TSE, que não é pública.
Toda a validação acontece no navegador, sem mandar dados a servidores. É gratuita e privada, e nada do que você digita sai do dispositivo.
Perguntas frequentes
O título sempre tem 12 dígitos?
Por que alguns números de SP e MG terminam com DV=1 quando o algoritmo dá 0?
O app e-Título substitui o cartão físico?
Existe API pública do TSE?
Uma pessoa pode ter mais de um título?
Ferramentas Relacionadas
Validador de PIS/PASEP
Valide números de PIS/PASEP pelo algoritmo oficial com dígito verificador, sem enviar dados para servidores. Gratuito e sem cadastro.
Validador de RENAVAM
Valide números de RENAVAM pelo algoritmo oficial do DENATRAN, sem enviar dados para servidores. Gratuito e sem cadastro.
Validador de Email
Verifique se um endereço de email é válido. Analisa a estrutura, domínio e parte local. Processado no navegador, sem enviar o email para nenhum servidor.
Validador de CNPJ
Valide CNPJs instantaneamente pelo algoritmo oficial da Receita Federal, sem enviar dados para nenhum servidor. Gratuito e sem cadastro.
Validador de RG
Valide números de RG no formato SP (9 dígitos + dígito verificador). Verificação no navegador, sem enviar dados para servidores.
Validador de CUSIP
Valida CUSIPs (Committee on Uniform Securities Identification Procedures) — IDs de 9 caracteres usados em mercados americanos.