2017 Portuguese local elections

Local elections were held in Portugal on 1 October 2017. The elections consisted of three separate elections in the 308 Portuguese municipalities, the election for the Municipal Chambers, whose winner is automatically elected mayor, similar to first-past-the-post (FPTP), another election for the Municipal Assembly, as well an election for the lower-level Parish Assembly, whose winner is elected parish president. This last election was held in the more than 3,000 parishes around the country. In the 2017 election, 13.3 percent of incumbent mayors, 41 to be precise, were barred from running for another term.

The Socialist Party (PS) was the big winner of the elections consolidating their position as the largest local party in Portugal. The PS won 160 mayors, 10 more than in 2013, and more than 38 percent of the votes. The Socialists maintained control in cities like Lisbon, although here they lost their majority, Funchal and Coimbra, at the same time they gained some strong PSD bastions like Chaves or Mirandela. Nonetheless, the PS lost one of their bastions, Vila do Conde, to an independent. The strong nationwide results for the PS helped to legitimize António Costa's position as Prime Minister after his loss in the 2015 general elections. It was also the first time since 1985, that the party in government clearly won a nationwide local election.

The Social Democrats (PSD), aside from CDU, were one of the big losers of the elections. They lost 8 cities in comparison to 2013, although, in term of votes won, they got basically the same number compared to 2013. The PSD achieved very bad results in Lisbon and Porto, polling third and below 15 percent of the votes. The worse than expected results led Pedro Passos Coelho to question, on election night, if he had the political ground to continue as leader of the party. Two days later, on October 3, Passos Coelho announced he would not stand for another term as PSD leader.

The CDU was also one of the big losers of the election. The Communist-Green alliance achieved their worst results in history losing 10 cities, 9 to the PS and 1 to an independent, and polling below 10% of the votes. The CDU lost strong bastions in Setúbal district like Almada and Barreiro and wasn't able to hold on to Beja.

The CDS-People's Party achieved very surprising results, especially in Lisbon. Assunção Cristas, CDS leader and candidate for Lisbon mayor, polled 2nd place and won 21 percent of the votes, 10 points ahead of the PSD. In the country as a whole, the CDS was able to gain one municipality from the PSD, Oliveira do Bairro, and was able to maintain the other 5 cities they won in 2013.

Independent Movements also increased their scores compared to 2013. A total 17 independent candidates gained or maintained control in their respective cities, especially Rui Moreira, mayor of Porto, as he was able to win re-election with a majority. Smaller parties also made gains: Livre, in coalition with the PS, gained Felgueiras from the PSD, We, the Citizens! won Oliveira de Frades from a PSD/CDS coalition and JPP maintained control of Santa Cruz in the Madeira islands.

Turnout in these elections increased compared with four years ago, with 55.0 percent of voters casting a ballot.

Electoral system
All 308 municipalities are allocated a certain number of councilors to elect corresponding to the number of registered voters in a given municipality. Each party or coalition must present a list of candidates. The lists are closed and the seats in each municipality are apportioned according to the D'Hondt method. Unlike in national legislative elections, independent lists are allowed to run.

