Skip to content

ELECTION MAPS · BR-PRES-2026 · DERIVED FROM TSE FILES

The 2026 presidential election in maps: swing, most voted by state and counting.

Four drawings generated at publication time from the official TSE files of the case, each with the equivalent table beside it and the state of every number. No script, no library and no tracking: the SVG is text inside the page and also a file to embed.

Case
BR-PRES-2026
TSE sources
63
State boundaries
IBGE
Files collected

How to read this page

The drawings come from the same case files the main page uses, with SHA-256 checked every time this page is generated. No number is typed by hand and each drawing has a table with the same values, for screen readers, copying and checking.

The form follows the relation in the data: swing is a deviation around zero and comes first as ordered diverging bars; the result is a ranking in bars from zero; counting is change over time, as a line with markers. For the "where" question there is a grid cartogram, where every state has the same size and no small state disappears, and a supporting geographic map. The grid positions are our own and are documented at the end of the page.

Colors belong to no party or candidacy. The diverging scale runs from copper to petrol and encodes the sign of the axis: right of zero (petrol) favors no. 13, the lower ballot number among the finalists; left (copper) favors no. 22. The value is always written. Bands are fixed and identical across cycles, so cases can be compared. In the national result every bar is the same gray: no candidacy is highlighted.

The text gives no opinion on candidates, parties or institutions and makes no forecast. Swing and margin describe the published results; they do not say why votes changed.

Observed
Number read from an official file, with URL, date and SHA-256 in the manifest.
Derived
Computed from official files: sums, shares, swing, margin and cumulative share. The formula appears under each drawing.
Unknown
What no collected file supports. Shown with the reason.

1. Swing by state between rounds

Change, in percentage points, of the share of no. 13 between the two finalists. In round 1 the base is only the votes of the two; in round 2, valid votes. Positive means a shift toward no. 13; negative, toward the other finalist. Swing is derived.

