Boletins 2026 · independent analysis Support
2nd Round Count 2026
Independent analysis · public data from the TSE · 2026 presidential election

2nd Round Count 2026

Reconstruction of the tally from the 499,205 voting machine reports published by the TSE (Brazil’s Superior Electoral Court). Each report enters the count at the minute it was received by the Electoral Justice.

This analysis is not from the TSE and has no ties to candidates or parties. It describes numbers and shows how to check each one. Dashboard · Ask the database · TSE datasets · privacy.

17:00Brasília time
Sections tallied 0.00% Machines closed 0.00%
Lula–0 votes
Flávio Bolsonaro–0 votes
0Turnout
0Blank
0Null
–Difference

Lula’s valid votes

Lula’s % of valid votes50%

Voting machine closing and arrival of reports

Machines closedReports received by the TSE

By state

Leader’s margin in points of valid votes · bar = sections tallied

Result by voting machine closing time

Closing converted to Brasília time
ClosingSectionsVotersLulaFlávio
Regular hours (until 17:15)490,018125,610,30551.70%48.30%
↳ até 17h00min59s125.65231.608.25449,01%50,99%
↳ 17h01 a 17h14364.35593.999.24852,61%47,39%
17:15 to 18:592,819766,48257.28%42.72%
Extension (19:00 or later)6,3521,861,25955.18%44.82%

In the machines that closed at 19:00 or later, Lula built a lead of about 186,000 votes, against a final difference of 4.43 million. Almost half of these sections were in Rio de Janeiro (2,805), where Flávio won in them with 54.2%.

Investigation

Why the 17:00 machines voted differently

Sections that closed at 17:00 gave Flávio the lead, and those that closed a few minutes later gave Lula the lead. Three tests show that the difference comes from which sections close in each minute, not from the time itself.

1. The same sections already voted this way in the 1st round

Closing in the 2nd roundSectionsEligible per sectionLula 2nd roundLula 1st round*
17:00125,65231049.0%46.3%
17:01154,60131351.2%48.4%
17:0283,29531952.2%49.4%
17:0348,06432353.1%50.3%
17:0518,95533155.3%52.5%
17:101,78135059.2%56.6%

* Lula ÷ (Lula + Flávio) in the same sections on October 4, when they closed at a different time. The gain between rounds is about 2.8 points in every minute.

2. The sections that close at 17:00 are a different Brazil

The South closes on time: 47% of sections in SC, 43% in RS and 38% in PR closed at 17:00, against 15% in RJ and PE and 3% in DF. Larger sections have longer lines at the end of the day: 310 eligible voters on average at 17:00, against 350 at 17:10. In São Paulo, only 7% of sections in the state capital closed at 17:00, against 23% in the rest of the state. Lula had about 55% in the capital and 41% to 43% in the rest.

3. Comparing sections from the same place, the difference disappears

ComparisonLula: later − 17:00 (2nd round)Same sections in the 1st round
All of Brazil+3.60 pts+3.53 pts
Within the same state+1.25 pts+1.21 pts
Within the same municipality+0.23 pt+0.18 pt

Average weighted by valid votes across municipalities with at least 500 valid votes in each group (5,157 municipalities). "Later" = 17:01 to 17:14.

