Liberal Democrats › 2023
Liberal Democrats in 2023
Polling day: 4 May 2023. 230 councils held elections.
Summary
- Contested in 221 of 230 councils; ran for 7,685 seats.
- Won 1,632 seats (21.2% of seats up) on 19.1% of the vote.
- Net change vs each council's last appearance in this dataset: +397 seats across 112 councils up, 37 councils down, 69 flat, 3 new to the window.
- Council-control change: 21 gained, 4 lost.
Same votes, different counting rule
Compare the seats Liberal Democrats actually won under FPTP with a proportional re-count of the same council-level votes. Positive means seats unfairly awarded by FPTP; negative means seats the party was denied by FPTP.
Where Liberal Democrats led, as of 2023
Councils where Liberal Democrats was the largest single party in the most recent composition snapshot at or before 2023. Greens ring councils gained at this election; reds ring those lost. Click any hex to drill in.
As of 2023
56 councils led
+21 gained this cycle
−4 lost this cycle
Grey hexes are councils where another party led, or where we don't have a snapshot for that year.
Council-control changes
Councils where the largest party in the running composition changed at this election. How a flip is defined →
Gained (21)
- Elmbridge from Other
- Guildford from Other
- Wokingham from Conservative Party
- Waverley from Conservative Party
- Tewkesbury from Conservative Party
- Horsham from Conservative Party
- Wealden from Conservative Party
- Mid Devon from Conservative Party
- Mid Sussex from Conservative Party
- South Hams from Conservative Party
- Stratford-on-Avon from Conservative Party
- Chichester from Conservative Party
- West Berkshire from Conservative Party
- Bournemouth, Christchurch and Poole from Conservative Party
- Dacorum from Conservative Party
- Windsor and Maidenhead from Conservative Party
- Surrey Heath from Conservative Party
- Derbyshire Dales from Conservative Party
- West Lindsey from Conservative Party
- Rutland from Conservative Party
- West Oxfordshire from Conservative Party
Lost (4)
- Arun to Conservative Party
- Hart to Conservative Party
- York to Labour Party
- Bedford to Conservative Party
Where the seats came from
Per-council net seat change vs each council's prior appearance in our dataset (typically that council's previous all-out election or its last by-thirds slice). "Debut" rows are councils whose first cycle in our window is 2023 — usually the result of a boundary reorganisation or being a county outside our 2021 LEH coverage.
Seats gained (112 councils)
| Council | Won | Last cycle | Net | Vote share | Seat share |
|---|---|---|---|---|---|
| Mole Valley | 30 | 8 (2022) | +22 | 48.4% | 76.9% |
| Mid Devon | 33 | 12 (2019) | +21 | 46.9% | 78.6% |
| Stockport | 30 | 10 (2022) | +20 | 38.4% | 47.6% |
| Horsham | 28 | 13 (2019) | +15 | 35.2% | 58.3% |
| Chichester | 25 | 11 (2019) | +14 | 50.9% | 69.4% |
| Stratford On Avon | 25 | 11 (2019) | +14 | 42.4% | 61.0% |
| Surrey Heath | 24 | 10 (2019) | +14 | 48.8% | 68.6% |
| East Riding Of Yorkshire | 22 | 8 (2019) | +14 | 29.6% | 32.8% |
| West Berkshire | 29 | 16 (2019) | +13 | 48.9% | 67.4% |
| Bournemouth, Christchurch & Poole | 28 | 15 (2019) | +13 | 31.3% | 36.8% |
| Windsor & Maidenhead | 22 | 9 (2019) | +13 | 45.4% | 53.7% |
| East Devon | 18 | 6 (2019) | +12 | 28.5% | 30.0% |
| Sevenoaks | 14 | 3 (2019) | +11 | 28.1% | 25.9% |
| Dacorum | 28 | 19 (2019) | +9 | 42.0% | 54.9% |
| South Oxfordshire | 21 | 12 (2019) | +9 | 35.9% | 58.3% |
| South Hams | 19 | 10 (2019) | +9 | 43.2% | 61.3% |
| Liverpool | 15 | 6 (2021) | +9 | 21.6% | 17.6% |
| Wealden | 13 | 4 (2019) | +9 | 18.5% | 29.5% |
| Rutland | 11 | 2 (2019) | +9 | 49.5% | 44.0% |
| Guildford | 25 | 17 (2019) | +8 | 30.7% | 52.1% |
| Waverley | 22 | 14 (2019) | +8 | 30.1% | 44.0% |
| Tewkesbury | 16 | 8 (2019) | +8 | 32.2% | 42.1% |
| East Suffolk | 11 | 3 (2019) | +8 | 15.8% | 20.0% |
| Mid Sussex | 20 | 13 (2019) | +7 | 36.9% | 41.7% |
| Lewes | 15 | 8 (2019) | +7 | 27.8% | 36.6% |
| East Hampshire | 14 | 7 (2019) | +7 | 32.2% | 32.6% |
| Oldham | 10 | 3 (2022) | +7 | 17.4% | 16.7% |
| Central Bedfordshire | 10 | 3 (2019) | +7 | 15.4% | 15.9% |
| West Lindsey | 18 | 12 (2019) | +6 | 47.1% | 51.4% |
| Hertsmere | 9 | 3 (2019) | +6 | 21.6% | 23.1% |
| Torridge | 8 | 2 (2019) | +6 | 23.3% | 22.2% |
| Bracknell Forest | 7 | 1 (2019) | +6 | 15.8% | 17.1% |
| Lichfield | 7 | 1 (2019) | +6 | 12.2% | 15.2% |
| Test Valley | 17 | 12 (2019) | +5 | 45.7% | 39.5% |
| Herefordshire | 12 | 7 (2019) | +5 | 24.2% | 22.6% |
| Bath & North East Somerset | 41 | 37 (2019) | +4 | 41.8% | 69.5% |
| Cotswold | 22 | 18 (2019) | +4 | 46.2% | 64.7% |
| Winchester | 13 | 9 (2022) | +4 | 50.1% | 81.3% |
| Derbyshire Dales | 12 | 8 (2019) | +4 | 34.2% | 35.3% |
| East Hertfordshire | 10 | 6 (2019) | +4 | 15.7% | 20.0% |
| Lancaster | 7 | 3 (2019) | +4 | 10.1% | 11.5% |
| Wirral | 6 | 2 (2022) | +4 | 10.7% | 9.1% |
| Trafford | 6 | 2 (2022) | +4 | 10.7% | 9.5% |
| Bolton | 6 | 2 (2022) | +4 | 9.8% | 10.0% |
| South Staffordshire | 4 | 0 (2019) | +4 | 13.9% | 9.5% |
| Vale Of White Horse | 34 | 31 (2019) | +3 | 54.6% | 89.5% |
| South Gloucestershire | 20 | 17 (2019) | +3 | 33.9% | 32.8% |
| Luton | 15 | 12 (2019) | +3 | 36.3% | 33.3% |
| Newcastle Upon Tyne | 10 | 7 (2022) | +3 | 27.8% | 37.0% |
| Blaby | 9 | 6 (2019) | +3 | 32.2% | 26.5% |
| Canterbury | 9 | 6 (2019) | +3 | 22.0% | 23.1% |
| North Hertfordshire | 8 | 5 (2022) | +3 | 32.4% | 50.0% |
| West Devon | 4 | 1 (2019) | +3 | 13.3% | 13.3% |
| Slough | 3 | 0 (2022) | +3 | 4.5% | 7.1% |
| Chelmsford | 33 | 31 (2019) | +2 | 41.5% | 57.9% |
| Torbay | 15 | 13 (2019) | +2 | 36.6% | 41.7% |
| Broadland | 14 | 12 (2019) | +2 | 24.3% | 29.8% |
| Harborough | 13 | 11 (2019) | +2 | 36.0% | 38.2% |
| Wokingham | 11 | 9 (2022) | +2 | 41.5% | 61.1% |
| Sheffield | 11 | 9 (2022) | +2 | 25.9% | 37.9% |
| Tonbridge & Malling | 11 | 9 (2019) | +2 | 24.6% | 25.0% |
| Spelthorne | 10 | 8 (2019) | +2 | 18.6% | 25.6% |
| Elmbridge | 9 | 7 (2022) | +2 | 38.9% | 56.3% |
| Portsmouth | 7 | 5 (2022) | +2 | 29.1% | 50.0% |
| Gateshead | 7 | 5 (2022) | +2 | 27.4% | 31.8% |
| Wychavon | 7 | 5 (2019) | +2 | 25.7% | 16.3% |
| Telford & Wrekin | 6 | 4 (2019) | +2 | 9.4% | 11.1% |
| Bromsgrove | 5 | 3 (2019) | +2 | 19.3% | 16.1% |
| Babergh | 5 | 3 (2019) | +2 | 15.8% | 15.6% |
| Epsom & Ewell | 4 | 2 (2019) | +2 | 16.7% | 11.4% |
| Sefton | 4 | 2 (2022) | +2 | 16.0% | 18.2% |
| Derby | 4 | 2 (2022) | +2 | 14.7% | 7.8% |
| Tendring | 4 | 2 (2019) | +2 | 12.5% | 8.3% |
| Gedling | 4 | 2 (2019) | +2 | 9.8% | 9.8% |
| South Kesteven | 4 | 2 (2019) | +2 | 5.4% | 7.7% |
| Southampton | 3 | 1 (2022) | +2 | 12.7% | 5.9% |
| Leicester | 3 | 1 (2019) | +2 | 9.7% | 5.6% |
| Kings Lynn & West Norfolk | 3 | 1 (2019) | +2 | 6.0% | 5.6% |
| Havant | 2 | 0 (2022) | +2 | 20.6% | 20.0% |
| Middlesbrough | 2 | 0 (2019) | +2 | 7.1% | 4.3% |
| Hinckley & Bosworth | 22 | 21 (2019) | +1 | 48.0% | 64.7% |
| Eastbourne | 19 | 18 (2019) | +1 | 49.7% | 70.4% |
| New Forest | 14 | 13 (2019) | +1 | 29.1% | 29.2% |
| Kingston Upon Hull | 11 | 10 (2022) | +1 | 48.6% | 55.0% |
| South Norfolk | 11 | 10 (2019) | +1 | 22.0% | 23.9% |
| Warwick | 10 | 9 (2019) | +1 | 22.6% | 22.7% |
| Woking | 8 | 7 (2022) | +1 | 50.0% | 80.0% |
| Brentwood | 7 | 6 (2022) | +1 | 42.6% | 58.3% |
| Colchester | 6 | 5 (2022) | +1 | 30.3% | 35.3% |
| North West Leicestershire | 5 | 4 (2019) | +1 | 12.6% | 13.2% |
| Rochford | 4 | 3 (2022) | +1 | 25.0% | 30.8% |
| Cambridge | 4 | 3 (2022) | +1 | 22.1% | 25.0% |
| Barnsley | 4 | 3 (2022) | +1 | 17.5% | 19.0% |
| Kirklees | 4 | 3 (2022) | +1 | 13.6% | 16.7% |
| Epping Forest | 3 | 2 (2022) | +1 | 22.4% | 16.7% |
| Pendle | 3 | 2 (2022) | +1 | 15.9% | 25.0% |
| Newark & Sherwood | 3 | 2 (2019) | +1 | 12.5% | 7.7% |
| Forest Of Dean | 3 | 2 (2019) | +1 | 10.2% | 7.9% |
| Runnymede | 2 | 1 (2022) | +1 | 19.2% | 14.3% |
| Lincoln | 2 | 1 (2022) | +1 | 16.7% | 18.2% |
| Worcester | 2 | 1 (2022) | +1 | 16.4% | 18.2% |
| Exeter | 2 | 1 (2022) | +1 | 12.2% | 15.4% |
| Manchester | 2 | 1 (2022) | +1 | 12.1% | 6.1% |
| Fylde | 2 | 1 (2019) | +1 | 7.7% | 5.4% |
| Knowsley | 2 | 1 (2022) | +1 | 7.5% | 12.5% |
| Swindon | 1 | 0 (2022) | +1 | 7.9% | 5.3% |
| Boston | 1 | 0 (2019) | +1 | 6.1% | 3.3% |
| Breckland | 1 | 0 (2019) | +1 | 5.8% | 2.0% |
| Amber Valley | 1 | 0 (2022) | +1 | 4.9% | 2.4% |
| West Suffolk | 1 | 0 (2019) | +1 | 3.0% | 1.7% |
| Melton | 1 | 0 (2019) | +1 | 2.7% | 3.6% |
| Stafford | 1 | 0 (2019) | +1 | 2.5% | 2.5% |
Seats lost (37 councils)
| Council | Won | Last cycle | Net | Vote share | Seat share |
|---|---|---|---|---|---|
| St Albans | 15 | 50 (2022) | -35 | 50.3% | 83.3% |
| Arun | 14 | 22 (2019) | -8 | 21.1% | 25.9% |
| Malvern Hills | 3 | 9 (2019) | -6 | 16.3% | 9.7% |
| North Norfolk | 25 | 30 (2019) | -5 | 43.9% | 62.5% |
| Oadby & Wigston | 19 | 24 (2019) | -5 | 51.1% | 73.1% |
| Chesterfield | 12 | 17 (2019) | -5 | 32.6% | 30.0% |
| Uttlesford | 4 | 7 (2019) | -3 | 14.7% | 10.3% |
| York | 19 | 21 (2019) | -2 | 30.5% | 40.4% |
| Bedford | 13 | 15 (2019) | -2 | 27.7% | 28.3% |
| Redcar & Cleveland | 11 | 13 (2019) | -2 | 17.7% | 18.6% |
| North Somerset | 9 | 11 (2019) | -2 | 23.0% | 18.0% |
| Ribble Valley | 8 | 10 (2019) | -2 | 15.6% | 22.2% |
| West Oxfordshire | 6 | 8 (2022) | -2 | 27.8% | 37.5% |
| Broxtowe | 5 | 7 (2019) | -2 | 18.2% | 11.4% |
| Tandridge | 3 | 5 (2022) | -2 | 18.8% | 21.4% |
| Cheshire East | 2 | 4 (2019) | -2 | 8.0% | 2.4% |
| Rochdale | 1 | 3 (2022) | -2 | 11.9% | 5.0% |
| Reading | 1 | 3 (2022) | -2 | 9.7% | 5.9% |
| High Peak | 1 | 3 (2019) | -2 | 7.4% | 2.3% |
| Rushcliffe | 1 | 3 (2019) | -2 | 5.1% | 2.3% |
| Salford | 0 | 2 (2022) | -2 | 8.1% | 0.0% |
| Eastleigh | 12 | 13 (2022) | -1 | 51.9% | 92.3% |
| Watford | 9 | 10 (2022) | -1 | 48.8% | 75.0% |
| Welwyn Hatfield | 6 | 7 (2022) | -1 | 25.9% | 37.5% |
| Tunbridge Wells | 5 | 6 (2022) | -1 | 25.3% | 31.3% |
| Maidstone | 5 | 6 (2022) | -1 | 22.9% | 27.8% |
| Mid Suffolk | 4 | 5 (2019) | -1 | 10.9% | 11.8% |
| Basingstoke & Deane | 3 | 4 (2022) | -1 | 20.2% | 16.7% |
| Burnley | 2 | 3 (2022) | -1 | 13.5% | 13.3% |
| Wyre Forest | 2 | 3 (2019) | -1 | 11.5% | 6.1% |
| Southend On Sea | 1 | 2 (2022) | -1 | 13.3% | 5.9% |
| Cheshire West & Chester | 1 | 2 (2019) | -1 | 12.9% | 1.4% |
| North East Lincolnshire | 1 | 2 (2022) | -1 | 6.9% | 6.7% |
| Bury | 0 | 1 (2022) | -1 | 5.3% | 0.0% |
| Bassetlaw | 0 | 1 (2019) | -1 | 2.4% | 0.0% |
| Cannock Chase | 0 | 1 (2022) | -1 | 2.1% | 0.0% |
| Bolsover | 0 | 1 (2019) | -1 | 0.7% | 0.0% |
Debut councils (3)
| Council | Won | Vote share | Seat share |
|---|---|---|---|
| Maldon | 6 | 21.6% | 20.0% |
| South Derbyshire | 2 | 4.5% | 5.6% |
| Rossendale | 0 | 0.6% | 0.0% |
No change (69)
- Teignbridge 26 seats (unchanged from 2019)
- North Devon 21 seats (unchanged from 2019)
- East Cambridgeshire 13 seats (unchanged from 2019)
- Three Rivers 8 seats (unchanged from 2022)
- Rother 7 seats (unchanged from 2019)
- Milton Keynes 6 seats (unchanged from 2022)
- Cherwell 5 seats (unchanged from 2022)
- South Ribble 5 seats (unchanged from 2019)
- Sunderland 5 seats (unchanged from 2022)
- Swale 5 seats (unchanged from 2019)
- Hart 4 seats (unchanged from 2022)
- Peterborough 4 seats (unchanged from 2022)
- Preston 3 seats (unchanged from 2022)
- Rugby 3 seats (unchanged from 2022)
- Solihull 3 seats (unchanged from 2022)
- North East Derbyshire 3 seats (unchanged from 2019)
- Darlington 3 seats (unchanged from 2019)
- Stevenage 2 seats (unchanged from 2022)
- Calderdale 2 seats (unchanged from 2022)
- Folkestone & Hythe 2 seats (unchanged from 2019)
- Leeds 2 seats (unchanged from 2022)
- Fenland 2 seats (unchanged from 2019)
- Reigate & Banstead 1 seats (unchanged from 2022)
- Rushmoor 1 seats (unchanged from 2022)
- Norwich 1 seats (unchanged from 2022)
- Ipswich 1 seats (unchanged from 2022)
- Halton 1 seats (unchanged from 2022)
- Bradford 1 seats (unchanged from 2022)
- Erewash 1 seats (unchanged from 2019)
- Wakefield 1 seats (unchanged from 2022)
- Staffordshire Moorlands 1 seats (unchanged from 2019)
- Basildon 0 seats (unchanged from 2022)
- Worthing 0 seats (unchanged from 2022)
- Broxbourne 0 seats (unchanged from 2022)
- Redditch 0 seats (unchanged from 2022)
- Dover 0 seats (unchanged from 2019)
- Dudley 0 seats (unchanged from 2022)
- Plymouth 0 seats (unchanged from 2022)
- Blackburn with Darwen 0 seats (unchanged from 2022)
- Medway 0 seats (unchanged from 2019)
- Nottingham 0 seats (unchanged from 2019)
- Walsall 0 seats (unchanged from 2022)
- North Kesteven 0 seats (unchanged from 2019)
- Sandwell 0 seats (unchanged from 2022)
- Wigan 0 seats (unchanged from 2022)
- Ashford 0 seats (unchanged from 2019)
- Braintree 0 seats (unchanged from 2019)
- Brighton & Hove 0 seats (unchanged from 2019)
- Coventry 0 seats (unchanged from 2022)
- Wolverhampton 0 seats (unchanged from 2022)
- Charnwood 0 seats (unchanged from 2019)
- Gravesham 0 seats (unchanged from 2019)
- West Lancashire 0 seats (unchanged from 2022)
- Chorley 0 seats (unchanged from 2022)
- North Tyneside 0 seats (unchanged from 2022)
- Hartlepool 0 seats (unchanged from 2022)
- Great Yarmouth 0 seats (unchanged from 2016)
- Crawley 0 seats (unchanged from 2022)
- Harlow 0 seats (unchanged from 2022)
- Tamworth 0 seats (unchanged from 2019)
- Ashfield 0 seats (unchanged from 2019)
- Blackpool 0 seats (unchanged from 2019)
- Thanet 0 seats (unchanged from 2019)
- Castle Point 0 seats (unchanged from 2021)
- Tameside 0 seats (unchanged from 2021)
- Hyndburn 0 seats (unchanged from 2021)
- South Tyneside 0 seats (unchanged from 2019)
- Wyre 0 seats (unchanged from 2019)
- Dartford 0 seats (unchanged from 2019)
Net-change comparisons are versus each council's most recent appearance in our dataset (2021–2026). For all-out councils that's the previous all-out cycle (typically four years prior); for by-thirds councils it's last year's slice. Cross-cycle ward boundary changes can produce small artefacts — see methodology.