Swing by state between round 1 and round 2, 2026, largest to smallestOrdered diverging bars. Swing of no. 13 (LULA) from round 1 to round 2 in 28 scopes, in percentage points. Brazil: +2.80 pp. Largest: RJ +4.25 pp. Smallest: PI +1.21 pp. Equivalent table on the page.Swing by state between round 1 and round 2, 2026,largest to smallestPercentage points of the share of no. 13 between the two finalists.Right of zero: shift toward no. 13 (LULA). Left: toward no. 22(FLAVIO BOLSONARO).Evidence state: DERIVED. Votes read from the official TSE files;swing computed from them.Brazil +2.80RJ: +4.25 ppRJ+4.25SP: +3.77 ppSP+3.77GO: +3.65 ppGO+3.65AL: +3.27 ppAL+3.27SC: +3.27 ppSC+3.27MS: +3.22 ppMS+3.22RR: +3.20 ppRR+3.20PR: +3.18 ppPR+3.18MG: +3.12 ppMG+3.12DF: +3.10 ppDF+3.10RS: +3.06 ppRS+3.06MT: +3.00 ppMT+3.00AP: +2.85 ppAP+2.85ES: +2.83 ppES+2.83RO: +2.65 ppRO+2.65AC: +2.64 ppAC+2.64PB: +2.51 ppPB+2.51RN: +2.51 ppRN+2.51TO: +2.37 ppTO+2.37SE: +2.33 ppSE+2.33AM: +2.28 ppAM+2.28PA: +2.15 ppPA+2.15MA: +2.10 ppMA+2.10PE: +2.04 ppPE+2.04CE: +2.00 ppCE+2.00Abroad (ZZ): +1.62 ppAbroad (ZZ)+1.62BA: +1.44 ppBA+1.44PI: +1.21 ppPI+1.21-10+1+2+3+4+5percentage points← toward no. 22toward no. 13 →3.520.50.523.5pp · under 0.5 pp: graySource: TSE, BR-PRES-2026, manifesto SHA-256 890aa5af2220.Reveno Evidence ·evidence.reveno.com.br/en/elections/br-pres-2026/map/
Fig. 1 Derived Ordered diverging bars Download SVG
Table equivalent to the swing by state: 28 scopes and Brazil. Derived
ScopeRound 2 registered voters ObservedShare of no. 13 in round 1, between the two DerivedShare of no. 13 in round 2 DerivedSwing of no. 13 (pp) DerivedScale band
AC613,71530.80%33.43%+2.642.0 to 3.5 pp toward no. 13
AL2,442,08157.50%60.77%+3.272.0 to 3.5 pp toward no. 13
AM2,798,66151.74%54.02%+2.282.0 to 3.5 pp toward no. 13
AP576,91050.03%52.88%+2.852.0 to 3.5 pp toward no. 13
BA11,312,89169.87%71.31%+1.440.5 to 2.0 pp toward no. 13
CE6,996,52166.93%68.93%+2.002.0 to 3.5 pp toward no. 13
DF2,258,99542.62%45.73%+3.102.0 to 3.5 pp toward no. 13
ES2,991,51540.80%43.63%+2.832.0 to 3.5 pp toward no. 13
GO5,080,38536.69%40.34%+3.653.5 or more pp toward no. 13
MA5,183,04967.44%69.54%+2.102.0 to 3.5 pp toward no. 13
MG16,372,14447.32%50.43%+3.122.0 to 3.5 pp toward no. 13
MS2,024,43737.18%40.40%+3.222.0 to 3.5 pp toward no. 13
MT2,637,87930.94%33.94%+3.002.0 to 3.5 pp toward no. 13
PA6,262,06352.87%55.02%+2.152.0 to 3.5 pp toward no. 13
PB3,248,43464.96%67.46%+2.512.0 to 3.5 pp toward no. 13
PE7,223,22767.16%69.20%+2.042.0 to 3.5 pp toward no. 13
PI2,704,69574.67%75.88%+1.210.5 to 2.0 pp toward no. 13
PR8,613,62834.24%37.42%+3.182.0 to 3.5 pp toward no. 13
RJ12,857,52642.64%46.90%+4.253.5 or more pp toward no. 13
RN2,659,86763.21%65.72%+2.512.0 to 3.5 pp toward no. 13
RO1,265,92627.74%30.39%+2.652.0 to 3.5 pp toward no. 13
RR401,54024.34%27.54%+3.202.0 to 3.5 pp toward no. 13
RS8,522,31839.10%42.16%+3.062.0 to 3.5 pp toward no. 13
SC5,734,68727.31%30.58%+3.272.0 to 3.5 pp toward no. 13
SE1,740,09367.20%69.53%+2.332.0 to 3.5 pp toward no. 13
SP34,123,59142.38%46.15%+3.773.5 or more pp toward no. 13
TO1,182,04146.26%48.63%+2.372.0 to 3.5 pp toward no. 13
Abroad (ZZ)916,68352.24%53.86%+1.620.5 to 2.0 pp toward no. 13
Braziln/a48.99%51.79%+2.802.0 to 3.5 pp toward no. 13

Formula first_round_two_candidate_normalized_share = v1_A / (v1_A + v1_B); second_round_share = v2_A / valid_t2; swing_pp = 100 * (second - first); absolute_vote_gain = v2_A - v1_A

Where: position by state