Moments of the night

    1st round · Oct 4, 2026

    The night the count froze

    Voting machine reports received by the TSE per minute, all states. The band marks the official pause in the national release of results (19:14 to 20:04).

    Reports per minuteNational release stopped
    TimeWhat happenedReceivedFlávioLula

    What the reports show. The national screen froze at 64.81%, a level that the received reports had reached at 19:03. In other words, the release was already about 11 minutes behind reception. At 19:22 reception itself slowed down, and between 19:32 and 19:59 no report from any state was recorded as received.

    Why it seemed to last almost 2 hours. The release resumed at 20:04, but the queue was processed at a reduced pace: about 500 reports per minute until 20:43, against an average of 4,500 between 18:10 and 19:20. The pace only returned to normal around 20:47. From the slowdown (19:22) to the return to normal, about 1 h 25 min passed. For those watching the screen, the national count was stopped or slow from 19:14 until close to 20:50.

    Caveat. The DT_BU_RECEBIDO field records when the report was accepted by the tally. A report transmitted during the failure and processed later appears with the processing time. That is why the 27-minute gap shows a stoppage in processing, without proving that the machines stopped transmitting. This is consistent with the TSE’s explanation of a "containment in data processing". The lead did not change sides: Flávio led from the first to the last report, and the final totals match the official tally (Flávio 47.03%, Lula 45.16%).

    From the voting machine to the TSE

    Pace of report arrivals in both rounds

    Reports received by the TSE per minute (5-minute moving average). Most voting machines do not transmit directly: the storage media with the result is taken to a transmission point. That is why the interval between the issuing of the report and its receipt includes transport, sending and processing.

    1st round (Oct 4)2nd round (Oct 25)
    1st round2nd round
    Reports issued by 17:1065%96%
    Receipt began17:00 (continuous)17:05, held from 17:08 to 19:03
    Issue → receipt (median)88 min200 min (86 min counting from 19:00)
    Peak receipt~5,000/min (18:10–19:20)~5,800/min (20:20–21:00)
    Interruptions19:32–19:59 nothing received; ~500/min from 20:03 to 20:43None after 19:03
    90% received at~20:10~21:00

    1st round. The flow rose to a plateau of about 5,000 reports per minute and dropped twice: a brief dip at 18:02–18:08, and the stoppage from 19:22 to 20:47, linked to the failure that the TSE acknowledged. In that interval the queue stalled at about 71,000 reports and was only cleared close to 21:00.

    2nd round. With voting extended, 1,868 reports (776 from abroad) were received between 17:05 and 17:07, and the rest were held until 19:03. From then on the pace grew gradually until 20:10 and remained steady at 5,300 to 5,800 per minute until the queue ran out, around 21:05. This shape, a rise followed by a plateau, is that of a queue being emptied at the system’s capacity limit. There was no interruption.

    Order of arrival. States with faster transmission networks arrived first, in both rounds: DF, TO, PB and AM at the start, and BA, SP, SE and RJ at the end. The correlation between the states’ order of arrival in the two rounds is 0.72. Section by section, those that arrived early in the 1st round also arrived early in the 2nd (correlation of 0.56, reaching 0.7 in PR and RO). This order explains the changes in the lead. At 19:40, when Flávio moved ahead, the South made up 25% of the reports arriving and the Southeast 16%. At 21:00, the Southeast made up 72%, driven by SP and RJ, and the South 2%. The lowest correlation between rounds appears in SE, PE, BA and PB, states with more sections open after regular hours.

    Voting machine logs · 2nd round

    How many people voted after 17:00

    The log of each voting machine records the time at which each voter’s vote was counted, without the chosen candidate. The logs of all 2nd-round sections were read: 499,177 of 499,205. The other 28, 27 of them abroad, have no published log. Times are Brasília time.

    Sections (closing)Sections readVoters that dayVoted after 17:00Voted after 19:00
    Up to 17:00125,65231,608,5583280
    17:01 to 17:14364,35493,998,92628,6770
    17:15 to 18:592,819766,4821,2670
    19:00 or later6,3521,861,2594,56913
    Brazil499,177128,235,22534,84113

    Reading. 34,841 voters voted after 17:00 nationwide (0.03% of turnout), and 13 voted after 19:00. The 328 in sections that closed by 17:00 voted within the 17:00 minute itself. In the 6,352 sections that stayed open until 19:00 or later, 99.75% of voters voted before 17:00; the last vote was at 16:59 in the typical section and at 18:29 at the 90th percentile. After 17:00, 16.9% of voters were authorized without biometrics; before 17:00, 12.7%. In the sections open until 19:00 or later, the proportions are 12.8% after 17:00 and 12.9% for the whole day. The previous sample-based estimate (about 39,000, 95% interval 34,000 to 44,000) was replaced by this complete count.

    Log × report. In 499,170 of the 499,177 sections, the number of votes counted in the log equals the turnout in the voting machine report. In the remaining 7, the difference comes from the content of the published log file. In 2 sections with a contingency (backup) machine, the file contains only the replacement machine’s log, without the original’s. In 1, it also contains the log of another machine, which is neither the expected one nor the one that generated the report; the machine that generated the report records the same number as the report. In 3, one vote appears as confirmed for President without the event "O voto do eleitor foi computado" (the voter’s vote was counted). In 1, the sum of the logs is 2 votes below the report. The details of each, machine by machine, are in the observacao column of the logs_urna table.

    From preparation to count

    The right machine in the right section

    Each voting machine receives a load code at the public loading and sealing ceremony, about a month before the election. The TSE publishes the expected machine (which machine was prepared for each section) and the actual machine (which machine generated the counted report). The printed report carries the same codes, so anyone can check the link between paper, machine and database.

    One checked report: Bom Jesus dos Perdões (SP), zone 16, section 496

    FieldPrinted reportTSE databaseExpected machine
    Voting machine0166908816690881669088
    Load code055.578.706.355.497.755.384.336identicalidentical
    Load date–Sep 25, 2026 09:47Sep 25, 2026 09:47
    Opening / closing08:00:01 / 17:01:3408:00:01 / 17:01:34–
    Eligible / turnout339 / 285339 / 285–
    Biometric / biographic authorization / no biometrics268 / 13 / 4– / 13 / ––
    Lula / Flávio Bolsonaro91 / 18091 / 180–
    Votes counted in the voting machine log–285, the last one at 16:51–

    The load code history has a single line, that is, the same machine operated all day, which the log confirms. Blank (7) and null (7) votes complete the 285 votes. In the 1st round, the same section gave Lula 31.8% against Flávio, and in the 2nd round 33.6%.

    All sections in the 2nd round

    Actual machine compared with the expected oneSections%
    Same machine and same load496,48699.45%
    Contingency (backup) machine, with official record (divergence type "C")2,6710.54%
    Different machine, no contingency record440.009%

    The 44 cases without an explanation in the open data. The machine used was not the one expected for the section, there was no swap between sections at the same polling place, and the Oct 25 machine correspondence was not updated. Twenty-one of these machines are on the zone’s list of contingency machines, but with a different load code, which suggests reloading. The other 23 do not appear on any public list. The explanation, if there is one, is in the polling station minutes or in the records of the electoral registry office. The result in these sections follows the national pattern: Lula’s median change between rounds was +2.9 points (between −2.9 and +7.8). Combined, they gave Lula a net margin of 1,654 votes. It is a point that party inspectors can take to the TRE (Regional Electoral Court).

    Nearly unanimous sections

    How many sections gave more than 90% or 100% to one candidate

    1st round: Lula1st round: Flávio2nd round: Lula2nd round: Flávio
    More than 90% of valid votes3,6391846,816378
    More than 90% of all votes1,700864,198238
    100% of valid votes3821064
    100% of the total (no blank or null votes)170291

    The difference grows gradually, band by band (2nd round)

    Sections in which the candidate hadLulaFlávioRatio
    more than 60% of valid votes158,443132,4571.2
    more than 70%87,56744,9891.9
    more than 80%35,7127,1755.0
    more than 90%6,81637818
    more than 95%1,7284142

    Reading. Sections above 90% are 1.4% of the total, and those at 100% are 0.02%. The vote for Lula is more geographically concentrated: interior of MA (1,549 sections above 90%), BA (1,345), PI (870), PE (667) and CE (662). The vote for Flávio is strong across a wide territory, but less homogeneous: even in RS and SC, the sections above 90% number 116 and 61. When one side has a longer tail, the ratio between the candidates grows continuously up to the extreme. This is an effect of the shape of the distribution, not an isolated jump.

    Sections with 100% are small: Lula’s had an average of 140 valid votes, and 18 of them fewer than 50. The pattern already existed in the 1st round, with 38 sections at 100% for Lula even with ten other candidates in the race. Of the 6,816 sections above 90% for Lula in the 2nd round, 5,343 already gave him more than 90%, against Flávio, in the 1st round.

    See the 110 sections with 100% of valid votes in the 2nd round
    CandidateStateMunicipalityZoneSectionValid votesBlank + nullSame candidate in the 1st round*
    FlávioPAChaves1741481100.0%
    FlávioPAJacareacanga10244500100.0%
    FlávioRSArroio Do Padre344331162100.0%
    FlávioRSCândido Godói16681823100.0%
    LulaACCruzeiro Do Sul445713714100.0%
    LulaACJordão565126799.2%
    LulaACJordão5125123597.2%
    LulaAMAtalaia Do Norte4226302799.6%
    LulaAMAtalaia Do Norte4228136199.2%
    LulaAMAtalaia Do Norte42293251098.6%
    LulaAMAtalaia Do Norte4230142297.8%
    LulaAMAtalaia Do Norte42371226100.0%
    LulaAMBarreirinha266226111100.0%
    LulaAMBenjamin Constant20892388100.0%
    LulaAMBenjamin Constant201172311299.6%
    LulaAMCarauari2196113099.1%
    LulaAMJapurá48122248100.0%
    LulaAMJuruá50191491997.7%
    LulaAMMaués5176333495.1%
    LulaAMMaués5179123199.2%
    LulaAMParintins4130220598.8%
    LulaAMParintins4280881100.0%
    LulaAMSanta Isabel Do Rio Negro302223614100.0%
    LulaAMSanta Isabel Do Rio Negro302622916100.0%
    LulaAMSanta Isabel Do Rio Negro303072498.1%
    LulaAMSanto Antônio Do Içá479329198.8%
    LulaAMSanto Antônio Do Içá4787315199.4%
    LulaAMSão Gabriel Da Cachoeira191167599.4%
    LulaAMSão Gabriel Da Cachoeira19652247100.0%
    LulaAMSão Gabriel Da Cachoeira19872221100.0%
    LulaAMSão Gabriel Da Cachoeira19922154100.0%
    LulaAMSão Gabriel Da Cachoeira191201261100.0%
    LulaAMSão Paulo De Olivença2271298799.7%
    LulaAMSão Paulo De Olivença221142447100.0%
    LulaAMTabatinga36613541199.2%
    LulaAMTabatinga36963389100.0%
    LulaAMUrucurituba3252101296.6%
    LulaBABarra Do Mendes176151692100.0%
    LulaBAIaçu193116404100.0%
    LulaBASento Sé96119626100.0%
    LulaBAÉrico Cardoso111250440100.0%
    LulaCEAquiraz6633432193.3%
    LulaCEPoranga40208540100.0%
    LulaESAracruz20232410100.0%
    LulaMAAlcântara5285793100.0%
    LulaMAAlcântara528644097.8%
    LulaMABarreirinhas56254954100.0%
    LulaMACururupu14195540100.0%
    LulaMAGrajaú154051023100.0%
    LulaMAMaranhãozinho101781765100.0%
    LulaMAMontes Altos10380298099.3%
    LulaMAPrimeira Cruz329042597.9%
    LulaMAPrimeira Cruz3219342198.0%
    LulaMASanta Helena83170540100.0%
    LulaMASanta Helena83179551100.0%
    LulaMASerrano Do Maranhão1078783196.5%
    LulaMASerrano Do Maranhão1078974198.7%
    LulaMASão Bento3816796197.9%
    LulaMATuriaçu3958164298.8%
    LulaMATuriaçu39162157199.4%
    LulaMATuriaçu3919573198.6%
    LulaMATuriaçu3920691194.5%
    LulaMAViana20258100199.0%
    LulaMAÁgua Doce Do Maranhão12145189497.7%
    LulaMGLuislândia50224692100.0%
    LulaMGSalinas244256472100.0%
    LulaMSAral Moreira19313560100.0%
    LulaMTBarra Do Garças9531119497.3%
    LulaMTConfresa282003090100.0%
    LulaMTGuarantã Do Norte44284145098.0%
    LulaMTPeixoto De Azevedo332551792100.0%
    LulaMTPorto Alegre Do Norte28191610100.0%
    LulaPAAlenquer2123460097.0%
    LulaPAAlmeirim551281561100.0%
    LulaPAAltamira18516521100.0%
    LulaPAAltamira18519350100.0%
    LulaPAAveiro346601060100.0%
    LulaPAMoju3712041094.1%
    LulaPANovo Repartimento101152180100.0%
    LulaPAOriximiná3824335197.4%
    LulaPAOriximiná38259133098.6%
    LulaPAOriximiná382601520100.0%
    LulaPAParagominas4221454197.9%
    LulaPAParauapebas106330212098.4%
    LulaPAParauapebas1063651971100.0%
    LulaPASão Félix Do Xingu53217145099.2%
    LulaPASão Félix Do Xingu53218273099.5%
    LulaPAViseu14236644100.0%
    LulaPBSapé429010091.7%
    LulaPEFloresta72119227399.5%
    LulaPITeresina97168160100.0%
    LulaPROrtigueira16796314399.7%
    LulaROPorto Velho65161042100.0%
    LulaRRCaroebe414144097.1%
    LulaRRUiramutã7611890100.0%
    LulaRRUiramutã762216199.5%
    LulaRRUiramutã763256099.2%
    LulaRRUiramutã7104138199.3%
    LulaRRUiramutã7108126299.2%
    LulaRRUiramutã7113190298.4%
    LulaRRUiramutã7124480100.0%
    LulaRSViamão5959039097.3%
    LulaRSViamão59591651100.0%
    LulaTOGoiatins326010814100.0%
    LulaTOGoiatins32611621899.4%
    LulaTOGoiatins3284174899.4%
    LulaTOParanã1887332100.0%
    LulaTOTocantinópolis9184593100.0%
    LulaTOTocantinópolis919215519100.0%
    LulaTOTocantínia555196599.5%

    * Candidate’s percentage in the race between Lula and Flávio, in the same section, on October 4.

    State by state

    First round × second round

    Percentages of valid votes. "Lula’s change" compares the 2nd round with Lula’s share in the race between Lula and Flávio only in the 1st round, which isolates the effect of the votes that came from other candidates, blank and null votes, and abstention. Highlighted: the leader in each round. "Net margin" is Lula’s vote difference over Flávio in the 2nd round.

    StateLula 1stFlávio 1stOthers 1stLula 2ndFlávio 2ndLula’s change (pts)Votes gained: LulaVotes gained: FlávioTurnoutNet margin in the 2nd round
    Piauí71.0%24.1%4.9%75.9%24.1%+1.2+130,279+8,83182.8% → 82.8%+1,128,130
    Bahia66.2%28.5%5.3%71.3%28.7%+1.4+820,487+166,17680.0% → 83.3%+3,876,497
    Maranhão64.0%30.9%5.1%69.5%30.5%+2.1+241,930-9,06980.3% → 79.6%+1,578,260
    Sergipe62.7%30.6%6.6%69.5%30.5%+2.3+133,022+15,51582.7% → 84.3%+555,687
    Pernambuco63.5%31.0%5.5%69.2%30.8%+2.0+563,542+94,51181.8% → 84.8%+2,284,959
    Ceará63.3%31.3%5.4%68.9%31.1%+2.0+480,861+62,62884.5% → 86.1%+2,216,646
    Paraíba61.3%33.1%5.6%67.5%32.5%+2.5+252,932+33,83382.6% → 84.5%+928,849
    Rio Grande do Norte59.7%34.8%5.5%65.7%34.3%+2.5+175,633+16,91681.6% → 83.9%+676,187
    Alagoas54.7%40.4%4.8%60.8%39.2%+3.3+157,162+8,42279.4% → 79.9%+408,481
    Pará49.9%44.5%5.6%55.0%45.0%+2.1+263,212+35,98380.9% → 79.7%+490,509
    Amazonas48.2%45.0%6.8%54.0%46.0%+2.3+98,787-1,51979.8% → 78.3%+170,538
    Abroad47.5%43.5%9.0%53.9%46.1%+1.6+42,767+27,59737.3% → 41.6%+28,657
    Amapá45.7%45.7%8.6%52.9%47.1%+2.9+10,465-13,60482.6% → 74.5%+24,294
    Minas Gerais switched43.3%48.2%8.4%50.4%49.6%+3.1+1,162,163+464,23877.2% → 79.7%+109,313
    Tocantins43.4%50.4%6.1%48.6%51.4%+2.4+38,953-1,40581.7% → 80.8%-24,954
    Rio de Janeiro39.4%53.0%7.6%46.9%53.1%+4.3+872,372+202,18976.7% → 78.4%-603,640
    São Paulo38.2%51.9%9.9%46.2%53.8%+3.8+2,613,861+1,217,15577.5% → 80.2%-2,019,904
    Distrito Federal38.1%51.3%10.6%45.7%54.3%+3.1+149,597+69,92681.1% → 82.7%-154,318
    Espírito Santo37.8%54.8%7.5%43.6%56.4%+2.8+151,937+61,31078.6% → 80.5%-292,539
    Rio Grande do Sul35.7%55.6%8.6%42.2%57.8%+3.1+529,793+300,59578.6% → 80.8%-1,049,826
    Mato Grosso do Sul34.7%58.6%6.7%40.4%59.6%+3.2+112,118+54,54176.1% → 78.8%-298,919
    Goiás31.1%53.6%15.3%40.3%59.7%+3.7+396,675+293,44678.2% → 79.7%-759,779
    Paraná31.2%59.9%8.9%37.4%62.6%+3.2+511,907+346,09979.4% → 82.0%-1,724,940
    Mato Grosso29.2%65.1%5.7%33.9%66.1%+3.0+112,486+52,51877.8% → 79.1%-656,932
    Acre28.7%64.6%6.7%33.4%66.6%+2.6+9,743-15,09279.6% → 73.9%-143,202
    Santa Catarina25.0%66.7%8.3%30.6%69.4%+3.3+291,146+220,05181.1% → 83.0%-1,801,757
    Rondônia25.9%67.4%6.7%30.4%69.6%+2.7+43,779+21,39478.3% → 78.1%-379,936
    Roraima22.9%71.1%6.1%27.5%72.5%+3.2+9,085-11,64782.9% → 76.9%-136,170

    Only one state switched sides: Minas Gerais, from Flávio (48.2% against 43.3%) in the 1st round to Lula (50.4%) in the 2nd, with a net margin of 109,000 votes. Amapá had tied in the 1st round, with 225 votes in Lula’s favor, and gave him 52.9% in the 2nd.

    Lula grew in every state, between +1.2 points (PI) and +4.3 points (RJ) in the race between the two. The gain was smaller where he was already very strong and there were few voters of other candidates (PI, BA). It was larger in the Southeast, the South and Goiás, where the other candidates had 8% to 15% in the 1st round. In Goiás, Ronaldo Caiado’s state, the others totaled 15.3%, and the two finalists split those votes: Lula gained 397,000 and Flávio 293,000.

    Flávio also grew in almost every state. The largest gains were in SP (1.22 million), MG (464,000), PR (346,000) and RS (301,000). He lost votes in absolute terms in MA, AM, TO, AP, AC and RR, where turnout fell. Turnout rose in most states, especially in BA (+3.3 points) and PE (+3.0), and fell in the North, notably in AP (−8.1), RR (−6.0) and AC (−5.7).

    From the 1st to the 2nd round

    Where the votes went

    1st round2nd roundChange
    Lula53,879,53864,256,232+10,376,694
    Flávio Bolsonaro56,104,50359,826,041+3,721,538
    Cury, Renan, Caiado and others9,322,993–−9,322,993
    Null3,669,0032,723,305−945,698
    Blank2,300,7981,430,496−870,302
    Abstention33,469,17230,508,903−2,960,269

    Estimated destination of each 1st-round group

    Origin→ Lula→ Flávio→ Blank or null→ Abstention
    Flávio (56.1M)0.2%98.8%0.4%0.6%
    Lula (53.9M)98.9%0.0%0.1%1.0%
    Augusto Cury (3.45M)53%28%15%4%
    Renan Santos (2.68M)40%35%17%9%
    Ronaldo Caiado (2.61M)33%52%11%4%
    Other candidates (0.59M)31%52%12%5%
    Blank (2.30M)68%2%28%2%
    Null (3.67M)59%2%38%1%
    Abstention (33.5M)10%2%1%87%

    Reading. Voters of the other candidates split almost in half: about 3.95 million went to Lula and 3.55 million to Flávio. The final difference came from those who did not choose a candidate in the 1st round. About 3.7 million former blank and null voters and 3.2 million former abstainers voted for Lula, against 0.1 and 0.8 million for Flávio. The return to the polls to vote for Lula was higher in the Northeast (12.8% of those absent in the 1st round) and in the South (11.5%). For Flávio, it was higher in the Southeast (3.6%).

    Degree of confidence. The model reproduces the actual 2nd-round totals with an error below 0.1%, and the large flows coincide in the state-level version and the national version. Small groups are less precise: blank → Lula varied from 68% to 78% between the two versions, and Renan → Flávio from 35% to 46%. The flows of blank, null and abstention to Lula are the most subject to the ecological bias described in the methodology.

    Verification

    The "forensic report" circulating on social media

    The document uses the same voting machine report files as this page. Each data-based claim was redone here.

    ClaimWhat the data show
    Flávio won with 52.39% in the machines closed by 17:00The number only comes out when the closing time is read in local time, without converting the time zone. That way, sections in Acre (15:00) and in AM, MT, MS, RO and RR (16:00) count as "on time", but they closed at the same instant as those closing at 17:00 in Brasília. Closing between 17:01 and 17:14 is the regular time, with a line. Within the same municipality, the difference between 17:00 and 17:14 is 0.2 point, and the same sections already voted this way in the 1st round.
    Millions voted during the extension, with pro-Lula spikesThe 6,300 sections that closed after 19:00 had 1.86 million voters over the whole day. The voting machine logs show that only 4,569 of them voted after 17:00, and 13 after 19:00. Nationwide, there were about 39,000 votes after 17:00. Lula had a net margin of ~186,000 votes in these sections, counting the whole day, against a final difference of 4.43 million. The "Maranhão 83%" comes from 3 sections, with 623 votes.
    8.6 million voted without biometrics, almost double the marginThe number is correct (6.73%). It corresponds to the "biographic authorization" on the printed report, identification by the data on the voter’s document when the fingerprint is not recognized, but the rate was 6.66% in the 1st round. In the same section, the rates in the two rounds have a correlation of 0.82, which indicates a characteristic of the location. The correlation with the vote for Lula, within the municipality, is 0.01. The increase in this type of authorization between rounds is not associated with Lula’s gain (−0.02 point per +10 points). RS and SC, where Flávio won, are among the highest rates. Sections closed after 19:00 had a below-average rate (6.35%).
    Nearly unanimous sections: 18 for Lula for every 1 for FlávioThe count matches (6,816 against 378 sections above 90%). But 5,343 of these sections already gave Lula more than 90% in the 1st round, and they are concentrated in the interior of MA, BA, PI, PE and CE.
    Benford’s law testBoth candidates "fail" almost equally: about 61% of the counts start with 1, against 30% under Benford’s law. This happens because sections have between 233 and 389 voters (10th to 90th percentile). The first-digit test does not apply to this type of data.
    Data withheld for 72 hoursThe 2nd-round files were added to the open data portal on Oct 27, about two days after the election, as in the 1st round (Oct 6). During the count, each report could be looked up on the Portal Resultados.

    What this analysis proves and what it does not prove

    It proves: the sum of the 499,000 published reports is equal, vote for vote, to the official result in both rounds. In other words, the proclaimed total is exactly the sum of the reports. In 499,170 of the 499,177 2nd-round sections with a published log, the number of votes recorded in the log is also equal to the turnout in the report; in the other 7, the difference comes from the content of the log file (detailed in the logs section). In 99.99% of sections, the machine that generated the report is the one that was prepared and sealed for it, or an officially recorded contingency (backup) machine. One printed report, checked field by field, is identical to the published file. The patterns pointed out as anomalies are explained by the data themselves (time zone, geography, section size), and they repeat in the 1st round.

    It does not prove: that each report faithfully records the votes entered on the machine. The log confirms how many people voted, not whom they voted for. That requires other checks, such as comparing printed reports posted at the sections with the published ones, verifying the digital signatures of the voting machine files, comparing the Digital Vote Record (Registro Digital do Voto) with the report, and consulting the integrity tests carried out on election day. Absence of a statistical anomaly is not proof of absence of fraud, just as a statistical anomaly, on its own, is not proof of fraud.

    Methodology

    How this analysis was done

    1. Data. Web voting machine report files (bweb_1t_* and bweb_2t_*) from the 27 states (UFs) and from abroad, downloaded from the TSE Open Data Portal on Oct 29, 2026, with integrity verified. Only the rows for the office of President were used (CD_CARGO_PERGUNTA = 1), aggregated by section (state, zone and section): 499,206 sections in the 1st round and 499,205 in the 2nd.

    2. Cross-check. The sum of votes per candidate, blank, null and turnout was compared with the TSE’s official national result file (br-c0001-e006257-u.json and br-c0001-e006258-u.json). The totals match exactly in both rounds.

    3. Times. DT_BU_RECEBIDO is in Brasília time: the first report arrives at 17:05 in all states. DT_ENCERRAMENTO is in the machine’s local time. To convert, each municipality’s time zone was inferred from the median local closing time (15:00, 16:00 or 17:00 local time correspond to 17:00 in Brasília), which identifies AC and part of AM in UTC−5 and AM, MT, MS, RO and RR in UTC−4. Twenty-seven sections without a closing time were left out of the breakdowns by time.

    4. Count simulation. Each report enters the total at the minute of DT_BU_RECEBIDO. The cumulative series, national and by state, run from 17:00 to 23:30. The election was considered mathematically decided when the difference between the two candidates exceeded the turnout not yet received.

    5. Closing and vote. 2nd-round sections were grouped by closing minute in Brasília time. To separate the effect of the time from the effect of composition, each section was paired with itself in the 1st round, and the difference between groups was recalculated within each state and within each municipality. The within-municipality comparison is the average of the differences weighted by valid votes, considering the 5,157 municipalities with at least 500 valid votes in each group.

    6. 1st-round pause. Reports received per minute were counted, looking for sequences with nothing received, and the percentage received and the score were calculated at the times of the official pause reported by the TSE (19:14 to 20:04).

    7. Biometrics. QT_ELEI_BIOM_SEM_HABILITACAO is, by the TSE’s definition, the number of voters with registered biometrics who were authorized in another way. On the printed report, this number appears as "Biographic authorization", that is, identification by the data on the voter’s document. This was checked on a report from section 496, zone 16, Bom Jesus dos Perdões (SP): 13 on the printed report and 13 in the database. It does not include voters without registered biometrics, whom the printed report shows on a separate line. The rate is this number divided by turnout. Correlations weighted by valid votes were calculated between the rate and the vote for Lula, nationally and within each municipality (subtracting the municipality’s mean), and between the change in the rate and the change in Lula’s vote between rounds, in the same section.

    8. Vote migration. Constrained ecological regression (Goodman’s method). For each state, the composition of each section’s eligible electorate in the 2nd round (Lula, Flávio, blank, null and abstention) was modeled as a combination of the composition in the 1st round (Flávio, Lula, Cury, Renan, Caiado, others, blank, null and abstention). Transfer rates lie between 0 and 1, and those of each origin sum to 1. Estimation is by least squares weighted by the eligible electorate, with SLSQP (SciPy). The flows of each state were summed for Brazil, and a single national regression served as a comparison. The main limitation is the ecological fallacy: the model assumes equal transfer rates within each state, and the individual vote is secret and cannot be observed.

    9. Voting machine logs. For each section, the machine’s file index (…-aux.json) and the log (…-log.jez) were downloaded from the Portal Resultados (resultados.tse.jus.br/oficial/ele2026/arquivo-urna/3221). Only the lines from Oct 25, 2026 were considered, and each event "O voto do eleitor foi computado" (the voter’s vote was counted) was counted, with the time converted to Brasília time using the municipality’s time zone. The authorization type is that of the event "Tipo de habilitação do eleitor" (voter authorization type) immediately preceding each vote, and the absence of that event was counted as authorization without biometrics. When the file contains another compressed log inside it (contingency machines and also some conforming sections), all were read and repeated lines were removed. Universe: all 499,205 sections of the 2nd round; 28 have no published log (27 abroad). In the 7 sections where the log total differs from the report, the log was reread machine by machine, also counting "Voto confirmado para [Presidente]" (vote confirmed for President) and "Eleitor foi habilitado" (voter authorized) (scripts/logs_detalhe.py). Download: scripts/logs_todos.py, at a limited rate, pausing when the portal answers 429.

    10. Transmission. For each section, the delay is DT_BU_RECEBIDO (Brasília) minus DT_EMISSAO_BU (local time converted to Brasília time). The queue at each minute is the number of reports already issued and not yet received. The order of arrival was compared between rounds using Spearman’s rank correlation: between states (median receipt time) and between sections, overall and within each state, considering in the 2nd round only reports received from 19:00 on. Sections abroad were left out. The regional composition and Lula’s percentage were calculated for the reports that arrived in each 10-minute window.

    11. Machine × section correspondence. The "Correspondência efetivada" (actual machine; CEFT_2t_*, of Oct 26) and "Correspondência esperada" (expected machine; CESP_2t_*, of Oct 24 and 25) files for the 27 states and abroad were used. For each section, the expected and actual machine number and load code were compared, and the TP_DIVERGENCIA field was read (D: divergence; C: contingency; O: machine voided or not counted). In cases with a different machine and no recorded divergence, the actual machine was looked up as the expected machine of another section (to identify swaps) and in the list of contingency machines (ccont_2t_*). The printed report of section 496, zone 16, Bom Jesus dos Perdões (SP) was compared with the report file, with the correspondence files and with the machine log.

    12. Benford. Distribution of the first digit of each candidate’s vote counts per section, compared with Benford’s law using the chi-square test.

    How times were handled. In the TSE file, the machine closing time (DT_ENCERRAMENTO) is in the section’s local time. That is why Acre appears closing at 15:00 and MS, MT, RO and RR at 16:00. Here it was converted to Brasília time using each municipality’s time zone. The report receipt time (DT_BU_RECEBIDO) already comes in Brasília time.

    Difference from the Resultados app. The simulation adds each report at the minute it arrived. The TSE published in processing cycles, so the percentages during the night may have appeared a few minutes later. The final totals match the official tally: 64,256,232 votes for Lula, 59,826,041 for Flávio and 128,236,074 voters.

    Source: TSE, Open Data Portal, dataset “Resultados 2026 – Boletim de urna”, files bweb_2t_* generated on Oct 26, 2026.

    Advertisement
    ORA.

    A moment of prayer, every day.

    Free · Android▶ Google Play
    Supportthis independent analysisNo sponsorship from parties or candidates. Contributions pay for the AI, the server and new analyses.Pix QR codeCard or Pix · any amountSupport →