1001Ferramentas
Validadores

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?

O algoritmo TSE valida os dígitos 11 e 12 (verificadores). O primeiro é calculado sobre os 8 dígitos sequenciais; o segundo, sobre o código de estado e o primeiro verificador. SP e MG usam uma variação do cálculo.

A verificação acontece inteiramente no seu navegador.

Validacao do titulo de eleitor: a estrutura 8 + UF + DV

O Titulo de Eleitor e o documento que autoriza um cidadao brasileiro a votar e e regulamentado pelo Codigo Eleitoral (Lei 4.737/1965). E emitido pelo TSE (Tribunal Superior Eleitoral) atraves dos 27 TREs estaduais. Validar o titulo no cliente e uma operacao deterministica: os 12 digitos contem dois digitos verificadores modulo 11 e um codigo de UF de 2 digitos que delimita as combinacoes legais.

Esta pagina cobre logica estrita de validacao, a regra especial de SP/MG, a tabela de codigos UF, regex de pre-checagem, bibliotecas e padroes de integracao. Para gerar titulos sinteticos para popular um banco, veja a ferramenta geradora correspondente.

Anatomia: 8 sequenciais + 2 UF + 2 DV

  • Digitos 1 a 8: numero sequencial atribuido pelo cartorio eleitoral dentro da UF.
  • Digitos 9 e 10: codigo da UF (estado de inscricao do eleitor).
  • Digito 11: DV1, calculado a partir dos 8 primeiros digitos.
  • Digito 12: DV2, calculado a partir do codigo UF de 2 digitos mais o DV1.

Algoritmo de DV1 e DV2

Os dois digitos verificadores usam modulo 11 com uma regra especial para SP (UF=01) e MG (UF=02): quando o resto da divisao e 0, o digito vira 1 em vez de 0. Demais estados mantem 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 codigos UF (digitos 9 e 10)

O TSE codifica a UF de inscricao em um codigo de 2 digitos:

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 codigo 28 cobre eleitores inscritos no exterior via consulados brasileiros. Qualquer UF fora da faixa 01-28 e automaticamente invalida — um filtro sintatico util antes de chegar ao modulo 11.

A regra especial de SP e MG explicada

Quando SP e MG iniciaram a inscricao eletronica nos anos 1970, o TSE adotou uma regra que evita DV=0 forcando-o a 1. A motivacao era operacional: impressoras da epoca nao distinguiam 0 e O, e os totens de validacao confundiam. A regra permaneceu no algoritmo ate hoje. Validadores que ignoram isso produzem falsos negativos em titulos perfeitamente legais de SP e MG.

Regex de pre-validacao e mascara em formulario

// 12 digitos, 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 invalido';
const completo = limpo.padStart(12, '0');

O cartao fisico mostra o numero em tres grupos de quatro digitos separados por espacos. As mascaras de UI costumam seguir o mesmo agrupamento.

Bibliotecas: JavaScript, Python, PHP

  • brazilian-values (npm): isTituloEleitor(value).
  • validation-br (npm): isTituloEleitor() e fakeTituloEleitor().
  • validate-docbr (PyPI): TituloEleitoral().validate(num).
  • geekcom/validator-docs (Laravel): regra 'titulo_eleitor'.

e-Titulo: o titulo digital oficial

Desde 2017 o TSE emite o e-Titulo, app disponivel para iOS e Android. Ele leva um QR Code que contem os 12 digitos mais uma assinatura digital do TSE. Em campo, mesarios escaneiam o QR Code e o app valida em tempo real contra o servidor TSE, sem o eleitor precisar decorar o numero. A partir do ciclo eleitoral de 2024, o e-Titulo e a forma recomendada e a coleta biometrica e obrigatoria para novas inscricoes desde 2020.

Onde o titulo ainda importa em 2026

  • Votar em eleicoes federais, estaduais e municipais (obrigatorio dos 18 aos 70 anos).
  • Licitacoes publicas (CGU e TCU exigem certidao de quitacao eleitoral).
  • Concursos publicos e programas federais de bolsa.
  • Alguns bancos aceitam como documento complementar junto a RG e CPF.
  • Cadastros sociais (CadUnico, Bolsa Familia) aceitam como documento opcional.
  • Renovacao de passaporte e emissao de CIN na PF.

Cancelamento: 3 turnos sem votar nem justificar

Pela Lei 13.165/2015, o eleitor que deixa de votar e nao apresenta justificativa (pelo e-Titulo ou presencial no TRE) por tres turnos consecutivos tem a inscricao cancelada automaticamente. O numero nao some — fica no banco do TSE — mas perde validade para qualquer uso oficial ate o cidadao pedir regularizacao presencial no Cartorio Eleitoral, pagando multas pendentes.

FAQ

O titulo sempre tem 12 digitos? Sim, desde a unificacao dos anos 1980. Cartoes antigos de 10 digitos devem ser preenchidos com zeros a esquerda para validacao.

Por que alguns numeros de SP e MG terminam com DV=1 quando o algoritmo da 0? Pela regra especial: quando o resto do modulo 11 e 0 para UF=01 ou 02, o digito vira 1.

O app e-Titulo substitui o cartao fisico? Sim, o TSE reconhece o e-Titulo como versao digital oficial e ele e aceito nas secoes eleitorais.

Existe API publica do TSE? Acesso publico e muito limitado. Apenas o proprio cidadao, apos login com CPF no gov.br, ve os dados completos da sua inscricao.

Uma pessoa pode ter mais de um titulo? Nao. Duplicidade e crime pelo artigo 350 do Codigo Eleitoral e o sistema biometrico do TSE desde 2020 detecta e cancela ativamente duplicidades.

Ferramentas Relacionadas

Valide um título de eleitor

O título de eleitor tem dígitos verificadores calculados pelo algoritmo do TSE, e conferir esse cálculo confirma que o número está bem formado. Este validador refaz a conta oficial e diz na hora se o título é matematicamente válido.

É útil para conferir um cadastro, validar um formulário ou limpar uma base de dados que contenha esse documento. A verificação confirma a estrutura e os dígitos do número — pegando erros de digitação — sem consultar a base do TSE, que não é pública.

A validação roda inteiramente no navegador, sem enviar dados para servidores. Gratuito e privado: nada do que você digita sai do dispositivo.