Council seats and Parish assembly seats are distributed as follows:


 * For parishes with more than 30,000 voters, the number of seats mentioned above is increased in one per 10,000 voters beyond that number (if, by applying this rule the result is even, the number of seats is increased in one more.

Parties
The main political forces that contested the election were:


 * Left Bloc (BE)
 * People's Party (CDS–PP) (only in some municipalities)1
 * Unitary Democratic Coalition (CDU)
 * Together for the People (JPP)
 * People–Animals–Nature (PAN)
 * Socialist Party (PS)
 * Social Democratic Party (PSD) (only in some municipalities)1

1 The PSD and the CDS–PP also formed coalitions in several municipalities with the Earth Party (MPT) and the People's Monarchist Party (PPM).

Voter turnout
The table below shows voter turnout throughout election day.

National summary of votes and seats
! rowspan="2" colspan=2 style="background-color:#E9E9E9" align=left|Parties ! rowspan="2" style="background-color:#E9E9E9" align=right|Votes ! rowspan="2" style="background-color:#E9E9E9" align=right|% ! rowspan="2" style="background-color:#E9E9E9" align=right|±pp swing ! rowspan="2" style="background-color:#E9E9E9" align=right|Candidacies ! colspan="2" style="background-color:#E9E9E9" align="center"|Councillors ! colspan="2" style="background-color:#E9E9E9" align="center"|Mayors ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|± ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * - style="background-color:#E9E9E9"
 * 1,956,682||37.82||1.5||296||952||29||159||10
 * 831,555||16.07||0.6||190||493||38||79||7
 * 489,083||9.45||1.6||303||171||42||24||10
 * style="width: 10px" bgcolor=#FF9900 align="center" |
 * align=left|Social Democratic / People's
 * 454,222||8.78||1.2||73||169||15||16||0
 * style="width: 8px" bgcolor=gray align="center" |
 * align=left|Independents
 * 351,352||6.79||0.1||87||130||18||17||4
 * 170,040||3.29||0.9||124||12||4||0||0
 * 134,257||2.60||0.4||113||41||6||6||1
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / CDS–PP / MPT / PPM
 * 88,541||1.71||1.2||11||23||9||1||0
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / CDS–PP / PPM
 * 75,192||1.45||0.4||4||15||6||2||0
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / MPT / PPM
 * 57,570||1.11||0.9||13||4||3||0||0
 * 55,921||1.08||0.8||31||0||0||0||0
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / PPM
 * 46,822||0.91||0.4||4||8||13||0||1
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / CDS–PP / MPT / PPM / PPV-CDC
 * 36,452||0.70||—||1||5||—||0||—
 * style="width: 9px" bgcolor=#FF66FF align="center" |
 * align=left|Socialist / Together for the People
 * 23,634||0.46||—||1||5||—||0||—
 * style="width: 9px" bgcolor=#FF66FF align="center" |
 * align=left|PS / BE / JPP / PDR / NC
 * 23.577||0.46||0.1||1||6||1||1||0
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|Social Democratic / Earth
 * 19,556||0.38||0.4||4||5||2||0||0
 * style="width: 9px" bgcolor= align="center" |
 * align=left|LIVRE / Socialist
 * 16,409	||0.32||—||1||5||—||1||—
 * style="width: 9px" bgcolor=green align="center" |
 * align=left|Together for the People
 * 14,818	||0.29||—||5||6||—||1||—
 * style="width: 9px" bgcolor=gold align="center" |
 * align=left|We, the Citizens!
 * 12,497	||0.24||—||12||5||—||1||—
 * 12,387||0.24||0.3||18||0||0||0||0
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / CDS–PP / MPT
 * 12,128	||0.23||1.8||6||7||4||0||0
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|People's / People's Monarchist
 * 10,286||0.20||—||12||4||—||0||—
 * style="width: 10px" bgcolor=#CC0033 align="center" |
 * align=left|Labour
 * 5,681||0.11||0.1||26||0||0||0||0
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / PSD/ MPT / PPM
 * 4,862||0.09||—||1||2||—||0||—
 * 4,744||0.09||0.0||13||0||0||0||0
 * style="width: 9px" bgcolor=black align="center" |
 * align=left|PDR / Together for the People
 * 3,643||0.07||—||4||0||—||0||—
 * 3,370||0.07||0.0||13||0||2||0||0
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|Social Democratic / We, the Citizens!
 * 2,948||0.06||—||1||2||—||0||—
 * style="width: 9px" bgcolor=black align="center" |
 * align=left|Democratic Republican
 * 2,793||0.05||—||10||0||—||0||—
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|People's / We, the Citizens!
 * 2,547||0.05||—||2||0||—||0||—
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|People's / Social Democratic
 * 2,287||0.04||0.1||4||2||2||0||0
 * style="width: 9px" bgcolor=#013220 align="center" |
 * align=left|Earth / PPV-CDC
 * 2,258||0.04||—||1||0||—||0||—
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / PPM / MPT
 * 1,958||0.04||0.9||1||2||5||0||0
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|People's / Earth
 * 1,568||0.03||0.1||4||0||0||0||0
 * style="width: 9px" bgcolor=#005FAD align="center" |
 * align=left|PPM / PURP
 * 1,330||0.03||—||1||0||—||0||—
 * 1,008	||0.02||—||3||0||—||0||—
 * style="width: 9px" bgcolor=crimson align="center" |
 * align=left|Socialist Alternative Movement
 * 943||0.02||—||1||0||—||0||—
 * style="width: 9px" bgcolor=yellow align="center" |
 * align=left|United Party of Retirees and Pensioners
 * 760||0.02||—||2||0||—||0||—
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / NC / PPM
 * 661||0.01||—||2||0||—||0||—
 * style="width: 9px" bgcolor==#000080 align="center" |
 * align=left|PPV-CDC / PPM
 * 470||0.01||—||1||0||—||0||—
 * 364||0.01||0.0||2||0||0||0||0
 * style="width: 9px" bgcolor==#000080 align="center" |
 * align=left|Citizenship and Christian Democracy
 * 186||0.00||—||1||0||—||0||—
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / PSD / PPM
 * 146||0.00||—||1||0||—||0||—
 * colspan=2 align=left style="background-color:#E9E9E9"|Total valid
 * width="65" align="right" style="background-color:#E9E9E9"|4,937,508
 * width="40" align="right" style="background-color:#E9E9E9"|95.45
 * width="40" align="right" style="background-color:#E9E9E9"|2.3
 * width="40" align="right" style="background-color:#E9E9E9"|—
 * width="45" align="right" style="background-color:#E9E9E9"|2,074
 * width="45" align="right" style="background-color:#E9E9E9"|12
 * width="45" align="right" style="background-color:#E9E9E9"|308
 * width="45" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 135,785||2.62||1.3||colspan=5 rowspan=4|
 * colspan=2|Invalid ballots
 * 99,734	||1.93||1.0
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="65" align="right" style="background-color:#E9E9E9"|5,173,027
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 9,411,442||54.96||2.4
 * colspan=11 align=left | Source: Autárquicas 2017 Resultados Oficiais RTP Autárquicas 2017
 * }
 * style="width: 9px" bgcolor=#005FAD align="center" |
 * align=left|PPM / PURP
 * 1,330||0.03||—||1||0||—||0||—
 * 1,008	||0.02||—||3||0||—||0||—
 * style="width: 9px" bgcolor=crimson align="center" |
 * align=left|Socialist Alternative Movement
 * 943||0.02||—||1||0||—||0||—
 * style="width: 9px" bgcolor=yellow align="center" |
 * align=left|United Party of Retirees and Pensioners
 * 760||0.02||—||2||0||—||0||—
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / NC / PPM
 * 661||0.01||—||2||0||—||0||—
 * style="width: 9px" bgcolor==#000080 align="center" |
 * align=left|PPV-CDC / PPM
 * 470||0.01||—||1||0||—||0||—
 * 364||0.01||0.0||2||0||0||0||0
 * style="width: 9px" bgcolor==#000080 align="center" |
 * align=left|Citizenship and Christian Democracy
 * 186||0.00||—||1||0||—||0||—
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / PSD / PPM
 * 146||0.00||—||1||0||—||0||—
 * colspan=2 align=left style="background-color:#E9E9E9"|Total valid
 * width="65" align="right" style="background-color:#E9E9E9"|4,937,508
 * width="40" align="right" style="background-color:#E9E9E9"|95.45
 * width="40" align="right" style="background-color:#E9E9E9"|2.3
 * width="40" align="right" style="background-color:#E9E9E9"|—
 * width="45" align="right" style="background-color:#E9E9E9"|2,074
 * width="45" align="right" style="background-color:#E9E9E9"|12
 * width="45" align="right" style="background-color:#E9E9E9"|308
 * width="45" align="right" style="background-color:#E9E9E9"|0
 * colspan=2|Blank ballots
 * 135,785||2.62||1.3||colspan=5 rowspan=4|
 * colspan=2|Invalid ballots
 * 99,734	||1.93||1.0
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="65" align="right" style="background-color:#E9E9E9"|5,173,027
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 9,411,442||54.96||2.4
 * colspan=11 align=left | Source: Autárquicas 2017 Resultados Oficiais RTP Autárquicas 2017
 * }
 * colspan=2|Blank ballots
 * 135,785||2.62||1.3||colspan=5 rowspan=4|
 * colspan=2|Invalid ballots
 * 99,734	||1.93||1.0
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="65" align="right" style="background-color:#E9E9E9"|5,173,027
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 9,411,442||54.96||2.4
 * colspan=11 align=left | Source: Autárquicas 2017 Resultados Oficiais RTP Autárquicas 2017
 * }
 * 9,411,442||54.96||2.4
 * colspan=11 align=left | Source: Autárquicas 2017 Resultados Oficiais RTP Autárquicas 2017
 * }
 * }

