Council Compositions 2020

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
11 9 3 0 19 0 3
Aberdeenshire70
20 1 14 1 21 0 13
Adur29
17 8 0 0 0 0 4
Allerdale49
15 14 0 0 0 0 20
Amber Valley45
18 25 0 1 0 0 1
Angus28
8 0 2 0 9 0 9
Argyll and Bute36
9 0 6 0 11 0 10
Arun54
21 1 20 2 0 0 10
Ashfield35
3 2 0 0 0 0 30
Ashford47
25 7 0 2 0 0 13
Babergh32
13 2 3 4 0 0 10
Barking and Dagenham51
0 51 0 0 0 0 0
Barnet63
37 24 2 0 0 0 0
Barnsley63
3 48 4 0 0 0 8
Barrow-in-Furness36
12 24 0 0 0 0 0
Basildon42
20 15 0 0 0 0 7
Basingstoke and Deane60
30 13 7 0 0 0 10
Bassetlaw48
5 37 1 0 0 0 5
Bath and North East Somerset59
11 5 37 0 0 0 6
Bedford40
11 11 15 2 0 0 1
Bexley45
34 10 0 0 0 0 1
Birmingham101
26 66 8 1 0 0 0
Blaby39
25 6 6 1 0 0 1
Blackburn with Darwen51
13 34 2 0 0 0 2
Blackpool42
15 23 0 0 0 0 4
Blaenau Gwent41
0 12 0 0 0 1 28
Bolsover37
2 18 1 0 0 0 16
Bolton60
21 22 7 0 0 0 10
Boston30
15 2 0 0 0 0 13
Bournemouth, Christchurch and Poole76
36 3 15 2 0 0 20
Bracknell Forest42
38 3 1 0 0 0 0
Bradford90
22 53 7 2 0 0 6
Braintree49
34 2 0 6 0 0 7
Breckland49
37 6 0 2 0 0 4
Brent63
3 59 1 0 0 0 0
Brentwood37
20 3 13 0 0 0 1
Bridgend54
8 26 1 0 0 4 15
Brighton and Hove54
14 20 0 19 0 0 1
Bristol70
14 36 9 11 0 0 0
Broadland47
33 2 12 0 0 0 0
Bromley60
50 8 0 0 0 0 2
Bromsgrove31
17 3 3 0 0 0 8
Broxbourne30
27 2 0 0 0 0 1
Broxtowe44
20 14 7 0 0 0 3
Burnley45
7 22 8 2 0 0 6
Bury51
16 28 4 0 0 0 3
Caerphilly73
0 49 0 0 0 18 6
Calderdale51
12 28 7 0 0 0 4
Cambridge42
0 26 15 0 0 0 1
Cambridgeshire61
35 7 16 0 0 0 3
Camden54
7 43 3 1 0 0 0
Cannock Chase41
15 18 2 5 0 0 1
Canterbury39
23 10 6 0 0 0 0
Cardiff75
21 38 11 0 0 0 5
Carlisle39
17 15 1 1 0 0 5
Carmarthenshire74
0 17 0 0 0 38 19
Castle Point41
24 0 0 0 0 0 17
Central Bedfordshire59
42 1 3 0 0 0 13
Ceredigion42
0 0 8 0 0 20 14
Charnwood52
37 13 0 1 0 0 1
Chelmsford57
22 0 30 0 0 0 5
Cheltenham40
6 0 32 0 0 0 2
Cherwell48
31 9 3 1 0 0 4
Cheshire East82
32 25 4 0 0 0 21
Cheshire West and Chester70
28 35 2 1 0 0 4
Chesterfield48
0 28 17 0 0 0 3
Chichester36
19 2 10 2 0 0 3
Chorley47
8 37 0 0 0 0 2
City of London Corporation125
0 5 0 0 0 0 120
Clackmannanshire18
4 5 0 0 8 0 1
Colchester51
23 11 13 1 0 0 3
Conwy59
14 8 4 0 0 10 23
Copeland33
9 19 0 0 0 0 5
Corby29
4 24 0 0 0 0 1
Cornwall123
45 4 35 0 0 0 39
Cotswold34
14 0 18 1 0 0 1
Coventry54
13 40 0 0 0 0 1
Craven30
15 3 1 2 0 0 9
Crawley36
18 18 0 0 0 0 0
Croydon70
29 41 0 0 0 0 0
Cumbria84
36 26 16 1 0 0 5
Dacorum51
31 0 19 0 0 0 1
Darlington50
22 19 3 2 0 0 4
Dartford42
29 10 0 0 0 0 3
Daventry36
29 4 2 0 0 0 1
Denbighshire47
15 12 0 0 0 8 12
Derby51
19 15 8 0 0 0 9
Derbyshire64
36 25 3 0 0 0 0
Derbyshire Dales39
20 6 8 2 0 0 3
Devon60
42 7 6 1 0 0 4
Doncaster55
8 42 0 0 0 0 5
Dorset82
43 1 29 4 0 0 5
Dover32
19 12 0 0 0 0 1
Dudley72
35 36 0 0 0 0 1
Dumfries and Galloway43
15 9 1 0 10 0 8
Dundee City29
3 8 2 0 14 0 2
Durham126
10 70 15 0 0 0 31
Ealing69
8 57 4 0 0 0 0
East Ayrshire32
6 9 0 0 14 0 3
East Cambridgeshire28
15 0 11 0 0 0 2
East Devon60
19 0 8 2 0 0 31
East Dunbartonshire22
6 2 6 0 7 0 1
East Hampshire43
32 2 7 0 0 0 2
East Hertfordshire50
40 2 6 2 0 0 0
East Lindsey55
29 6 1 0 0 0 19
East Lothian22
7 9 0 0 6 0 0
East Northamptonshire40
36 1 0 0 0 0 3
East Renfrewshire18
6 4 1 0 5 0 2
East Riding of Yorkshire67
48 0 9 0 0 0 10
East Staffordshire39
25 11 1 0 0 0 2
East Suffolk55
40 7 3 4 0 0 1
East Sussex50
30 4 11 0 0 0 5
Eastbourne27
9 0 18 0 0 0 0
Eastleigh39
2 0 34 0 0 0 3
Eden38
14 2 11 2 0 0 9
Edinburgh63
17 11 6 8 17 0 4
Elmbridge48
19 0 10 0 0 0 19
Enfield63
16 45 0 0 0 0 2
Epping Forest58
37 0 3 3 0 0 15
Epsom and Ewell38
1 3 2 0 0 0 32
Erewash47
27 18 1 0 0 0 1
Essex75
53 6 8 1 0 0 7
Exeter39
6 27 2 1 0 0 3
Falkirk30
6 8 0 0 12 0 4
Fareham31
22 0 4 0 0 0 5
Fenland39
26 0 2 1 0 0 10
Fife75
14 23 7 0 30 0 1
Flintshire70
6 34 6 0 0 0 24
Folkestone and Hythe30
13 5 2 6 0 0 4
Forest of Dean38
10 5 2 6 0 0 15
Fylde51
31 0 1 0 0 0 19
Gateshead66
0 52 13 0 0 0 1
Gedling41
8 29 2 0 0 0 2
Glasgow City85
8 30 0 7 38 0 2
Gloucester39
20 9 9 0 0 0 1
Gloucestershire53
29 5 14 2 0 0 3
Gosport34
18 2 14 0 0 0 0
Gravesham44
20 22 0 0 0 0 2
Great Yarmouth39
20 15 0 0 0 0 4
Greenwich51
9 42 0 0 0 0 0
Guildford48
8 2 17 0 0 0 21
Gwynedd75
0 1 1 0 0 41 32
Hackney57
5 52 0 0 0 0 0
Halton56
2 51 3 0 0 0 0
Hambleton28
24 1 1 0 0 0 2
Hammersmith and Fulham46
11 35 0 0 0 0 0
Hampshire78
56 1 19 0 0 0 2
Harborough34
22 1 11 0 0 0 0
Haringey57
0 41 15 0 0 0 1
Harlow33
13 20 0 0 0 0 0
Harrogate40
31 0 7 0 0 0 2
Harrow63
28 35 0 0 0 0 0
Hart33
11 0 10 0 0 0 12
Hartlepool33
3 10 0 0 0 0 20
Hastings32
8 23 0 0 0 0 1
Havant38
33 2 1 0 0 0 2
Havering54
25 5 0 0 0 0 24
Herefordshire53
13 0 6 7 0 0 27
Hertfordshire78
50 10 18 0 0 0 0
Hertsmere39
30 6 3 0 0 0 0
High Peak43
16 22 3 2 0 0 0
Highland74
11 3 9 1 21 0 29
Hillingdon65
44 21 0 0 0 0 0
Hinckley and Bosworth34
11 2 21 0 0 0 0
Horsham48
32 0 13 2 0 0 1
Hounslow60
9 51 0 0 0 0 0
Huntingdonshire52
30 4 7 0 0 0 11
Hyndburn35
9 24 0 0 0 0 2
Inverclyde22
2 8 1 0 7 0 4
Ipswich48
9 36 3 0 0 0 0
Isle of Anglesey30
0 2 1 0 0 14 13
Isle of Wight40
25 0 2 0 0 0 13
Isles of Scilly16
0 0 0 0 0 0 16
Islington48
0 46 0 1 0 0 1
Kensington and Chelsea50
35 13 1 0 0 0 1
Kent81
65 5 7 1 0 0 3
Kettering36
24 7 1 0 0 0 4
King's Lynn and West Norfolk55
29 10 1 1 0 0 14
Kingston upon Hull57
2 31 24 0 0 0 0
Kingston upon Thames48
9 0 38 1 0 0 0
Kirklees69
17 35 10 3 0 0 4
Knowsley45
0 37 3 3 0 0 2
Lambeth63
1 57 0 5 0 0 0
Lancashire84
45 29 4 1 0 0 5
Lancaster60
12 20 3 10 0 0 15
Leeds99
23 57 8 3 0 0 8
Leicester54
0 52 1 0 0 0 1
Leicestershire55
36 6 13 0 0 0 0
Lewes41
19 3 8 8 0 0 3
Lewisham54
0 53 0 0 0 0 1
Lichfield47
34 10 1 0 0 0 2
Lincoln33
9 24 0 0 0 0 0
Lincolnshire70
56 6 1 0 0 0 7
Liverpool90
0 72 10 4 0 0 4
Luton48
3 33 12 0 0 0 0
Maidstone55
25 4 20 0 0 0 6
Maldon31
17 0 0 0 0 0 14
Malvern Hills38
13 1 9 5 0 0 10
Manchester96
0 92 2 0 0 0 2
Mansfield36
2 14 0 0 0 0 20
Medway55
32 20 0 0 0 0 3
Melton28
22 0 0 1 0 0 5
Mendip47
10 0 22 10 0 0 5
Merthyr Tydfil33
0 15 0 0 0 0 18
Merton60
17 33 7 0 0 0 3
Mid Devon42
18 0 12 2 0 0 10
Mid Suffolk34
16 0 5 12 0 0 1
Mid Sussex54
35 0 13 3 0 0 3
Middlesbrough46
3 20 0 0 0 0 23
Midlothian18
5 6 0 0 7 0 0
Milton Keynes57
19 23 15 0 0 0 0
Mole Valley41
11 0 22 0 0 0 8
Monmouthshire43
25 10 3 0 0 0 5
Moray26
9 1 0 0 9 0 7
Na h-Eileanan Siar31
1 0 0 0 7 0 23
Neath Port Talbot64
0 39 1 0 0 16 8
New Forest60
46 0 13 0 0 0 1
Newark and Sherwood39
27 7 2 0 0 0 3
Newcastle upon Tyne78
0 51 20 0 0 0 7
Newcastle-under-Lyme44
19 19 2 0 0 0 4
Newham60
0 60 0 0 0 0 0
Newport50
12 31 2 0 0 0 5
Norfolk84
54 16 11 0 0 0 3
North Ayrshire33
7 11 0 0 11 0 4
North Devon42
12 0 21 2 0 0 7
North East Derbyshire53
30 18 3 0 0 0 2
North East Lincolnshire42
23 14 4 0 0 0 1
North Hertfordshire49
22 16 11 0 0 0 0
North Kesteven43
21 0 0 0 0 0 22
North Lanarkshire77
8 31 0 0 30 0 8
North Lincolnshire43
28 14 0 0 0 0 1
North Norfolk40
6 0 30 0 0 0 4
North Somerset50
13 6 11 3 0 0 17
North Tyneside60
7 51 1 0 0 0 1
North Warwickshire35
21 14 0 0 0 0 0
North West Leicestershire38
21 9 4 1 0 0 3
North Yorkshire72
52 4 4 0 0 0 12
Northampton45
25 16 3 0 0 0 1
Northamptonshire57
41 11 2 0 0 0 3
Northumberland67
32 23 3 1 0 0 8
Norwich39
0 27 3 9 0 0 0
Nottingham55
2 50 0 0 0 0 3
Nottinghamshire66
31 23 1 0 0 0 11
Nuneaton and Bedworth34
14 17 0 1 0 0 2
Oadby and Wigston26
2 0 24 0 0 0 0
Oldham60
4 46 8 0 0 0 2
Orkney Islands21
0 0 0 1 0 0 20
Oxford48
0 34 9 2 0 0 3
Oxfordshire63
30 14 13 1 0 0 5
Pembrokeshire60
11 7 1 0 0 6 35
Pendle49
22 16 10 0 0 0 1
Perth and Kinross40
17 1 4 0 15 0 3
Peterborough60
28 17 9 2 0 0 4
Plymouth57
25 30 0 0 0 0 2
Portsmouth42
16 6 17 0 0 0 3
Powys73
18 8 14 1 0 2 30
Preston48
9 30 9 0 0 0 0
Reading46
10 30 2 4 0 0 0
Redbridge63
11 51 0 0 0 0 1
Redcar and Cleveland59
10 15 13 0 0 0 21
Redditch29
17 11 0 0 0 0 1
Reigate and Banstead45
30 0 3 6 0 0 6
Renfrewshire43
8 13 1 0 19 0 2
Rhondda Cynon Taf75
2 47 1 0 0 17 8
Ribble Valley40
28 0 10 0 0 0 2
Richmond upon Thames54
11 0 39 4 0 0 0
Richmondshire24
10 0 3 1 0 0 10
Rochdale60
9 44 3 0 0 0 4
Rochford39
27 0 3 2 0 0 7
Rossendale36
13 19 0 0 0 0 4
Rother38
14 3 7 1 0 0 13
Rotherham63
0 48 1 0 0 0 14
Rugby42
24 9 9 0 0 0 0
Runnymede41
25 2 3 1 0 0 10
Rushcliffe44
29 7 3 2 0 0 3
Rushmoor39
26 11 2 0 0 0 0
Rutland27
17 0 3 1 0 0 6
Ryedale30
12 0 2 0 0 0 16
Salford60
8 50 0 0 0 0 2
Sandwell72
1 67 0 0 0 0 4
Scarborough46
15 13 0 2 0 0 16
Scottish Borders34
15 0 2 0 8 0 9
Sedgemoor48
29 11 7 0 0 0 1
Sefton66
5 43 12 0 0 0 6
Selby31
16 8 0 0 0 0 7
Sevenoaks54
46 1 3 0 0 0 4
Sheffield84
0 45 26 8 0 0 5
Shetland22
0 0 0 0 1 0 21
Shropshire74
47 7 12 1 0 0 7
Slough42
4 36 0 0 0 0 2
Solihull51
26 2 6 15 0 0 2
Somerset55
33 3 13 2 0 0 4
Somerset West and Taunton59
9 3 32 2 0 0 13
South Ayrshire28
12 5 0 0 9 0 2
South Cambridgeshire45
11 2 30 0 0 0 2
South Derbyshire36
22 14 0 0 0 0 0
South Gloucestershire61
33 11 17 0 0 0 0
South Hams31
16 0 10 3 0 0 2
South Holland37
24 0 0 0 0 0 13
South Kesteven56
39 3 2 0 0 0 12
South Lakeland51
15 3 32 1 0 0 0
South Lanarkshire64
13 17 3 0 25 0 6
South Norfolk46
35 1 10 0 0 0 0
South Northamptonshire42
33 0 6 0 0 0 3
South Oxfordshire36
9 3 13 6 0 0 5
South Ribble50
23 22 5 0 0 0 0
South Somerset60
15 0 40 0 0 0 5
South Staffordshire49
37 1 0 3 0 0 8
South Tyneside54
0 47 0 1 0 0 6
Southampton48
18 30 0 0 0 0 0
Southend-on-Sea51
20 15 5 0 0 0 11
Southwark63
0 48 14 0 0 0 1
Spelthorne39
23 4 8 2 0 0 2
St Albans58
23 6 25 1 0 0 3
St. Helens48
3 35 4 2 0 0 4
Stafford40
22 10 0 1 0 0 7
Staffordshire62
51 10 0 0 0 0 1
Staffordshire Moorlands56
25 13 1 0 0 0 17
Stevenage39
7 27 5 0 0 0 0
Stirling23
8 4 0 1 9 0 1
Stockport63
8 26 26 0 0 0 3
Stockton-on-Tees56
14 24 2 0 0 0 16
Stoke-on-Trent44
15 16 0 0 0 0 13
Stratford-on-Avon36
19 0 12 1 0 0 4
Stroud51
22 16 2 9 0 0 2
Suffolk75
51 11 5 3 0 0 5
Sunderland75
12 51 8 1 0 0 3
Surrey81
58 1 9 1 0 0 12
Surrey Heath35
17 1 9 2 0 0 6
Sutton54
18 0 33 0 0 0 3
Swale47
16 11 5 2 0 0 13
Swansea72
9 48 7 0 0 0 8
Swindon57
33 22 2 0 0 0 0
Tameside57
5 51 0 1 0 0 0
Tamworth30
22 5 0 0 0 0 3
Tandridge42
16 0 11 0 0 0 15
Teignbridge47
12 0 26 0 0 0 9
Telford and Wrekin54
14 35 4 0 0 0 1
Tendring48
16 6 2 0 0 0 24
Test Valley43
24 0 12 0 0 0 7
Tewkesbury38
23 0 8 1 0 0 6
Thanet56
26 19 0 3 0 0 8
Three Rivers39
12 3 23 0 0 0 1
Thurrock49
22 17 0 0 0 0 10
Tonbridge and Malling54
39 1 9 2 0 0 3
Torbay36
16 0 12 0 0 0 8
Torfaen44
5 27 0 0 0 0 12
Torridge36
11 3 2 2 0 0 18
Tower Hamlets45
1 41 1 0 0 0 2
Trafford63
21 36 3 3 0 0 0
Tunbridge Wells48
28 4 10 0 0 0 6
Uttlesford39
4 0 7 3 0 0 25
Vale of Glamorgan47
15 14 0 0 0 4 14
Vale of White Horse38
6 0 30 1 0 0 1
Wakefield63
11 49 1 0 0 0 2
Walsall60
31 26 2 0 0 0 1
Waltham Forest60
14 46 0 0 0 0 0
Wandsworth60
33 26 0 0 0 0 1
Warrington58
1 43 12 0 0 0 2
Warwick44
19 5 9 8 0 0 3
Warwickshire57
35 10 8 2 0 0 2
Watford36
0 10 26 0 0 0 0
Waverley57
23 2 14 2 0 0 16
Wealden45
34 0 4 2 0 0 5
Wellingborough36
27 9 0 0 0 0 0
Welwyn Hatfield48
23 13 12 0 0 0 0
West Berkshire43
24 0 16 3 0 0 0
West Devon31
15 1 1 2 0 0 12
West Dunbartonshire22
2 8 0 0 10 0 2
West Lancashire54
19 29 0 0 0 0 6
West Lindsey36
18 0 12 0 0 0 6
West Lothian33
7 12 0 0 13 0 1
West Oxfordshire49
28 9 10 0 0 0 2
West Suffolk64
38 5 0 1 0 0 20
West Sussex70
54 5 8 0 0 0 3
Westminster60
41 19 0 0 0 0 0
Wigan75
8 57 0 0 0 0 10
Wiltshire98
63 3 21 0 0 0 11
Winchester45
17 0 27 0 0 0 1
Windsor and Maidenhead41
23 0 9 0 0 0 9
Wirral66
22 32 6 3 0 0 3
Woking30
14 3 10 0 0 0 3
Wokingham54
31 4 16 0 0 0 3
Wolverhampton60
11 49 0 0 0 0 0
Worcester35
16 15 1 3 0 0 0
Worcestershire57
41 9 3 2 0 0 2
Worthing37
23 10 3 0 0 0 1
Wrexham52
9 12 2 0 0 4 25
Wychavon45
36 0 6 2 0 0 1
Wyre50
37 8 0 0 0 0 5
Wyre Forest33
14 2 3 1 0 0 13
York47
2 17 21 4 0 0 3

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