Swing between round 1 and round 2 by state, 2026Grid cartogram. Swing of no. 13 (LULA) from round 1 to round 2 in 28 scopes, in percentage points. Brazil: +2.80 pp. Largest: RJ +4.25 pp. Smallest: PI +1.21 pp. Equivalent table on the page.Swing between round 1 andround 2 by state, 2026Percentage points of the share of no.13 between the two finalists. Positive:toward no. 13 (LULA). Negative: towardno. 22 (FLAVIO BOLSONARO).Evidence state: DERIVED. Votes readfrom the official TSE files; swingcomputed from them.RR: +3.20 ppRR+3.20AP: +2.85 ppAP+2.85AM: +2.28 ppAM+2.28PA: +2.15 ppPA+2.15MA: +2.10 ppMA+2.10CE: +2.00 ppCE+2.00RN: +2.51 ppRN+2.51AC: +2.64 ppAC+2.64RO: +2.65 ppRO+2.65TO: +2.37 ppTO+2.37PI: +1.21 ppPI+1.21PE: +2.04 ppPE+2.04PB: +2.51 ppPB+2.51MT: +3.00 ppMT+3.00GO: +3.65 ppGO+3.65BA: +1.44 ppBA+1.44SE: +2.33 ppSE+2.33AL: +3.27 ppAL+3.27MS: +3.22 ppMS+3.22DF: +3.10 ppDF+3.10MG: +3.12 ppMG+3.12ES: +2.83 ppES+2.83PR: +3.18 ppPR+3.18SP: +3.77 ppSP+3.77RJ: +4.25 ppRJ+4.25SC: +3.27 ppSC+3.27RS: +3.06 ppRS+3.06Abroad (ZZ): +1.62 ppZZ+1.62Abroad← toward no. 22toward no. 13 →3.520.50.523.5pp · under 0.5 pp: graySource: TSE, BR-PRES-2026, manifestoSHA-256 890aa5af2220.Grid: Reveno positions, one cell perstateReveno Evidence ·evidence.reveno.com.br/en/elections/br-pres-2026/map/
Fig. 2 Derived Grid cartogram Download SVG
Swing between round 1 and round 2 by state, 2026Geographic map. Swing of no. 13 (LULA) from round 1 to round 2 in 28 scopes, in percentage points. Brazil: +2.80 pp. Largest: RJ +4.25 pp. Smallest: PI +1.21 pp. Equivalent table on the page.Swing between round 1 and round 2 by state, 2026Percentage points of the share of no. 13 between the twofinalists. Positive: toward no. 13 (LULA). Negative: toward no.22 (FLAVIO BOLSONARO).Evidence state: DERIVED. Votes read from the official TSEfiles; swing computed from them.AC: +2.64 ppAL: +3.27 ppAM: +2.28 ppAP: +2.85 ppBA: +1.44 ppCE: +2.00 ppDF: +3.10 ppES: +2.83 ppGO: +3.65 ppMA: +2.10 ppMG: +3.12 ppMS: +3.22 ppMT: +3.00 ppPA: +2.15 ppPB: +2.51 ppPE: +2.04 ppPI: +1.21 ppPR: +3.18 ppRJ: +4.25 ppRN: +2.51 ppRO: +2.65 ppRR: +3.20 ppRS: +3.06 ppSC: +3.27 ppSE: +2.33 ppSP: +3.77 ppTO: +2.37 ppACAMAPBACEGOMAMGMSMTPAPBPEPIPRRJRNRORRRSSCSPTOAbroad (ZZ): +1.62 ppAbroad+1.62← toward no. 22toward no. 13 →3.520.50.523.5pp · under 0.5 pp: graySource: TSE, BR-PRES-2026, manifesto SHA-256 890aa5af2220.State boundaries: IBGE mesh API v3, minimum quality, simplifiedat build timeReveno Evidence ·evidence.reveno.com.br/en/elections/br-pres-2026/map/
Fig. 3 Derived Geographic map Download SVG

2. Most voted by state in round 2

Color shows which finalist was ahead in each state and abroad; intensity shows the margin in percentage points of valid votes. The margin is derived from the round 2 shares.

