Sobre os dados
De onde vêm os números
Todos os números de eleição do site vêm de publicações oficiais do Tribunal Superior Eleitoral (TSE). Não há pesquisa própria nem estimativa. A única outra fonte é geográfica, do Instituto Brasileiro de Geografia e Estatística (IBGE), e não traz nenhum resultado: o centro de cada município, usado só pelo botão "Usar minha localização".
Resultados de 2026: arquivos oficiais assinados, um por município, do site de resultados do TSE (resultados.tse.jus.br), coletados em 26/10/2026. Estão finalizados nos dois turnos: 5.571 municípios, 497.897 de 497.897 seções apuradas, mais 186 postos de votação no exterior.
Resultados de 2018 e 2022: bases de dados abertos do TSE com a votação de presidente por município e zona, coletadas em 26/10/2026 e somadas por município — 5.570 municípios por ciclo, só as linhas de presidente do arquivo nacional.
Manifesto dos dados
Cada fonte fica registrada em data/manifest.json, no repositório: endereço, data da coleta (UTC), tamanho original em bytes e hash SHA-256 do arquivo baixado. Assim dá para conferir sempre se o que o TSE publica hoje é o mesmo arquivo que gerou os números daqui.
- votacao_candidato_munzona_2018.zipDados abertos do TSE: votos de presidente por município e zonaColeta (UTC): 26/10/2026 21:55 · 395.389.280 bytes · SHA-256: f880848ef4ba…
- detalhe_votacao_munzona_2018.zipDados abertos do TSE: aptos, comparecimento, abstenção, brancos e nulosColeta (UTC): 26/10/2026 21:55 · 4.269.741 bytes · SHA-256: df68c258a226…
- votacao_candidato_munzona_2022.zipDados abertos do TSE: votos de presidente por município e zonaColeta (UTC): 26/10/2026 21:55 · 642.592.078 bytes · SHA-256: 56265a50afc3…
- detalhe_votacao_munzona_2022.zipDados abertos do TSE: aptos, comparecimento, abstenção, brancos e nulosColeta (UTC): 26/10/2026 21:55 · 4.429.327 bytes · SHA-256: dbf41c5e95c2…
- resultados.tse.jus.br/oficial/ele2026Resultados oficiais assinados, um arquivo por município (1º e 2º turnos)11.517 arquivos · 11.516 finais · geração mais recente do TSE: 25/10/2026 23:27 · digest dos arquivos: 62db05bd3b2b…Coleta (UTC): 26/10/2026
- servicodados.ibge.gov.br/api/v3/malhas (metadados por estado)IBGE: centro de cada município, para o botão "Usar minha localização" (só geografia, nenhum resultado)27 arquivos · digest dos arquivos: 32453d216cc6…Coleta (UTC): 27/10/2026 18:44
O digest da linha de 2026 reúne em um único SHA-256 o hash de cada arquivo coletado, ordenado por nome, e a geração é a data mais recente que o TSE marcou em um arquivo coletado. Manifesto no GitHub: data/manifest.json ›
O site lê só as tabelas que o pipeline grava somadas por município: cities.csv (5.760 linhas), turnout.csv (34.498 linhas), votes.csv (240.981 linhas), candidates.csv (42 linhas), centroids.csv (5.570 linhas), todas conferidas contra o manifesto. Os centros dos municípios (centroids.csv) vêm do serviço de malhas do IBGE, um arquivo por estado; o município de Boa Esperança do Norte/MT, criado depois da malha que o IBGE publica, não tem centro e por isso nunca é oferecido como a cidade mais próxima. Os arquivos originais do TSE ficam no cache da coleta, não no site: nada aqui baixa de novo um arquivo do TSE para mostrar um número.
Como os números do site são calculados
- Votos válidos: a soma dos dois candidatos do 2º turno; brancos e nulos ficam de fora. A porcentagem de um candidato divide os votos dele por esses votos válidos.
- Votaram / Não votaram: "Votaram" divide os votos válidos pelo eleitorado apto do turno; "Não votaram" é o resto do eleitorado, repartido em abstenção, brancos e nulos. Nulos incluem os que o TSE anota à parte como anulados em apuração separada.
- Porcentagens inteiras: as fatias de cada barra são arredondadas de forma que somem exatamente 100%. Por isso uma fatia pode ficar uma décima acima ou abaixo do exato.
- Margem (pp): a diferença entre as porcentagens de votos válidos dos dois candidatos do 2º turno, em pontos percentuais. Com 33,6% e 30,0% dos votos válidos, a margem é 3,6 pp.
- Virada: a mudança da margem entre dois resultados, em pontos percentuais — do 1º para o 2º turno de 2026, ou de 2026 contra 2022. Na comparação com 2022, Lula é comparado com Lula e Flavio Bolsonaro com Bolsonaro, que foi o candidato de número 22 nos dois anos.
- Grupos: cidades agrupadas pelo vencedor do 2º turno de 2018 e de 2022; cada grupo mostra o resultado de 2026 pela porcentagem de cidades. Venceu quem teve mais votos que o outro candidato do 2º turno; empates ficam fora das barras e aparecem como nota.
- Exterior: os postos de votação fora do Brasil (UF
zz) entram nos totais nacionais e não entram nos agregados por região e por estado.
O que foi conferido
- Em cada município e turno: votos válidos + brancos + nulos + anulados em apuração separada = comparecimento.
- No 2º turno de cada ciclo: a soma dos votos dos dois candidatos iguala os votos válidos de cada município.
- Os totais do Brasil são os totais oficiais do TSE, com o exterior incluído: no 2º turno de 2026, Lula 64.256.232, Flavio Bolsonaro 59.826.041, 124.082.273 votos válidos — os mesmos números do arquivo nacional do próprio TSE, não uma soma parcial.
- A votação por município de 2018 e 2022 bateu, município por município, com os arquivos da etapa anterior de análise deste projeto.
- Rodar
make dataduas vezes deixa cada arquivo byte a byte igual: UTF-8, mesma ordem de linhas, sem carimbo de hora dentro dos dados (as datas ficam no manifesto). make data-checkrevalida sem rede: tamanho e SHA-256 de cada tabela, contagem de linhas e as regras de soma acima.
O que ainda não temos
- Relatório da janela de extensão de horário de votação: não entra nesta versão (v1). Por isso nada no site diz quando uma seção abriu atrasada ou fechou depois do horário.
- Dados mais finos do TSE: por seção, por local de votação e por bairro. Esta versão usa só o total por município; nada aqui mostra urna, seção ou bairro.
Limites
- Os percentuais de 2018 e 2022 usam como base os dois candidatos do 2º turno de cada ciclo.
- Boa Esperança do Norte/MT existe só em 2026 e não tem dados nos ciclos anteriores: 5.570 de 5.571 municípios por ciclo. O site mostra "sem dados", não zero.
- Salvador/BA, 1º turno de 2018, zona 18: o comparecimento inclui 746 votos que não são válidos, brancos nem nulos — o TSE os marca como anulados em apuração separada. Os arquivos deste projeto têm uma coluna só para esses votos, e a conta acima só fecha com ela.
- Eleitorado apto nem sempre fecha com comparecimento + abstenção: em 2018 restam 470 eleitores e, em 2022, 657 — seções não instaladas, que o TSE informa; em 2026 restam 423, sem campo correspondente nos arquivos. Como "Não votaram" parte do eleitorado apto, esse resto está contado ali.
- Postos do exterior em 2026: 40 deles (de 186) não estavam instalados — eleitorado declarado, comparecimento zero em 80 postos-turno.
- Constantes nacionais de 2018 e 2022 do manifesto foram copiadas das páginas de resultados do TSE na coleta de 26/10/2026 e não puderam ser re-verificadas em outra fonte nesse dia (arquivos históricos do TSE fora do ar). Exceção: o eleitorado de 2022 (156.454.011), re-verificado no arquivo de perfil de comparecimento do TSE.
- O mapa por estado mostra área, não eleitores.
- Compare cidades por pontos percentuais, não por votos absolutos: o eleitorado de cada município é muito diferente.
Confira você mesmo
- Abra o manifesto do repositório e escolha a fonte do resultado que quer conferir.
- Baixe o arquivo no TSE pelo endereço do manifesto e confira o hash: o arquivo publicado hoje deve bater com o SHA-256 registrado.
- Some os votos de presidente do município e compare com o número na página dele.
- No repositório, rode
make data-check: refaz, sem rede, todas as conferências da lista acima.
Edições dos dados
Uma edição é uma cópia datada de todos os dados do site, publicada em um endereço próprio que nunca muda depois de publicado. Uma edição nova não apaga nem altera as anteriores: um número citado de uma edição continua o mesmo para quem abrir o endereço depois. O rodapé de cada página diz de qual edição vêm os números e leva até ela.
Edição que o site mostra agora: 27/10/2026. Todas as edições, da mais nova para a mais antiga: lista de edições e feed Atom.
Final, não ao vivo
O site mostra resultados finais, não apuração ao vivo. Uma edição nova só é publicada quando o TSE marcou como final o resultado de todos os municípios e turnos de 2026 e quando as conferências passam: o formato das tabelas, os totais nacionais iguais aos do TSE e dois builds que dão exatamente os mesmos bytes. Dados parciais nunca são publicados. Se uma conferência falha, nada é publicado, o motivo fica registrado no repositório e as edições já publicadas continuam como estão. Cada publicação automática aparece no feed, com as conferências que passou.
Dados abertos de cada edição
A página de cada edição oferece os resultados por município em CSV e NDJSON, com dicionário de dados, LEIAME, arquivo de citação e o SHA-256 de cada arquivo. Os arquivos são distribuídos sob a licença Creative Commons Atribuição 4.0 (CC BY 4.0): cite o TSE como origem dos resultados e o projeto pela compilação. Os resultados em si são publicações oficiais do TSE.
Como citar uma edição
Voto a Voto. Resultados da eleição presidencial por município, edição de 27/10/2026 (2026-10-27). https://voto-a-voto.com/edicoes/2026-10-27/
Cite sempre o endereço da edição, não o de uma página do site, que mostra a edição mais recente.
Código aberto
Página do projeto: github.com/hvasoares/voto-a-voto-oss.
O pipeline que coleta e confere os dados, o manifesto das fontes e o código deste site ficam no repositório, abertos para conferência.
Fontes e licença
Nenhum material de terceiros é usado no site: as fontes do texto são as do navegador do leitor e toda figura é desenhada a partir dos dados do TSE e da geografia do IBGE. Os números vêm das publicações oficiais do TSE listadas em "De onde vêm os números" — os resultados assinados de 2026 e o diretório de dados abertos do TSE; o IBGE só dá o centro de cada município.
O repositório distribui os arquivos somados a partir desses originais e registra, no manifesto, o URL, a data e o hash de cada um deles: a versão exata usada pode ser conferida a qualquer momento junto ao TSE.
Privacidade
O que este site coleta de você: nada pessoal.
- A navegação é estática; não há conta nem formulário.
- O texto digitado na busca não é enviado: a busca roda no próprio navegador.
- O botão "Usar minha localização" só pede a posição ao navegador depois do seu toque. A posição é usada no seu aparelho, contra o centro de cada município, para abrir a cidade mais próxima; ela não é enviada nem guardada, e o site só baixa a lista dos centros (um arquivo igual para todos).
- Para medir como o site é usado, este site usa o Google Analytics — páginas vistas, cidades e relatórios abertos, quantos resultados uma busca mostrou (nunca o texto digitado), imagens baixadas, a tela do QR e a impressão do pôster. Ao utilizar nossos serviços, você está ciente dessa funcionalidade; o aviso aparece na primeira visita e o botão "Prosseguir" o guarda como visto.
- Nada pessoal é enviado e nenhuma função do site depende dessa medição: se preferir, bloqueie o domínio googletagmanager.com no seu navegador e o site continua inteiro.
O que fica guardado no seu aparelho
O site lembra de poucas coisas, só no navegador deste aparelho (armazenamento local). Nada disso é enviado a nós nem a ninguém, e nenhuma delas é necessária: com o armazenamento do navegador bloqueado, o site funciona inteiro, apenas sem lembrar.
voto-a-voto:place: a cidade ou o estado que você escolheu na página inicial, para o atalho "Sua cidade".voto-a-voto:register: a linguagem escolhida no cartão da cidade (padrão ou simples).voto-a-voto:notice: o aviso de medição já visto (o botão "Prosseguir").
O atalho "Sua cidade" da página inicial mostra o que você escolheu; "esquecer meus dados", nele, apaga tudo o que está na lista acima.
Anúncios e apoio
Doações e análise de uso são separadas. Não há anúncios em nenhuma página.