City control
The following table lists party control in all district capitals, as well as in municipalities above 100,000 inhabitants. Population estimates from 2017.

National summary of votes and seats
! rowspan="2" colspan=2 style="background-color:#E9E9E9" align=left|Parties ! rowspan="2" style="background-color:#E9E9E9" align=right|Votes ! rowspan="2" style="background-color:#E9E9E9" align=right|% ! rowspan="2" style="background-color:#E9E9E9" align=right|±pp swing ! rowspan="2" style="background-color:#E9E9E9" align=right|Candidacies ! colspan="2" style="background-color:#E9E9E9" align="center"|Mandates ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * - style="background-color:#E9E9E9"
 * 1,883,679||36.42||1.5||297||2,731||72
 * 818,680||15.83||0.5||188||1,491||97
 * 519,831||10.05||1.9||301||619||128
 * style="width: 10px" bgcolor=#FF9900 align="center" |
 * align=left|Social Democratic / People's
 * 454,186||8.78||1.3||73||539||46
 * style="width: 8px" bgcolor=gray align="center" |
 * align=left|Independents
 * 333,558||6.45||0.0||74||396||44
 * 216,308||4.18||1.0||127||125||25
 * 138,782||2.68||0.5||99||184||40
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD/ CDS–PP / MPT / PPM
 * 86,701||1.68||1.2||11||73||36
 * 73,600||1.42||0.9||32||26||19
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / CDS–PP / PPM
 * 71,028||1.37||0.4||4||42||30
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / MPT / PPM
 * 49,210||0.95||0.8||13||16||7
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / PPM
 * 48,620||0.94||0.3||4||26||16
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / CDS–PP / MPT / PPM / PPV-CDC
 * 35,365||0.68||—||1||19||—
 * style="width: 9px" bgcolor=#FF66FF align="center" |
 * align=left|Socialist / Together for the People
 * 22,295||0.43||—||1||13||—
 * style="width: 9px" bgcolor=#FF66FF align="center" |
 * align=left|PS / BE / JPP / PDR / NC
 * 21,693||0.43||0.0||1||15||1
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|Social Democratic / Earth
 * 21,019	||0.42||0.4||4||19||11
 * style="width: 9px" bgcolor=#00CD8C align="center" |
 * align=left|LIVRE / Socialist
 * 16,096||0.31||—||1||14||—
 * style="width: 9px" bgcolor=green align="center" |
 * align=left|Together for the People
 * 14,488||0.28||—||5||17||—
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / CDS–PP / MPT
 * 13,224||0.26||1.9||6||24||18
 * style="width: 9px" bgcolor=gold align="center" |
 * align=left|We, the Citizens!
 * 12,123||0.23||—||10||15||—
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|People's / People's Monarchist
 * 10,600||0.20||—||11||15||—
 * 8,915||0.17||0.1||11||0||2
 * style="width: 10px" bgcolor=#CC0033 align="center" |
 * align=left|Labour
 * 5,834||0.11||0.0||22||1||2
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / PSD/ MPT / PPM
 * 4,960||0.10||—||1||6||—
 * 4,916||0.10||0.0||12||1||10
 * style="width: 9px" bgcolor=black align="center" |
 * align=left|PDR / Together for the People
 * 4,390||0.08||—||4||1||—
 * 4,254||0.08||0.0||8||0||0
 * style="width: 9px" bgcolor=black align="center" |
 * align=left|Democratic Republican
 * 3,738||0.07||—||9||1||—
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|Social Democratic / We, the Citizens!
 * 2,989||0.06||—||1||6||—
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|People's / We, the Citizens!
 * 2,758||0.05||—||2||3||—
 * style="width: 9px" bgcolor=#013220 align="center" |
 * align=left|Earth / PPV-CDC
 * 2,387||0.05||—||1||1||—
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|People's / Social Democratic
 * 2,217||0.04||0.1||4||6||11
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / MPT / PPM
 * 1,901||0.04||0.4||1||5||6
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|People's Party / Earth Party
 * 1,459||0.03||0.1||4||2||1
 * style="width: 9px" bgcolor=#005FAD align="center" |
 * align=left|PPM / PURP
 * 1,417||0.03||—||1||0||—
 * style="width: 9px" bgcolor=yellow align="center" |
 * align=left|United Party of Retirees and Pensioners
 * 892||0.02||—||2||0||—
 * 874||0.02||—||2||0||—
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / NC / PPM
 * 630||0.01||—||2||2||—
 * 289||0.01||0.0||1||0||2
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / PSD / PPM
 * 168||0.00||—||1||0||—
 * style="width: 9px" bgcolor=#005FAD align="center" |
 * align=left|People's Monarchist / People's
 * 121||0.00||—||1||7||—
 * colspan=2 align=left style="background-color:#E9E9E9"|Total valid
 * width="65" align="right" style="background-color:#E9E9E9"|4,916,195
 * width="40" align="right" style="background-color:#E9E9E9"|95.04
 * width="40" align="right" style="background-color:#E9E9E9"|2.4
 * width="40" align="right" style="background-color:#E9E9E9"|—
 * width="45" align="right" style="background-color:#E9E9E9"|6,461
 * width="45" align="right" style="background-color:#E9E9E9"|26
 * colspan=2|Blank ballots
 * 152,040||2.94||1.3||colspan=6 rowspan=4|
 * colspan=2|Invalid ballots
 * 104,500||2.02||1.1
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="65" align="right" style="background-color:#E9E9E9"|5,172,735
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 9,411,442||54.96||2.4
 * colspan=11 align=left | Source: Autárquicas 2017 Resultados Oficiais RTP Autárquicas 2017
 * }
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / MPT / PPM
 * 1,901||0.04||0.4||1||5||6
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|People's Party / Earth Party
 * 1,459||0.03||0.1||4||2||1
 * style="width: 9px" bgcolor=#005FAD align="center" |
 * align=left|PPM / PURP
 * 1,417||0.03||—||1||0||—
 * style="width: 9px" bgcolor=yellow align="center" |
 * align=left|United Party of Retirees and Pensioners
 * 892||0.02||—||2||0||—
 * 874||0.02||—||2||0||—
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / NC / PPM
 * 630||0.01||—||2||2||—
 * 289||0.01||0.0||1||0||2
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / PSD / PPM
 * 168||0.00||—||1||0||—
 * style="width: 9px" bgcolor=#005FAD align="center" |
 * align=left|People's Monarchist / People's
 * 121||0.00||—||1||7||—
 * colspan=2 align=left style="background-color:#E9E9E9"|Total valid
 * width="65" align="right" style="background-color:#E9E9E9"|4,916,195
 * width="40" align="right" style="background-color:#E9E9E9"|95.04
 * width="40" align="right" style="background-color:#E9E9E9"|2.4
 * width="40" align="right" style="background-color:#E9E9E9"|—
 * width="45" align="right" style="background-color:#E9E9E9"|6,461
 * width="45" align="right" style="background-color:#E9E9E9"|26
 * colspan=2|Blank ballots
 * 152,040||2.94||1.3||colspan=6 rowspan=4|
 * colspan=2|Invalid ballots
 * 104,500||2.02||1.1
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="65" align="right" style="background-color:#E9E9E9"|5,172,735
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 9,411,442||54.96||2.4
 * colspan=11 align=left | Source: Autárquicas 2017 Resultados Oficiais RTP Autárquicas 2017
 * }
 * colspan=2|Blank ballots
 * 152,040||2.94||1.3||colspan=6 rowspan=4|
 * colspan=2|Invalid ballots
 * 104,500||2.02||1.1
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="65" align="right" style="background-color:#E9E9E9"|5,172,735
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 9,411,442||54.96||2.4
 * colspan=11 align=left | Source: Autárquicas 2017 Resultados Oficiais RTP Autárquicas 2017
 * }
 * 9,411,442||54.96||2.4
 * colspan=11 align=left | Source: Autárquicas 2017 Resultados Oficiais RTP Autárquicas 2017
 * }
 * }