Most voted by state in round 2, 2026Grid cartogram. Most voted in round 2 in 28 scopes: no. 13 (LULA) in 14, no. 22 (FLAVIO BOLSONARO) in 14. Color intensity is the margin. Equivalent table on the page.Most voted by state in round2, 2026Color shows who was ahead; intensityshows the margin in percentage pointsof valid votes between the twofinalists.Evidence state: DERIVED. Votes readfrom the official TSE files; margincomputed from them.RR: no. 22 ahead, 44.9 ppRR2244.9AP: no. 13 ahead, 5.8 ppAP135.8AM: no. 13 ahead, 8.0 ppAM138.0PA: no. 13 ahead, 10.0 ppPA1310.0MA: no. 13 ahead, 39.1 ppMA1339.1CE: no. 13 ahead, 37.9 ppCE1337.9RN: no. 13 ahead, 31.4 ppRN1331.4AC: no. 22 ahead, 33.1 ppAC2233.1RO: no. 22 ahead, 39.2 ppRO2239.2TO: no. 22 ahead, 2.7 ppTO222.7PI: no. 13 ahead, 51.8 ppPI1351.8PE: no. 13 ahead, 38.4 ppPE1338.4PB: no. 13 ahead, 34.9 ppPB1334.9MT: no. 22 ahead, 32.1 ppMT2232.1GO: no. 22 ahead, 19.3 ppGO2219.3BA: no. 13 ahead, 42.6 ppBA1342.6SE: no. 13 ahead, 39.1 ppSE1339.1AL: no. 13 ahead, 21.5 ppAL1321.5MS: no. 22 ahead, 19.2 ppMS2219.2DF: no. 22 ahead, 8.5 ppDF228.5MG: no. 13 ahead, 0.9 ppMG130.9ES: no. 22 ahead, 12.7 ppES2212.7PR: no. 22 ahead, 25.2 ppPR2225.2SP: no. 22 ahead, 7.7 ppSP227.7RJ: no. 22 ahead, 6.2 ppRJ226.2SC: no. 22 ahead, 38.8 ppSC2238.8RS: no. 22 ahead, 15.7 ppRS2215.7Abroad (ZZ): no. 13 ahead, 7.7 ppZZ137.7Abroad← no. 22 aheadno. 13 ahead →251001025margin in pp of valid votesSource: TSE, BR-PRES-2026, manifestoSHA-256 890aa5af2220.Grid: Reveno positions, one cell perstate; each cell shows the number aheadand the margin in ppReveno Evidence ·evidence.reveno.com.br/en/elections/br-pres-2026/map/
Fig. 4 Derived Grid cartogram Download SVG
Table equivalent to the most voted by state in round 2: 28 scopes. Derived
ScopeAhead in round 2Share of no. 13 DerivedShare of no. 22 DerivedMargin (pp) Derived
ACnº 22 FLAVIO BOLSONARO33.43%66.57%33.13
ALnº 13 LULA60.77%39.23%21.54
AMnº 13 LULA54.02%45.98%8.04
APnº 13 LULA52.88%47.12%5.76
BAnº 13 LULA71.31%28.69%42.63
CEnº 13 LULA68.93%31.07%37.86
DFnº 22 FLAVIO BOLSONARO45.73%54.28%8.55
ESnº 22 FLAVIO BOLSONARO43.63%56.37%12.74
GOnº 22 FLAVIO BOLSONARO40.34%59.66%19.33
MAnº 13 LULA69.54%30.46%39.08
MGnº 13 LULA50.43%49.57%0.87
MSnº 22 FLAVIO BOLSONARO40.40%59.60%19.20
MTnº 22 FLAVIO BOLSONARO33.94%66.06%32.12
PAnº 13 LULA55.02%44.99%10.03
PBnº 13 LULA67.46%32.54%34.93
PEnº 13 LULA69.20%30.80%38.40
PInº 13 LULA75.88%24.12%51.75
PRnº 22 FLAVIO BOLSONARO37.42%62.58%25.15
RJnº 22 FLAVIO BOLSONARO46.90%53.10%6.20
RNnº 13 LULA65.72%34.28%31.44
ROnº 22 FLAVIO BOLSONARO30.39%69.61%39.22
RRnº 22 FLAVIO BOLSONARO27.54%72.46%44.91
RSnº 22 FLAVIO BOLSONARO42.16%57.84%15.67
SCnº 22 FLAVIO BOLSONARO30.58%69.42%38.84
SEnº 13 LULA69.53%30.47%39.07
SPnº 22 FLAVIO BOLSONARO46.15%53.85%7.69
TOnº 22 FLAVIO BOLSONARO48.63%51.37%2.74
Abroad (ZZ)nº 13 LULA53.86%46.15%7.71
Most voted by state in round 2, 2026Geographic map. Most voted in round 2 in 28 scopes: no. 13 (LULA) in 14, no. 22 (FLAVIO BOLSONARO) in 14. Color intensity is the margin. Equivalent table on the page.Most voted by state in round 2, 2026Color shows who was ahead; intensity shows the margin inpercentage points of valid votes between the two finalists.Evidence state: DERIVED. Votes read from the official TSEfiles; margin computed from them.AC: no. 22 ahead, 33.1 ppAL: no. 13 ahead, 21.5 ppAM: no. 13 ahead, 8.0 ppAP: no. 13 ahead, 5.8 ppBA: no. 13 ahead, 42.6 ppCE: no. 13 ahead, 37.9 ppDF: no. 22 ahead, 8.5 ppES: no. 22 ahead, 12.7 ppGO: no. 22 ahead, 19.3 ppMA: no. 13 ahead, 39.1 ppMG: no. 13 ahead, 0.9 ppMS: no. 22 ahead, 19.2 ppMT: no. 22 ahead, 32.1 ppPA: no. 13 ahead, 10.0 ppPB: no. 13 ahead, 34.9 ppPE: no. 13 ahead, 38.4 ppPI: no. 13 ahead, 51.8 ppPR: no. 22 ahead, 25.2 ppRJ: no. 22 ahead, 6.2 ppRN: no. 13 ahead, 31.4 ppRO: no. 22 ahead, 39.2 ppRR: no. 22 ahead, 44.9 ppRS: no. 22 ahead, 15.7 ppSC: no. 22 ahead, 38.8 ppSE: no. 13 ahead, 39.1 ppSP: no. 22 ahead, 7.7 ppTO: no. 22 ahead, 2.7 ppACAMAPBACEGOMAMGMSMTPAPBPEPIPRRJRNRORRRSSCSPTOAbroad (ZZ): no. 13 ahead, 7.7 ppAbroad13 · 7.7← no. 22 aheadno. 13 ahead →251001025margin in pp of valid votesSource: TSE, BR-PRES-2026, manifesto SHA-256 890aa5af2220.State boundaries: IBGE mesh API v3, minimum quality, simplifiedat build timeReveno Evidence ·evidence.reveno.com.br/en/elections/br-pres-2026/map/
Fig. 5 Derived Geographic map Download SVG

