← All councils

North Yorkshire

Every election cycle we have data for, most recent first.

2 cycles in our data
34.4% all-time seats elected below the quota (55 of 160)
18.1% all-time seats unfairly awarded (29 of 160 across 2 cycles)

Cycles

Council composition as of 2025

90 councillors, by party. One square per seat. Source: opencouncildata annual snapshot — reflects the council at the end of 2025 (after that year's elections, by-elections and defections). Hover any seat for the party.

Most recent election (2022)

In 2022, 90 seats were up across 89 wards. The table below shows what each party actually won — alongside what they would have won if the 90 seats had been shared in proportion to votes received (how, with caveats). The Δ column is the actual seat count minus the proportional seat count — positive numbers are parties First-Past-the-Post over-represented; negative are parties it under-represented.

PartyVotesVote %Seats won% of seatsProportional seatsProportional %Δ
Conservative Party69,27241.2%4752.2%3943.3%+8
Labour Party29,14917.3%1213.3%1617.8%-4
Liberal Democrats26,52715.8%1213.3%1415.6%-2
Independent22,56413.4%1314.4%1213.3%+1
Green Party16,4979.8%55.6%910.0%-4
The Liberal Party1,4690.9%11.1%00.0%+1
WAI1,3060.8%00.0%00.0%0
ND6430.4%00.0%00.0%0
Yorkshire Party4790.3%00.0%00.0%0
Reform UK1300.1%00.0%00.0%0
Social Democratic Party640.0%00.0%00.0%0
Total168,100100.0%90100.0%90100.0%0

Vote share vs seats won

The top bar is each party's share of votes cast in this council. Below, one square per seat, coloured by the party that won it — first the actual First-Past-the-Post result, then what a proportional method would have produced from the same vote totals. Divergence between the bar and the actual grid is the indictment of the method.

Vote share
Actual seats
Proportional seats

Full ward-by-ward results for 2022 →

Composition history

One row per opencouncildata annual snapshot — the council at the end of each year (after that year's elections, by-elections and defections). Newest first; hover any seat for the party.

2025
2024
2023
2022
2021
2020
2019
2018
2017
2016

Ward by ward

Each row is a ward, each column a cycle. Each cell shows the top-of-poll candidate's party (swatch) and their share of valid ballots. Wards are matched by name across cycles — boundary reviews can mean a ward of the same name is a slightly different area in a later cycle.

Ward20172022
Ainsty68%
Aire Valley79%
Airedale56%
Aiskew and Leeming52%
Amotherby and Ampleforth51%
Appleton Roebuck and Church Fenton53%
Barlby and Ricall54%
Bedale73%63%
Bentham and Ingleton51%
Bilton and Nidd Gorge52%
Bilton Grange and New Park50%
Boroughbridge75%
Boroughbridge and Claro44%
Brayton and Barlow57%
Camblesforth and Carlton59%
Castle47%41%
Catterick Bridge64%
Catterick Village and Brompton-on-Swale56%
Cawood and Escrick48%
Cawood and Saxton68%
Cayton51%
Central Richmondshire41%
Cliffe and North Duffield55%
Coppice Valley and Duchy45%
Danby and Mulgrave49%
Derwent Valley and Moor48%
Easingwold71%53%
Eastfield73%
Eastfield and Osgodby56%
Escrick65%
Esk Valley68%
Esk Valley and Coast45%
Fairfax and Starbeck51%
Falsgrave and Stepney35%50%
Filey44%43%
Glusburn, Cross Hills and Sutton-in-Craven53%
Great Ayton69%60%
Harlow and St Georges46%
Harrogate Bilton and Nidd Gorge40%
Harrogate Central58%
Harrogate Harlow68%
Harrogate Oatlands51%
Harrogate Saltergate62%
Harrogate Starbeck53%
Helmsley and Sinnington54%
Hertford and Cayton57%
High Harrogate and Kingsley50%
Hillside and Raskell49%
Hipswell and Colburn39%
Hovingham and Sheriff Hutton60%
Huby and Tollerton55%
Hunmanby and Sherburn46%
Hutton Rudby and Osmotherley40%
Killinghall, Hampsthwaite and Saltergate55%
Kirkbymoorside60%
Kirkbymoorside and Dales31%
Knaresborough41%
Knaresborough East53%
Knaresborough West50%
Leyburn and Middleham47%
Lower Nidderdale and Bishop Monkton80%
Malton62%52%
Masham and Fountains71%44%
Mid Craven76%58%
Mid Selby69%
Middle Dales73%
Monk Fryston and South Milford54%
Morton-on-Swale and Appleton Wiske66%
Newby46%38%
North Craven66%
North Hambleton69%
North Richmondshire54%
Northallerton62%
Northallerton North and Brompton40%
Northallerton South55%
Northstead41%42%
Norton58%63%
Oatlands and Pannal47%
Osgoldcross52%66%
Ouseburn69%
Pannal and Lower Wharfedale74%
Pateley Bridge56%
Pateley Bridge and Nidderdale53%
Pickering45%39%
Ribblesdale65%
Richmond53%45%
Richmondshire North71%
Ripon Minster and Moorside69%
Ripon North44%
Ripon South46%
Ripon Ure Bank and Spa41%
Romanby56%
Romanby and Broomfield54%
Scalby and the Coast54%39%
Scotton and Lower Wensleydale46%
Seamer44%
Seamer and Derwent Valley53%
Selby Barlby49%
Selby Brayton67%
Selby East54%
Selby West56%
Settle and Penyghent55%
Sherburn in Elmet58%46%
Sheriff Hutton and Derwent36%
Skipton East47%
Skipton East and South34%
Skipton North and Embsay-with-Eastby35%
Skipton West31%
Skipton West and West Craven30%
South Craven68%
South Selby64%
Sowerby58%
Sowerby and Topcliffe52%
Spofforth with Lower Wharfedale and Tockwith54%
Stokesley46%53%
Stray, Woodlands and Hookstone52%
Swale75%
Tadcaster49%35%
Thirsk65%
Thornton Dale and the Wolds70%
Thornton Dale and Wolds53%
Thorpe Willoughby and Hambleton56%
Upper Dale59%
Upper Dales61%
Valley Gardens and Central Harrogate40%
Washburn and Birstwith45%
Wathvale and Bishop Monkton57%
Weaponness and Ramshill43%38%
Wharfedale61%
Whitby Streonshalh34%
Whitby West41%
Whitby/Mayfield cum Mulgrave63%
Whitby/Streonshalh43%
Woodlands34%39%