National summary of votes and seats
! rowspan="2" colspan=2 style="background-color:#E9E9E9" align=left|Parties ! rowspan="2" style="background-color:#E9E9E9" align=right|Votes ! rowspan="2" style="background-color:#E9E9E9" align=right|% ! rowspan="2" style="background-color:#E9E9E9" align=right|±pp swing ! rowspan="2" style="background-color:#E9E9E9" align=right|Candidacies ! colspan="2" style="background-color:#E9E9E9" align="center"|Mandates ! colspan="2" style="background-color:#E9E9E9" align="center"|Presidents ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|± ! style="background-color:#E9E9E9" align="center"|Total ! style="background-color:#E9E9E9" align="center"|±
 * - style="background-color:#E9E9E9"
 * 1,874,590||36.25||1.6||2,518||10,617||221||1,295||13
 * 809,802||15.66||0.7||1,638||6,629||298||824||88
 * 529,819||10.24||1.7||1,799||1,665||308||139||31
 * style="width: 8px" bgcolor=gray align="center" |
 * align=left|Independents
 * 504,028||9.75||0.2||850||3,365||387||402||60
 * style="width: 10px" bgcolor=#FF9900 align="center" |
 * align=left|Social Democratic / People's
 * 441,927||8.55||1.3||693||2,486||390||270||48
 * 169,580||3.28||1.0||454||213||75||0||0
 * 122,785||2.37||0.4||506||628||97||54||4
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD/ CDS–PP / MPT / PPM
 * 89,058||1.72||1.3||70||238||150||11||8
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / CDS–PP / PPM
 * 63,515	||1.23||0.4||56||250||200||28||16
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / PPM
 * 52,697	||1.02||0.1||45||164||87||14||7
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / MPT / PPM
 * 41,192||0.80||0.6||80||77||65||0||0
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / CDS–PP / MPT / PPM / PPV-CDC
 * 32,414	||0.63||—||44||166||—||12||—
 * style="width: 9px" bgcolor=#FF66FF align="center" |
 * align=left|Socialist / Together for the People
 * 23,129||0.45||—||10||52||—||2||—
 * style="width: 9px" bgcolor=#FF66FF align="center" |
 * align=left|PS / BE / JPP / PDR / NC
 * 20,428	||0.40||0.0||10||58||5||5||0
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|Social Democratic / Earth
 * 15,486	||0.30||0.3||20||52||25||1||0
 * style="width: 9px" bgcolor=green align="center" |
 * align=left|Together for the People
 * 13,747||0.27||—||18||45||—||5||—
 * 13,356	||0.26||0.2||26||6||5||0||0
 * style="width: 9px" bgcolor=#00CD8C align="center" |
 * align=left|LIVRE / Socialist
 * 13,216	||0.26||—||11||54||—||7||—
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / CDS–PP / MPT
 * 12,442	||0.24||2.0||26||57||265||5||13
 * style="width: 9px" bgcolor=gold align="center" |
 * align=left|We, the Citizens!
 * 9,090||0.18||—||28||42||—||3||—
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|People's / People's Monarchist
 * 8,624||0.17||—||41||47||—||3||—
 * 5,059||0.10||0.1||24||0||2||0||0
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / PSD/ MPT / PPM
 * 4,523||0.09||—||3||9||—||0||—
 * style="width: 9px" bgcolor=black align="center" |
 * align=left|PDR / Together for the People
 * 4,476||0.07||—||22||1||—||0||—
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|People's Party / Social Democratic
 * 4,223||0.08||0.0||10||25||38||2||3
 * 4,072||0.08||0.0||29||7||11||0||0
 * style="width: 10px" bgcolor=#CC0033 align="center" |
 * align=left|Labour
 * 3,813||0.07||0.0||64||0||1||0||0
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|People's / We, the Citizens!
 * 3,056||0.06||—||17||19||—||1||—
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|Social Democratic / We, the Citizens!
 * 2,653||0.05||—||6||14||—||0||—
 * style="width: 9px" bgcolor=#013220 align="center" |
 * align=left|Earth / PPV-CDC
 * 2,132||0.04||—||10||0||—||0||—
 * style="width: 9px" bgcolor=black align="center" |
 * align=left|Democratic Republican
 * 1,903||0.04||—||21||4||—||0||—
 * style="width: 9px" bgcolor=#FF9900 align="center" |
 * align=left|PSD / MPT / PPM
 * 1,739||0.03||0.2||5||12||27||0||2
 * 1,685||0.03||0.0||20||0||0||0||0
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|People's Party / Earth Party
 * 1,181||0.02||0.0||12||2||2||0||0
 * style="width: 9px" bgcolor=#005FAD align="center" |
 * align=left|PPM / PURP
 * 668||0.01||—||3||0||—||0||—
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / NC / PPM
 * 626||0.01||—||15||9||—||0||—
 * 457||0.01||—||7||2||—||0||—
 * style="width: 9px" bgcolor=yellow align="center" |
 * align=left|United Party of Retirees and Pensioners
 * 271||0.01||—||4||0||—||0||—
 * 262||0.01||0.0||4||1||10||0||0
 * style="width: 9px" bgcolor=crimson align="center" |
 * align=left|Socialist Alternative Movement
 * 202||0.00||—||1||0||—||0||—
 * colspan=2 align=left style="background-color:#E9E9E9"|Total valid
 * width="65" align="right" style="background-color:#E9E9E9"|4,903,926
 * width="40" align="right" style="background-color:#E9E9E9"|92.99
 * width="40" align="right" style="background-color:#E9E9E9"|1.8
 * width="40" align="right" style="background-color:#E9E9E9"|—
 * width="45" align="right" style="background-color:#E9E9E9"|27,005
 * width="45" align="right" style="background-color:#E9E9E9"|162
 * width="45" align="right" style="background-color:#E9E9E9"|3,083
 * width="45" align="right" style="background-color:#E9E9E9"|2
 * colspan=2|Blank ballots
 * 152,337||2.95||0.9||colspan=5 rowspan=4|
 * colspan=2|Invalid ballots
 * 115,317||2.23||0.9
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="65" align="right" style="background-color:#E9E9E9"|5,171,580
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 9,410,569||54.95||2.4
 * colspan=11 align=left | Source: Autárquicas 2017 Resultados Oficiais RTP Autárquicas 2017
 * }
 * 1,739||0.03||0.2||5||12||27||0||2
 * 1,685||0.03||0.0||20||0||0||0||0
 * style="width: 8px" bgcolor=#0093DD align="center" |
 * align=left|People's Party / Earth Party
 * 1,181||0.02||0.0||12||2||2||0||0
 * style="width: 9px" bgcolor=#005FAD align="center" |
 * align=left|PPM / PURP
 * 668||0.01||—||3||0||—||0||—
 * style="width: 9px" bgcolor=#0093DD align="center" |
 * align=left|CDS–PP / NC / PPM
 * 626||0.01||—||15||9||—||0||—
 * 457||0.01||—||7||2||—||0||—
 * style="width: 9px" bgcolor=yellow align="center" |
 * align=left|United Party of Retirees and Pensioners
 * 271||0.01||—||4||0||—||0||—
 * 262||0.01||0.0||4||1||10||0||0
 * style="width: 9px" bgcolor=crimson align="center" |
 * align=left|Socialist Alternative Movement
 * 202||0.00||—||1||0||—||0||—
 * colspan=2 align=left style="background-color:#E9E9E9"|Total valid
 * width="65" align="right" style="background-color:#E9E9E9"|4,903,926
 * width="40" align="right" style="background-color:#E9E9E9"|92.99
 * width="40" align="right" style="background-color:#E9E9E9"|1.8
 * width="40" align="right" style="background-color:#E9E9E9"|—
 * width="45" align="right" style="background-color:#E9E9E9"|27,005
 * width="45" align="right" style="background-color:#E9E9E9"|162
 * width="45" align="right" style="background-color:#E9E9E9"|3,083
 * width="45" align="right" style="background-color:#E9E9E9"|2
 * colspan=2|Blank ballots
 * 152,337||2.95||0.9||colspan=5 rowspan=4|
 * colspan=2|Invalid ballots
 * 115,317||2.23||0.9
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="65" align="right" style="background-color:#E9E9E9"|5,171,580
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 9,410,569||54.95||2.4
 * colspan=11 align=left | Source: Autárquicas 2017 Resultados Oficiais RTP Autárquicas 2017
 * }
 * colspan=2|Blank ballots
 * 152,337||2.95||0.9||colspan=5 rowspan=4|
 * colspan=2|Invalid ballots
 * 115,317||2.23||0.9
 * colspan=2 align=left style="background-color:#E9E9E9"|Total
 * width="65" align="right" style="background-color:#E9E9E9"|5,171,580
 * width="40" align="right" style="background-color:#E9E9E9"|100.00
 * width="40" align="right" style="background-color:#E9E9E9"|
 * colspan=2|Registered voters/turnout
 * 9,410,569||54.95||2.4
 * colspan=11 align=left | Source: Autárquicas 2017 Resultados Oficiais RTP Autárquicas 2017
 * }
 * colspan=2|Registered voters/turnout
 * 9,410,569||54.95||2.4
 * colspan=11 align=left | Source: Autárquicas 2017 Resultados Oficiais RTP Autárquicas 2017
 * }
 * }