Formula margin_pp = 100 * |second_round_share_A - second_round_share_B|; ahead = larger second_round_share

3. Counting curve

Cumulative share of registered voters in states and abroad whose count had closed, by closing time, in both rounds. The axis uses the time as the file states it, with no time zone conversion. Very late closings appear after an axis break, with the time in the table.

Counting curve by state closing time, 2026Curve of the cumulative share of registered voters whose count had closed. Round 1: half of the electorate at 10-04 22:47 (SP); Round 2: half of the electorate at 10-25 21:48 (SP). Equivalent table on the page.Counting curve by state closing time, 2026Cumulative share of registered voters in scopes (states and abroad)whose count had closed, by closing time.Evidence state: DERIVED. Closing times observed (TSE coveragefiles); cumulative share computed from them.0%25%50%75%100%half of the electorate17h19h21h23h01h03hlaterTime as in the file (UTC-03:00) on each election dayRound 1, AC: 10-04 18:54, 0.4%Round 1, RO: 10-04 19:49, 1.2%Round 1, MS: 10-04 20:02, 2.5%Round 1, RR: 10-04 20:05, 2.7%Round 1, DF: 10-04 20:11, 4.1%Round 1, MT: 10-04 20:21, 5.8%Round 1, TO: 10-04 20:54, 6.5%Round 1, ES: 10-04 20:55, 8.4%Round 1, AP: 10-04 21:02, 8.8%Round 1, RS: 10-04 21:04, 14.2%Round 1, SC: 10-04 21:53, 17.8%Round 1, SE: 10-04 21:55, 18.9%Round 1, RJ: 10-04 22:04, 27.0%Round 1, GO: 10-04 22:35, 30.2%Round 1, PE: 10-04 22:39, 34.7%Round 1, PR: 10-04 22:40, 40.1%Round 1, SP: 10-04 22:47, 61.6%Round 1, RN: 10-04 22:50, 63.3%Round 1, AL: 10-04 22:53, 64.9%Round 1, CE: 10-04 23:09, 69.3%Round 1, PB: 10-04 23:21, 71.3%Round 1, PI: 10-04 23:35, 73.0%Round 1, PA: 10-04 23:55, 77.0%Round 1, BA: 10-05 00:39, 84.1%Round 1, MG: 10-05 00:45, 94.4%Round 1, AM: 10-05 00:58, 96.2%Round 1, MA: 10-05 01:56, 99.4%Round 1, Abroad (ZZ): 10-05 09:19, 100.0%Round 2, AC: 10-25 19:18, 0.4%Round 2, RO: 10-25 20:09, 1.2%Round 2, RR: 10-25 20:12, 1.4%Round 2, MS: 10-25 20:29, 2.7%Round 2, MT: 10-25 20:50, 4.4%Round 2, SC: 10-25 21:07, 8.0%Round 2, AM: 10-25 21:08, 9.7%Round 2, AP: 10-25 21:10, 10.1%Round 2, RN: 10-25 21:19, 11.8%Round 2, PR: 10-25 21:21, 17.2%Round 2, DF: 10-25 21:23, 18.6%Round 2, PI: 10-25 21:25, 20.3%Round 2, AL: 10-25 21:27, 21.9%Round 2, TO: 10-25 21:30, 22.6%Round 2, ES: 10-25 21:31, 24.5%Round 2, RS: 10-25 21:32, 29.9%Round 2, SE: 10-25 21:32, 31.0%Round 2, GO: 10-25 21:33, 34.2%Round 2, CE: 10-25 21:45, 38.6%Round 2, SP: 10-25 21:48, 60.1%Round 2, PB: 10-25 21:59, 62.1%Round 2, PE: 10-25 22:02, 66.7%Round 2, RJ: 10-25 22:18, 74.8%Round 2, PA: 10-25 22:24, 78.7%Round 2, MA: 10-25 22:45, 82.0%Round 2, MG: 10-25 23:08, 92.3%Round 2, BA: 10-25 23:21, 99.4%Round 2, Abroad (ZZ): 10-26 09:05, 100.0%Round 1Round 2Round 1: half of the electorate at 10-04 22:47 (SP).Round 2: half of the electorate at 10-25 21:48 (SP).2 scope(s) closed later, the last at 10-26 09:05 (Abroad (ZZ)).Round 1Round 2Source: TSE, BR-PRES-2026, manifesto SHA-256 890aa5af2220.Reveno Evidence ·evidence.reveno.com.br/en/elections/br-pres-2026/map/
Fig. 6 Derived Counting curve Download SVG
Table equivalent to the counting curve, Round 1. Derived
OrderScopeClosed at (UTC-03:00) ObservedCumulative share Derived
1AC0.4%
2RO1.2%
3MS2.5%
4RR2.7%
5DF4.1%
6MT5.8%
7TO6.5%
8ES8.4%
9AP8.8%
10RS14.2%
11SC17.8%
12SE18.9%
13RJ27.0%
14GO30.2%
15PE34.7%
16PR40.1%
17SP61.6%
18RN63.3%
19AL64.9%
20CE69.3%
21PB71.3%
22PI73.0%
23PA77.0%
24BA84.1%
25MG94.4%
26AM96.2%
27MA99.4%
28Abroad (ZZ)100.0%
Table equivalent to the counting curve, Round 2. Derived
OrderScopeClosed at (UTC-03:00) ObservedCumulative share Derived
1AC0.4%
2RO1.2%
3RR1.4%
4MS2.7%
5MT4.4%
6SC8.0%
7AM9.7%
8AP10.1%
9RN11.8%
10PR17.2%
11DF18.6%
12PI20.3%
13AL21.9%
14TO22.6%
15ES24.5%
16RS29.9%
17SE31.0%
18GO34.2%
19CE38.6%
20SP60.1%
21PB62.1%
22PE66.7%
23RJ74.8%
24PA78.7%
25MA82.0%
26MG92.3%
27BA99.4%
28Abroad (ZZ)100.0%

