Council Compositions 2022

Prior to 2016, Greens are included in other and PC/SNP are combined.
Download council-level data as CSV: 1973-2015 - 2016-2024
AuthorityTotal
Composition  ( Con   Lab   Lib   Green   SNP   PC   Other)
Aberdeen City45
8 11 4 0 20 0 2
Aberdeenshire70
25 0 14 0 20 0 11
Adur29
15 9 0 2 0 0 3
Amber Valley45
30 11 0 3 0 0 1
Angus28
7 1 0 0 13 0 7
Argyll and Bute36
10 1 5 1 12 0 7
Arun54
24 1 16 2 0 0 11
Ashfield35
3 2 0 0 0 0 30
Ashford47
24 6 0 4 0 0 13
Babergh32
10 1 3 4 0 0 14
Barking and Dagenham51
0 51 0 0 0 0 0
Barnet63
21 41 0 0 0 0 1
Barnsley63
4 46 9 0 0 0 4
Basildon42
25 9 0 0 0 0 8
Basingstoke and Deane54
29 10 7 0 0 0 8
Bassetlaw48
8 34 1 0 0 0 5
Bath and North East Somerset59
10 5 35 1 0 0 8
Bedford40
12 11 14 2 0 0 1
Bexley45
33 12 0 0 0 0 0
Birmingham101
22 65 12 2 0 0 0
Blaby39
25 6 6 1 0 0 1
Blackburn with Darwen51
13 36 1 0 0 0 1
Blackpool42
16 20 0 0 0 0 6
Blaenau Gwent33
0 21 0 0 0 0 12
Bolsover37
3 19 0 0 0 0 15
Bolton60
23 19 5 0 0 0 13
Boston30
14 2 0 0 0 0 14
Bournemouth, Christchurch and Poole76
39 3 13 2 0 0 19
Bracknell Forest42
37 4 1 0 0 0 0
Bradford90
21 52 6 6 0 0 5
Braintree49
33 2 0 7 0 0 7
Breckland49
35 6 0 2 0 0 6
Brent57
5 49 3 0 0 0 0
Brentwood37
21 2 14 0 0 0 0
Bridgend51
1 27 0 0 0 2 21
Brighton and Hove54
12 16 0 20 0 0 6
Bristol70
14 24 6 23 0 0 3
Broadland47
31 2 12 2 0 0 0
Bromley58
36 12 5 0 0 0 5
Bromsgrove31
18 3 3 0 0 0 7
Broxbourne30
26 3 0 0 0 0 1
Broxtowe44
19 14 7 0 0 0 4
Buckinghamshire147
113 4 15 1 0 0 14
Burnley45
8 18 8 6 0 0 5
Bury51
12 29 1 0 0 0 9
Caerphilly69
0 45 0 0 0 18 6
Calderdale51
15 28 6 1 0 0 1
Cambridge42
0 29 9 3 0 0 1
Cambridgeshire61
27 9 20 0 0 0 5
Camden55
3 47 4 1 0 0 0
Cannock Chase41
25 8 2 2 0 0 4
Canterbury39
23 9 6 1 0 0 0
Cardiff79
11 55 10 0 0 2 1
Carmarthenshire75
0 23 0 0 0 38 14
Castle Point41
14 0 0 0 0 0 27
Central Bedfordshire59
40 1 3 0 0 0 15
Ceredigion38
0 1 7 0 0 20 10
Charnwood52
37 12 0 1 0 0 2
Chelmsford57
22 0 30 0 0 0 5
Cheltenham40
6 0 31 1 0 0 2
Cherwell48
25 10 7 2 0 0 4
Cheshire East82
30 25 4 0 0 0 23
Cheshire West and Chester70
29 34 2 1 0 0 4
Chesterfield48
0 28 17 0 0 0 3
Chichester36
17 1 11 2 0 0 5
Chorley42
10 32 0 0 0 0 0
City of London Corporation125
0 5 0 0 0 0 120
Clackmannanshire18
3 5 0 1 9 0 0
Colchester51
19 13 14 3 0 0 2
Conwy55
10 11 4 1 0 8 21
Cornwall87
47 5 12 1 0 0 22
Cotswold34
14 0 18 1 0 0 1
Coventry54
14 39 0 1 0 0 0
Crawley36
17 19 0 0 0 0 0
Croydon70
32 34 1 2 0 0 1
Cumberland46
7 30 4 2 0 0 3
Dacorum51
31 0 19 0 0 0 1
Darlington50
24 16 3 2 0 0 5
Dartford42
29 7 0 0 0 0 6
Denbighshire48
6 19 1 2 0 8 12
Derby51
18 16 8 0 0 0 9
Derbyshire64
44 14 4 1 0 0 1
Derbyshire Dales39
20 4 7 2 0 0 6
Devon60
39 6 9 2 0 0 4
Doncaster55
11 40 0 0 0 0 4
Dorset82
43 1 28 5 0 0 5
Dover32
20 11 0 0 0 0 1
Dudley72
46 26 0 0 0 0 0
Dumfries and Galloway43
16 9 1 0 11 0 6
Dundee City29
1 9 4 0 15 0 0
Durham126
23 55 17 1 0 0 30
Ealing70
5 59 6 0 0 0 0
East Ayrshire32
4 10 0 0 14 0 4
East Cambridgeshire28
16 0 10 0 0 0 2
East Devon60
22 2 7 2 0 0 27
East Dunbartonshire22
3 4 6 0 8 0 1
East Hampshire43
31 0 8 1 0 0 3
East Hertfordshire50
40 2 6 2 0 0 0
East Lindsey55
31 6 1 0 0 0 17
East Lothian22
4 10 0 1 7 0 0
East Renfrewshire18
5 5 0 0 5 0 3
East Riding of Yorkshire67
45 0 10 0 0 0 12
East Staffordshire39
24 11 1 0 0 0 3
East Suffolk55
39 7 3 5 0 0 1
East Sussex50
27 5 11 4 0 0 3
Eastbourne27
9 0 18 0 0 0 0
Eastleigh39
1 0 34 0 0 0 4
Edinburgh63
9 13 12 10 19 0 0
Elmbridge48
15 0 13 0 0 0 20
Enfield63
25 37 0 0 0 0 1
Epping Forest58
35 0 4 3 0 0 16
Epsom and Ewell38
1 3 2 0 0 0 32
Erewash47
29 16 1 0 0 0 1
Essex75
52 5 8 1 0 0 9
Exeter39
5 24 2 5 0 0 3
Falkirk30
4 9 0 0 12 0 5
Fareham31
25 0 5 0 0 0 1
Fenland39
27 0 2 1 0 0 9
Fife75
8 20 13 0 34 0 0
Flintshire67
2 31 4 0 0 0 30
Folkestone and Hythe30
13 5 2 6 0 0 4
Forest of Dean38
7 2 2 7 0 0 20
Fylde51
31 0 1 0 0 0 19
Gateshead66
0 51 15 0 0 0 0
Gedling41
8 27 3 0 0 0 3
Glasgow City85
2 35 0 10 37 0 1
Gloucester39
24 3 12 0 0 0 0
Gloucestershire53
27 5 16 4 0 0 1
Gosport28
10 2 16 0 0 0 0
Gravesham44
20 22 0 0 0 0 2
Great Yarmouth39
21 14 0 0 0 0 4
Greenwich55
3 52 0 0 0 0 0
Guildford48
10 2 16 0 0 0 20
Gwynedd69
0 1 1 0 0 45 22
Hackney57
5 46 0 2 0 0 4
Halton54
3 48 3 0 0 0 0
Hammersmith and Fulham50
10 40 0 0 0 0 0
Hampshire78
56 3 17 0 0 0 2
Harborough34
22 1 11 0 0 0 0
Haringey57
0 50 7 0 0 0 0
Harlow33
21 12 0 0 0 0 0
Harrow55
31 24 0 0 0 0 0
Hart33
10 1 11 0 0 0 11
Hartlepool36
14 11 0 0 0 0 11
Hastings32
12 15 0 4 0 0 1
Havant38
35 2 0 0 0 0 1
Havering55
16 9 0 0 0 0 30
Herefordshire53
14 0 7 7 0 0 25
Hertfordshire78
46 7 23 1 0 0 1
Hertsmere39
29 7 3 0 0 0 0
High Peak43
16 21 3 2 0 0 1
Highland74
10 2 15 4 21 0 22
Hillingdon53
30 22 0 0 0 0 1
Hinckley and Bosworth34
10 2 21 0 0 0 1
Horsham48
30 0 14 3 0 0 1
Hounslow62
9 51 0 0 0 0 2
Huntingdonshire52
22 4 10 1 0 0 15
Hyndburn35
14 14 0 0 0 0 7
Inverclyde22
2 9 0 0 8 0 3
Ipswich48
11 32 3 0 0 0 2
Isle of Anglesey35
0 3 1 0 0 21 10
Isle of Wight39
18 1 1 2 0 0 17
Isles of Scilly16
0 0 0 0 0 0 16
Islington51
0 48 0 3 0 0 0
Kensington and Chelsea50
36 12 2 0 0 0 0
Kent81
61 7 6 4 0 0 3
King's Lynn and West Norfolk55
29 8 2 1 0 0 15
Kingston upon Hull57
0 27 29 0 0 0 1
Kingston upon Thames48
3 0 41 0 0 0 4
Kirklees69
18 35 8 3 0 0 5
Knowsley45
0 32 3 5 0 0 5
Lambeth63
0 58 3 2 0 0 0
Lancashire84
48 31 2 2 0 0 1
Lancaster60
10 16 4 10 0 0 20
Leeds99
21 58 7 3 0 0 10
Leicester54
1 51 1 0 0 0 1
Leicestershire55
42 4 9 0 0 0 0
Lewes41
18 3 9 8 0 0 3
Lewisham54
0 54 0 0 0 0 0
Lichfield47
34 10 1 0 0 0 2
Lincoln33
9 22 2 0 0 0 0
Lincolnshire70
54 4 3 0 0 0 9
Liverpool90
0 59 11 4 0 0 16
Luton48
2 31 14 0 0 0 1
Maidstone55
27 5 12 1 0 0 10
Maldon31
14 0 1 0 0 0 16
Malvern Hills38
12 1 4 5 0 0 16
Manchester96
0 92 2 2 0 0 0
Mansfield36
1 14 0 0 0 0 21
Medway55
32 21 0 0 0 0 2
Melton28
20 0 0 1 0 0 7
Merthyr Tydfil30
0 14 0 0 0 0 16
Merton57
7 31 17 0 0 0 2
Mid Devon42
20 0 11 2 0 0 9
Mid Suffolk34
16 0 5 12 0 0 1
Mid Sussex54
33 0 13 4 0 0 4
Middlesbrough46
3 20 0 0 0 0 23
Midlothian18
3 7 0 0 8 0 0
Milton Keynes57
23 20 14 0 0 0 0
Mole Valley41
10 0 24 0 0 0 7
Monmouthshire46
18 22 0 1 0 0 5
Moray26
11 3 1 1 8 0 2
Na h-Eileanan Siar29
1 0 0 0 6 0 22
Neath Port Talbot60
0 25 2 1 0 12 20
New Forest60
44 0 13 0 0 0 3
Newark and Sherwood39
30 6 2 0 0 0 1
Newcastle upon Tyne78
0 50 21 0 0 0 7
Newcastle-under-Lyme44
25 19 0 0 0 0 0
Newham66
0 64 0 2 0 0 0
Newport51
7 35 1 1 0 0 7
Norfolk84
57 12 9 3 0 0 3
North Ayrshire33
10 9 0 0 12 0 2
North Devon42
11 0 21 2 0 0 8
North East Derbyshire53
30 17 3 0 0 0 3
North East Lincolnshire42
30 8 3 0 0 0 1
North Hertfordshire49
19 17 13 0 0 0 0
North Kesteven43
23 0 0 0 0 0 20
North Lanarkshire77
5 31 0 1 36 0 4
North Lincolnshire43
28 14 0 0 0 0 1
North Norfolk40
10 0 25 0 0 0 5
North Northamptonshire78
55 15 1 3 0 0 4
North Somerset50
13 6 10 4 0 0 17
North Tyneside60
9 51 0 0 0 0 0
North Warwickshire35
22 11 0 0 0 0 2
North West Leicestershire38
22 9 4 1 0 0 2
North Yorkshire90
47 12 11 5 0 0 15
Northumberland67
33 20 4 2 0 0 8
Norwich39
0 25 3 11 0 0 0
Nottingham55
2 50 0 0 0 0 3
Nottinghamshire66
35 15 1 0 0 0 15
Nuneaton and Bedworth34
27 5 0 2 0 0 0
Oadby and Wigston26
3 0 23 0 0 0 0
Oldham60
9 35 9 0 0 0 7
Orkney Islands21
0 0 0 2 0 0 19
Oxford48
0 32 9 6 0 0 1
Oxfordshire63
20 16 21 3 0 0 3
Pembrokeshire60
11 10 2 0 0 2 35
Pendle33
17 5 5 0 0 0 6
Perth and Kinross40
14 2 4 0 16 0 4
Peterborough60
28 17 8 2 0 0 5
Plymouth57
24 24 0 1 0 0 8
Portsmouth42
13 9 17 0 0 0 3
Powys68
14 9 23 0 0 3 19
Preston48
11 30 7 0 0 0 0
Reading48
6 32 3 7 0 0 0
Redbridge63
5 57 0 0 0 0 1
Redcar and Cleveland59
6 14 14 0 0 0 25
Redditch29
20 7 0 1 0 0 1
Reigate and Banstead45
26 0 3 9 0 0 7
Renfrewshire43
5 15 1 0 21 0 1
Rhondda Cynon Taf75
2 59 0 0 0 8 6
Ribble Valley40
28 0 10 0 0 0 2
Richmond upon Thames54
1 0 48 5 0 0 0
Rochdale60
10 42 3 0 0 0 5
Rochford39
21 0 5 1 0 0 12
Rossendale36
11 19 0 1 0 0 5
Rother38
14 2 7 1 0 0 14
Rotherham59
18 30 4 0 0 0 7
Rugby42
23 10 9 0 0 0 0
Runnymede41
23 3 3 1 0 0 11
Rushcliffe44
27 7 3 2 0 0 5
Rushmoor39
28 9 2 0 0 0 0
Rutland27
9 1 5 1 0 0 11
Salford60
8 49 2 0 0 0 1
Sandwell72
9 61 0 0 0 0 2
Scottish Borders34
14 0 3 1 9 0 7
Sefton66
5 45 8 0 0 0 8
Sevenoaks54
45 1 3 0 0 0 5
Sheffield84
1 38 29 14 0 0 2
Shetland23
0 1 0 1 1 0 20
Shropshire74
42 9 13 4 0 0 6
Slough42
6 35 0 0 0 0 1
Solihull51
28 0 5 13 0 0 5
Somerset110
36 5 60 4 0 0 5
South Ayrshire28
10 5 0 0 9 0 4
South Cambridgeshire45
8 0 37 0 0 0 0
South Derbyshire36
14 15 0 0 0 0 7
South Gloucestershire61
33 11 17 0 0 0 0
South Hams31
16 0 10 2 0 0 3
South Holland37
24 0 0 0 0 0 13
South Kesteven56
39 2 2 0 0 0 13
South Lanarkshire64
7 24 3 1 27 0 2
South Norfolk46
35 1 10 0 0 0 0
South Oxfordshire36
10 3 13 5 0 0 5
South Ribble50
22 23 5 0 0 0 0
South Staffordshire49
36 1 0 3 0 0 9
South Tyneside54
1 41 0 6 0 0 6
Southampton48
21 26 1 0 0 0 0
Southend-on-Sea51
21 16 6 0 0 0 8
Southwark63
0 52 11 0 0 0 0
Spelthorne39
15 3 7 2 0 0 12
St Albans56
4 0 50 1 0 0 1
St. Helens48
2 29 4 6 0 0 7
Stafford40
20 10 0 1 0 0 9
Staffordshire62
56 4 0 0 0 0 2
Staffordshire Moorlands56
28 13 1 0 0 0 14
Stevenage39
9 24 6 0 0 0 0
Stirling23
7 6 0 1 8 0 1
Stockport63
6 25 27 2 0 0 3
Stockton-on-Tees56
16 24 1 0 0 0 15
Stoke-on-Trent44
22 13 0 0 0 0 9
Stratford-on-Avon36
20 0 12 1 0 0 3
Stroud51
20 15 3 13 0 0 0
Suffolk75
55 5 4 9 0 0 2
Sunderland75
18 41 14 0 0 0 2
Surrey81
47 2 14 2 0 0 16
Surrey Heath35
17 1 9 2 0 0 6
Sutton55
20 3 29 0 0 0 3
Swale47
15 10 4 2 0 0 16
Swansea75
7 45 11 1 0 0 11
Swindon57
34 23 0 0 0 0 0
Tameside57
8 48 0 1 0 0 0
Tamworth30
25 3 0 0 0 0 2
Tandridge42
10 0 11 0 0 0 21
Teignbridge47
12 0 22 0 0 0 13
Telford and Wrekin54
14 35 4 0 0 0 1
Tendring48
21 6 2 0 0 0 19
Test Valley43
26 0 12 0 0 0 5
Tewkesbury38
23 0 8 1 0 0 6
Thanet56
26 16 0 6 0 0 8
Three Rivers39
12 3 22 1 0 0 1
Thurrock49
28 14 0 0 0 0 7
Tonbridge and Malling54
36 1 9 4 0 0 4
Torbay36
14 0 12 0 0 0 10
Torfaen40
0 30 0 0 0 0 10
Torridge36
11 3 2 2 0 0 18
Tower Hamlets45
1 19 0 1 0 0 24
Trafford63
13 41 5 4 0 0 0
Tunbridge Wells48
13 7 16 0 0 0 12
Uttlesford39
5 0 5 3 0 0 26
Vale of Glamorgan54
13 25 0 0 0 8 8
Vale of White Horse38
6 0 31 1 0 0 0
Wakefield63
13 45 3 0 0 0 2
Walsall60
38 20 0 0 0 0 2
Waltham Forest60
13 47 0 0 0 0 0
Wandsworth58
22 35 0 0 0 0 1
Warrington58
11 35 8 0 0 0 4
Warwick44
18 4 9 8 0 0 5
Warwickshire57
42 6 5 3 0 0 1
Watford36
0 9 27 0 0 0 0
Waverley57
20 2 15 2 0 0 18
Wealden45
29 0 6 3 0 0 7
Welwyn Hatfield48
26 10 12 0 0 0 0
West Berkshire43
24 0 16 3 0 0 0
West Devon31
17 0 1 2 0 0 11
West Dunbartonshire22
0 12 0 0 9 0 1
West Lancashire54
20 25 0 0 0 0 9
West Lindsey36
17 0 13 0 0 0 6
West Lothian33
4 12 1 0 15 0 1
West Northamptonshire93
63 20 5 0 0 0 5
West Oxfordshire49
20 9 15 2 0 0 3
West Suffolk64
40 4 0 1 0 0 19
West Sussex70
47 9 11 1 0 0 2
Westminster54
23 31 0 0 0 0 0
Westmorland and Furness65
11 15 36 1 0 0 2
Wigan75
7 61 0 0 0 0 7
Wiltshire98
60 3 27 0 0 0 8
Winchester45
15 0 27 1 0 0 2
Windsor and Maidenhead41
22 0 10 0 0 0 9
Wirral66
24 26 6 9 0 0 1
Woking30
8 2 16 0 0 0 4
Wokingham54
26 3 23 0 0 0 2
Wolverhampton60
16 44 0 0 0 0 0
Worcester35
15 12 2 6 0 0 0
Worcestershire57
45 3 4 3 0 0 2
Worthing37
13 22 1 0 0 0 1
Wrexham56
9 14 1 0 0 9 23
Wychavon45
35 0 6 3 0 0 1
Wyre50
36 8 0 0 0 0 6
Wyre Forest33
13 2 3 1 0 0 14
York47
2 17 21 3 0 0 4

Email Me    Creative Commons Licence: Attribution ShareAlike (CSV downloads are public domain)     About This Site
Provided by Lawson Data Services Ltd. (Company No. 15322169)