Formula cumulative_electorate_share = sum(electorate dos escopos fechados até t) / sum(electorate)

4. National result

Percentage of valid votes by candidacy in each round, with the 50% of valid votes line as a reference.

National result by round, 2026Percentage of valid votes by candidacy. Round 1: nº 22 (FLAVIO BOLSONARO) 47.03%, nº 13 (LULA) 45.16%; Round 2: nº 13 (LULA) 51.79%, nº 22 (FLAVIO BOLSONARO) 48.21%. Equivalent table on the page.National result by round, 2026Percentage of valid votes by candidacy, from most to least voted.Evidence state: OBSERVED. Votes read from the official TSE files;percentages of valid votes.Round 122 FLAVIO BOLSONARO (PL): 47.03%, 56,104,503 votes22 FLAVIO BOLSONARO47.03%13 LULA (PT): 45.16%, 53,879,538 votes13 LULA45.16%70 ESCRITOR AUGUSTO CURY (AVANTE): 2.89%, 3,448,569 votes70 ESCRITOR AUGUSTO CURY2.89%14 RENAN SANTOS (MISSÃO): 2.24%, 2,675,887 votes14 RENAN SANTOS2.24%55 RONALDO CAIADO (PSD): 2.18%, 2,605,148 votes55 RONALDO CAIADO2.18%30 ZEMA (NOVO): 0.27%, 326,488 votes30 ZEMA0.27%80 SAMARA (UP): 0.10%, 122,911 votes80 SAMARA0.10%16 HERTZ DIAS (PSTU): 0.04%, 43,103 votes16 HERTZ DIAS0.04%27 CLARIANA BARAO (DC): 0.03%, 40,043 votes27 CLARIANA BARAO0.03%21 EDMILSON COSTA (PCB): 0.02%, 22,693 votes21 EDMILSON COSTA0.02%35 VETERINÁRIO WILSON GRASSI (DEMOCRATA): 0.01%, 16,881 votes35 VETERINÁRIO WILSON GRASSI0.01%29 RUI COSTA PIMENTA (PCO): 0.01%, 15,024 votes29 RUI COSTA PIMENTA0.01%Round 213 LULA (PT): 51.79%, 64,256,232 votes13 LULA51.79%22 FLAVIO BOLSONARO (PL): 48.21%, 59,826,041 votes22 FLAVIO BOLSONARO48.21%50% of valid votesSource: TSE, BR-PRES-2026, manifesto SHA-256 890aa5af2220.Reveno Evidence ·evidence.reveno.com.br/en/elections/br-pres-2026/map/
Fig. 7 Observed National result Download SVG
Table equivalent to the national result. Observed
RoundNo.CandidacyPartyVotes Observed% of valid Derived
Round 122FLAVIO BOLSONAROPL56,104,50347.03%
Round 113LULAPT53,879,53845.16%
Round 170ESCRITOR AUGUSTO CURYAVANTE3,448,5692.89%
Round 114RENAN SANTOSMISSÃO2,675,8872.24%
Round 155RONALDO CAIADOPSD2,605,1482.18%
Round 130ZEMANOVO326,4880.27%
Round 180SAMARAUP122,9110.10%
Round 116HERTZ DIASPSTU43,1030.04%
Round 127CLARIANA BARAODC40,0430.03%
Round 121EDMILSON COSTAPCB22,6930.02%
Round 135VETERINÁRIO WILSON GRASSIDEMOCRATA16,8810.01%
Round 129RUI COSTA PIMENTAPCO15,0240.01%
Round 213LULAPT64,256,23251.79%
Round 222FLAVIO BOLSONAROPL59,826,04148.21%

5. To embed

Each drawing is a static SVG file, with no script, carrying title, description, evidence state, source and credit inside the file. To use it, embed it by its address and keep the link to this page.

<img src="https://evidence.reveno.com.br/en/elections/br-pres-2026/bars-swing.svg" width="560" alt="Swing by state between round 1 and round 2, 2026, largest to smallest">

6. Sources and drawing method

State boundaries from the official IBGE mesh API, at minimum quality, stored unchanged and checked by SHA-256. At build time the mesh is projected (equirectangular corrected by the mean latitude) and simplified with Douglas-Peucker at a tolerance of 0.6 drawing unit(s): from 4985 to 2180 points. The IBGE Localities API state table links each polygon code to the state abbreviation.

IBGE files used in the geographic map.
IDURLDownloaded atSHA-256BytesState
ibge-malha-uf-minimahttps://servicodados.ibge.gov.br/api/v3/malhas/paises/BR?formato=application/vnd.geo%2Bjson&qualidade=minima&intrarregiao=UF07c671aa87aa1ab296c446de6294df9827112782537b996c0a160284907e7c0f98,502Observed
ibge-localidades-estadoshttps://servicodados.ibge.gov.br/api/v1/localidades/estados?orderBy=nome6b001067b04e037095410ce8d33e11a2d77bf63750354a09608b12f086324f042,446Observed

Grid positions (column, row) are our own: they approximate real neighbors, with the North at the top left, the Northeast at the top right, the Center-West in the middle and the Southeast and South going down; abroad (ZZ) sits outside the mainland. They are not IBGE data.

Case manifest (TSE), SHA-256: 890aa5af22204752879a7d89e3612e93c9a043f857a52a78e060ec6b82c03352

7. About this data

What it measures
Swing by state between rounds, finalist ahead and margin by state in round 2, counting curve and national result, drawn as SVG from the same tables.
Source
Brazil's Superior Electoral Court (TSE), through the case files; state boundaries from IBGE, collected on .
Unit
Percentage points (pp) for swing and margin; share of valid votes; cumulative share of registered voters.
Period
and
Last collected
Next scheduled collection
Daily at 09:30 UTC (06:30 in Brasília), by the evidence-tse engine, which checks the SHA-256 of every file. This page changes on the next site publication. IBGE boundaries: no scheduled collection; they change only with a new manual collection recorded in the manifest.
Maintained by
Reveno Evidence · evidence-tse engine, owner Thiago Holtz
Evidence state
Derived Observed
Version
Collection manifest, SHA-256 890aa5af22204752879a7d89e3612e93c9a043f857a52a78e060ec6b82c03352
License
Source data license: public data from the TSE and IBGE, under each body's terms (credit IBGE for the boundaries). License for the Reveno drawings, text and calculations: not declared yet; until then, cite this page.

8. Download the data

  1. What is on screen

    The tables on this page as CSV, with unformatted numbers and the evidence state of every row.

  2. The full set, with a manifest

    A ZIP with every file behind the page, a README with the citation and license, and a manifest with the SHA-256 of each file.

  3. For machines

    A JSON at a stable address, with metadata, citation, tables and sources. The address does not change between publications; the content changes when the collection changes.

    • Map data for machines JSON · 27.6 kB · SHA-256 87348b28f24dhttps://evidence.reveno.com.br/eleicoes/br-pres-2026/mapa/dados.json

9. How to cite

Short citation for a chart or table caption, or a note

TSE e IBGE (2026), processed by Reveno Evidence

Full citation with URL and access date

Reveno Evidence (2026). The 2026 presidential election in maps: swing, most voted by state and counting (BR-PRES-2026) [Data set]. Source data: Brazil's Superior Electoral Court (TSE), collected on 2026-11-02 (UTC), and IBGE state boundaries. Collection manifest, SHA-256 890aa5af22204752879a7d89e3612e93c9a043f857a52a78e060ec6b82c03352. Retrieved November 2, 2026, from https://evidence.reveno.com.br/en/elections/br-pres-2026/map/

BibTeX

@misc{reveno_evidence_br_pres_2026_mapas,
  author = {{Reveno Evidence}},
  title = {The 2026 presidential election in maps: swing, most voted by state and counting (BR-PRES-2026)},
  year = {2026},
  publisher = {Reveno},
  url = {https://evidence.reveno.com.br/en/elections/br-pres-2026/map/},
  urldate = {2026-11-02},
  note = {Source data: Brazil's Superior Electoral Court (TSE), collected on 2026-11-02 (UTC), and IBGE state boundaries. Collection manifest, SHA-256 890aa5af22204752879a7d89e3612e93c9a043f857a52a78e060ec6b82c03352}
}

The access date is filled in with the date of this version of the page; replace it with the date you accessed it.

When you use a number, also cite the source file: id, URL and SHA-256 are in the sources table.

Source data license: public data from the TSE and IBGE, under each body's terms (credit IBGE for the boundaries). License for the Reveno drawings, text and calculations: not declared yet; until then, cite this page.

Discover · open and freeAgents & SkillsSkills, agents and MCP servers with origin and triage.Operate · early accessHarnessThe cloud IDE where every agent runs with an owner and a receipt.Decide · early accessEvidenceSynthetic data to test the decision before you invest.