Cardiff Council Map
View the Cardiff council boundary. Explore local wards, election results and party seats. Buy digital map files for £15 including VAT, or order a print.
Download or Order this Map
Digital map files cost £15.00 including VAT. Printed maps start at £41.00 including VAT and UK delivery.
Request a Custom MapWe prepare your map after payment. Files are sent by email.
May 2026 council boundary. Map © Mapbox and OpenStreetMap. Boundary data © ONS and Ordnance Survey.
Residents, mid-2025
381,516Wards
28Seats in 2026
79Selected result year
2022Party seats: 2026 snapshot
Download seat history (CSV)Labour seat majority. A majority of this seat total needs 40 seats. This annual archive is not a live record of party membership or the council administration.
| Party | Seats |
|---|---|
| Labour | 50 |
| Liberal Democrats | 10 |
| Conservative | 9 |
| Other | 6 |
| Plaid Cymru | 2 |
| Green | 1 |
| Reform UK | 1 |
| Reported total | 79 |
“Other” can include several parties, independents and vacancies. It is not a single voting group. Source: Open Council Data.
Seat history: 1973–2026
These are annual snapshots. A change between years can reflect elections, by-elections, party changes or boundary changes. Older records follow council names and are not a constant-boundary series. The pre-2016 source combines Green and other smaller parties under “Other” and national parties under “Nationalist parties”.
| Year | Total | Party seats |
|---|---|---|
| 2026 | 79 | Conservative 9 · Labour 50 · Liberal Democrats 10 · Green 1 · Reform UK 1 · Plaid Cymru 2 · Other 6 |
| 2025 | 79 | Conservative 11 · Labour 55 · Liberal Democrats 10 · Plaid Cymru 2 · Other 1 |
| 2024 | 79 | Conservative 11 · Labour 55 · Liberal Democrats 10 · Plaid Cymru 2 · Other 1 |
| 2023 | 79 | Conservative 11 · Labour 54 · Liberal Democrats 10 · Plaid Cymru 2 · Other 2 |
| 2022 | 79 | Conservative 11 · Labour 55 · Liberal Democrats 10 · Plaid Cymru 2 · Other 1 |
| 2021 | 75 | Conservative 21 · Labour 38 · Liberal Democrats 11 · Other 5 |
| 2020 | 75 | Conservative 21 · Labour 38 · Liberal Democrats 11 · Other 5 |
| 2019 | 75 | Conservative 20 · Labour 39 · Liberal Democrats 11 · Plaid Cymru 3 · Other 2 |
| 2018 | 75 | Conservative 20 · Labour 40 · Liberal Democrats 11 · Plaid Cymru 2 · Other 2 |
| 2017 | 75 | Conservative 20 · Labour 40 · Liberal Democrats 11 · Plaid Cymru 3 · Other 1 |
| 2016 | 75 | Conservative 9 · Labour 39 · Liberal Democrats 16 · Plaid Cymru 5 · Other 6 |
| 2015 | 75 | Conservative 7 · Labour 46 · Liberal Democrats 15 · Other 5 · Nationalist parties 2 |
| 2014 | 75 | Conservative 7 · Labour 46 · Liberal Democrats 15 · Other 5 · Nationalist parties 2 |
| 2013 | 75 | Conservative 7 · Labour 46 · Liberal Democrats 16 · Other 4 · Nationalist parties 2 |
| 2012 | 75 | Conservative 7 · Labour 46 · Liberal Democrats 16 · Other 4 · Nationalist parties 2 |
| 2011 | 75 | Conservative 17 · Labour 13 · Liberal Democrats 35 · Other 3 · Nationalist parties 7 |
| 2010 | 75 | Conservative 17 · Labour 13 · Liberal Democrats 35 · Other 3 · Nationalist parties 7 |
| 2009 | 75 | Conservative 17 · Labour 13 · Liberal Democrats 35 · Other 3 · Nationalist parties 7 |
| 2008 | 75 | Conservative 17 · Labour 13 · Liberal Democrats 35 · Other 3 · Nationalist parties 7 |
| 2007 | 75 | Conservative 12 · Labour 27 · Liberal Democrats 33 · Nationalist parties 3 |
| 2006 | 75 | Conservative 12 · Labour 27 · Liberal Democrats 33 · Nationalist parties 3 |
| 2005 | 75 | Conservative 12 · Labour 27 · Liberal Democrats 33 · Nationalist parties 3 |
| 2004 | 75 | Conservative 12 · Labour 27 · Liberal Democrats 33 · Nationalist parties 3 |
| 2003 | 74 | Conservative 5 · Labour 48 · Liberal Democrats 19 · Other 1 · Nationalist parties 1 |
| 2002 | 74 | Conservative 5 · Labour 48 · Liberal Democrats 19 · Other 1 · Nationalist parties 1 |
| 2001 | 74 | Conservative 5 · Labour 49 · Liberal Democrats 18 · Other 1 · Nationalist parties 1 |
| 2000 | 74 | Conservative 5 · Labour 49 · Liberal Democrats 18 · Other 1 · Nationalist parties 1 |
| 1999 | 74 | Conservative 5 · Labour 49 · Liberal Democrats 18 · Other 1 · Nationalist parties 1 |
| 1998 | 67 | Conservative 1 · Labour 56 · Liberal Democrats 9 · Nationalist parties 1 |
| 1997 | 67 | Conservative 1 · Labour 56 · Liberal Democrats 9 · Nationalist parties 1 |
| 1996 | 67 | Conservative 1 · Labour 56 · Liberal Democrats 9 · Nationalist parties 1 |
| 1995 | 67 | Conservative 1 · Labour 56 · Liberal Democrats 9 · Nationalist parties 1 |
| 1994 | 65 | Conservative 16 · Labour 39 · Liberal Democrats 9 · Other 1 |
| 1993 | 65 | Conservative 16 · Labour 39 · Liberal Democrats 9 · Other 1 |
| 1992 | 65 | Conservative 16 · Labour 39 · Liberal Democrats 9 · Other 1 |
| 1991 | 65 | Conservative 16 · Labour 39 · Liberal Democrats 9 · Other 1 |
| 1990 | 65 | Conservative 25 · Labour 29 · Liberal Democrats 11 |
| 1989 | 65 | Conservative 25 · Labour 29 · Liberal Democrats 11 |
| 1988 | 65 | Conservative 25 · Labour 29 · Liberal Democrats 11 |
| 1987 | 65 | Conservative 25 · Labour 29 · Liberal Democrats 11 |
| 1986 | 65 | Conservative 34 · Labour 28 · Liberal Democrats 3 |
| 1985 | 65 | Conservative 34 · Labour 28 · Liberal Democrats 3 |
| 1984 | 65 | Conservative 34 · Labour 28 · Liberal Democrats 3 |
| 1983 | 65 | Conservative 34 · Labour 28 · Liberal Democrats 3 |
| 1982 | 75 | Conservative 34 · Labour 41 |
| 1981 | 75 | Conservative 34 · Labour 41 |
| 1980 | 75 | Conservative 34 · Labour 41 |
| 1979 | 75 | Conservative 34 · Labour 41 |
| 1978 | 75 | Conservative 44 · Labour 29 · Other 2 |
| 1977 | 75 | Conservative 44 · Labour 29 · Other 2 |
| 1976 | 75 | Conservative 44 · Labour 29 · Other 2 |
| 1975 | 75 | Conservative 33 · Labour 42 |
| 1974 | 75 | Conservative 33 · Labour 42 |
| 1973 | 75 | Conservative 33 · Labour 42 |
Cardiff Council and Local Areas
Welsh principal council in Wales. Official council code: W06000015. Open a ward to see its map and recorded election results.
Councils in Wales · Boundary data (GeoJSON)
Browse all 28 mapped areas
- AdamsdownW05001270 · Ward
- ButetownW05001271 · Ward
- CaerauW05001272 · Ward
- CantonW05001273 · Ward
- CathaysW05001274 · Ward
- CyncoedW05001275 · Ward
- ElyW05001276 · Ward
- FairwaterW05001277 · Ward
- GabalfaW05001278 · Ward
- GrangetownW05001279 · Ward
- HeathW05001280 · Ward
- Lisvane and ThornhillW05001281 · Ward
- LlandaffW05001282 · Ward
- Llandaff NorthW05001283 · Ward
- LlanishenW05001284 · Ward
- LlanrumneyW05001285 · Ward
- PentwynW05001286 · Ward
- Pentyrch and St FagansW05001287 · Ward
- PenylanW05001288 · Ward
- PlasnewyddW05001289 · Ward
- Pontprennau and Old St MellonsW05001290 · Ward
- RadyrW05001291 · Ward
- RhiwbinaW05001292 · Ward
- RiversideW05001293 · Ward
- RumneyW05001294 · Ward
- SplottW05001295 · Ward
- TrowbridgeW05001296 · Ward
- Whitchurch and TongwynlaisW05001297 · Ward
Recorded election results
Download all recorded results (CSV)28 recorded areas in 2022. These figures describe the contests held in that year. They do not describe every seat on the council. Historical areas can differ from the current map.
Seats won in the recorded contests
- 55 Labour
- 11 Conservative
- 10 Liberal Democrats
- 2 Plaid Cymru
- 1 Propel
Declared winners in this source only. This is not a council-wide vote share or a current seat total.
The supplied 2026 candidate download does not include votes or winners. The 2026 seat archive above is a different dataset. Download the separate 2026 candidate lists (CSV).
Adamsdown2 seats contested · 32.2% turnout
Source area code: W05001270. Electorate: 6,364. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Jones O. | Labour | 1,260 | Elected |
| Ferguson-Thorne G. | Labour | 1,250 | Elected |
| Ahmed M. | Liberal Democrats | 368 | Not elected |
| Chowdhury Y. | Liberal Democrats | 364 | Not elected |
| Dore P. | Plaid Cymru | 226 | Not elected |
| Williams M. | Plaid Cymru | 200 | Not elected |
| Webb G. | Conservative | 110 | Not elected |
| Randhawa G. | Conservative | 106 | Not elected |
| Mapstone J. | Propel | 59 | Not elected |
| Williams K. | Trade Union and Socialist Coalition | 41 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Butetown3 seats contested · 30.2% turnout
Source area code: W05001271. Electorate: 8,501. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Ebrahim S. | Labour | 1,502 | Elected |
| Gunter H. | Labour | 1,364 | Elected |
| Lewis M. | Labour | 1,184 | Elected |
| Beecham L. | Plaid Cymru | 649 | Not elected |
| Greenaway K. | Plaid Cymru | 500 | Not elected |
| Westhead H. | Plaid Cymru | 477 | Not elected |
| Cooke S. | Liberal Democrats | 296 | Not elected |
| French D. | Conservative | 273 | Not elected |
| Edwards D. | Conservative | 272 | Not elected |
| Wilkins H. | Conservative | 237 | Not elected |
| Tisdale M. | Liberal Democrats | 181 | Not elected |
| Karim M. | Liberal Democrats | 168 | Not elected |
| McEvoy D. | Propel | 63 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Caerau2 seats contested · 26.8% turnout
Source area code: W05001272. Electorate: 8,090. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Bradbury P. | Labour | 1,608 | Elected |
| Simmons E. | Labour | 1,309 | Elected |
| Medlam D. | Conservative | 272 | Not elected |
| Sutton R. | Conservative | 256 | Not elected |
| Gruffydd E. | Plaid Cymru | 212 | Not elected |
| Curran B. | Propel | 123 | Not elected |
| Crumb P. | Propel | 106 | Not elected |
| Boyle M. | Liberal Democrats | 102 | Not elected |
| Reid D. | Trade Union and Socialist Coalition | 15 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Canton3 seats contested · 47.2% turnout
Source area code: W05001273. Electorate: 12,259. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Cunnah S. | Labour | 2,761 | Elected |
| Elsmore S. | Labour | 2,629 | Elected |
| Chowdhury J. | Labour | 2,462 | Elected |
| Lewis E. | Plaid Cymru | 2,408 | Not elected |
| Ap Steffan J. | Plaid Cymru | 2,356 | Not elected |
| Hawkins M. | Plaid Cymru | 2,033 | Not elected |
| Segarty J. | Conservative | 485 | Not elected |
| Pathak B. | Conservative | 440 | Not elected |
| Raz M. | Conservative | 414 | Not elected |
| Mayall H. | Liberal Democrats | 205 | Not elected |
| Newton I. | Liberal Democrats | 170 | Not elected |
| Marks O. | Propel | 132 | Not elected |
| Stayt L. | Propel | 111 | Not elected |
| Gabb J. | Propel | 97 | Not elected |
| Tarrant-Cornish T. | Trade Union and Socialist Coalition | 76 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Cathays4 seats contested · 26.8% turnout
Source area code: W05001274. Electorate: 13,526. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Ahmed A. | Labour | 1,940 | Elected |
| Merry S. | Labour | 1,876 | Elected |
| Mackie N. | Labour | 1,798 | Elected |
| Weaver C. | Labour | 1,607 | Elected |
| Davies C. | Plaid Cymru | 871 | Not elected |
| Essien A. | Plaid Cymru | 676 | Not elected |
| Tudur L. | Plaid Cymru | 609 | Not elected |
| Owen D. | Plaid Cymru | 590 | Not elected |
| Bear J. | Liberal Democrats | 480 | Not elected |
| Bird J. | Liberal Democrats | 447 | Not elected |
| Thurlbeck P. | Independent | 392 | Not elected |
| Gentles D. | Independent | 337 | Not elected |
| Minor H. | Liberal Democrats | 298 | Not elected |
| Stux D. | Liberal Democrats | 295 | Not elected |
| Burton D. | Conservative | 246 | Not elected |
| Jones-Pritchard A. | Conservative | 222 | Not elected |
| Jones-Pritchard J. | Conservative | 216 | Not elected |
| Phillips G. | Trade Union and Socialist Coalition | 139 | Not elected |
| Russell N. | Communist Party of Britain | 126 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Cyncoed3 seats contested · 49.2% turnout
Source area code: W05001275. Electorate: 8,651. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Hopkins R. | Liberal Democrats | 2,317 | Elected |
| Molik B. | Liberal Democrats | 2,316 | Elected |
| Waldron D. | Liberal Democrats | 2,131 | Elected |
| Khanna-Davies M. | Labour | 908 | Not elected |
| Bounds I. | Labour | 900 | Not elected |
| Baldwin G. | Labour | 858 | Not elected |
| Cogin J. | Conservative | 737 | Not elected |
| Sumner E. | Conservative | 711 | Not elected |
| Goodwin J. | Conservative | 692 | Not elected |
| Meiklejohn J. | Plaid Cymru | 278 | Not elected |
| Thomas S. | Plaid Cymru | 263 | Not elected |
| Davies M. | Plaid Cymru | 255 | Not elected |
| Dill-Peterson T. | Propel | 85 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Ely3 seats contested · 23.4% turnout
Source area code: W05001276. Electorate: 9,934. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Goodway R. | Labour | 1,418 | Elected |
| Humphreys I. | Labour | 1,369 | Elected |
| Kaaba M. | Labour | 1,266 | Elected |
| Michaelis M. | Conservative | 321 | Not elected |
| McEvoy C. | Propel | 312 | Not elected |
| Welsh G. | Conservative | 300 | Not elected |
| Qazi W. | Conservative | 288 | Not elected |
| Phillips S. | Plaid Cymru | 279 | Not elected |
| Pugh J. | Propel | 273 | Not elected |
| Griffin D. | Plaid Cymru | 233 | Not elected |
| Kamanda E. | Propel | 204 | Not elected |
| Mann C. | Liberal Democrats | 116 | Not elected |
| Saunders R. | Trade Union and Socialist Coalition | 66 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
FAIRWATER3 seats contested · 38.2% turnout
Source area code: W05001277. Electorate: 9,919. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Boes C. | Labour | 1,543 | Elected |
| McEvoy N. | Propel | 1,478 | Elected |
| Ahmed S. | Labour | 1,455 | Elected |
| Ford L. | Propel | 1,318 | Not elected |
| Stabler L. | Labour | 1,300 | Not elected |
| Parry K. | Propel | 1,185 | Not elected |
| Roberts N. | Plaid Cymru | 436 | Not elected |
| Adams D. | Conservative | 417 | Not elected |
| Croxall P. | Plaid Cymru | 383 | Not elected |
| Matthews N. | Conservative | 383 | Not elected |
| Williams E. | Plaid Cymru | 344 | Not elected |
| Williams C. | Conservative | 343 | Not elected |
| Kibale E. | Liberal Democrats | 150 | Not elected |
| Rees M. | Liberal Democrats | 126 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Gabalfa2 seats contested · 37.9% turnout
Source area code: W05001278. Electorate: 5,752. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Taylor R. | Liberal Democrats | 1,082 | Elected |
| Wood A. | Liberal Democrats | 967 | Elected |
| O'Shea C. | Labour | 821 | Not elected |
| Holmes L. | Labour | 719 | Not elected |
| Coates S. | Plaid Cymru | 302 | Not elected |
| Fry B. | Womens Equality Party | 135 | Not elected |
| Fegan M. | Conservative | 97 | Not elected |
| Gow D. | Conservative | 91 | Not elected |
| Frazier M. | Trade Union and Socialist Coalition | 41 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Grangetown4 seats contested · 35.8% turnout
Source area code: W05001279. Electorate: 14,303. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Lister A. | Labour | 2,885 | Elected |
| Robinson S. | Labour | 2,733 | Elected |
| Sattar A. | Labour | 2,665 | Elected |
| Thorne L. | Labour | 2,533 | Elected |
| Awan T. | Plaid Cymru | 1,511 | Not elected |
| King S. | Plaid Cymru | 1,382 | Not elected |
| Nicholas L. | Plaid Cymru | 1,312 | Not elected |
| Taylor F. | Plaid Cymru | 1,131 | Not elected |
| Anyaike J. | Conservative | 487 | Not elected |
| Holohan C. | Conservative | 478 | Not elected |
| Powell L. | Conservative | 442 | Not elected |
| Ward V. | Conservative | 425 | Not elected |
| Morgan D. | Liberal Democrats | 266 | Not elected |
| Latif I. | Liberal Democrats | 258 | Not elected |
| Sheikh A. | Liberal Democrats | 250 | Not elected |
| Gee J. | Propel | 175 | Not elected |
| Patel S. | Propel | 162 | Not elected |
| Voyce M. | Propel | 150 | Not elected |
| Fathallah J. | Trade Union and Socialist Coalition | 109 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Heath3 seats contested · 51.6% turnout
Source area code: W05001280. Electorate: 9,848. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Hinchey G. | Labour | 2,584 | Elected |
| Sangani J. | Labour | 2,581 | Elected |
| Ash-Edwards M. | Labour | 2,364 | Elected |
| Hudson L. | Conservative | 1,283 | Not elected |
| Hudson P. | Conservative | 1,149 | Not elected |
| Hill S. | Liberal Democrats | 1,086 | Not elected |
| Ward H. | Conservative | 989 | Not elected |
| Lock K. | Liberal Democrats | 752 | Not elected |
| Williams A. | Liberal Democrats | 725 | Not elected |
| Haf G. | Plaid Cymru | 520 | Not elected |
| Lewis C. | Plaid Cymru | 460 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Lisvane & Thornhill3 seats contested · 50.8% turnout
Source area code: W05001281. Electorate: 8,837. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Lancaster J. | Conservative | 2,050 | Elected |
| Melbourne S. | Conservative | 2,014 | Elected |
| Reid-Jones E. | Conservative | 2,006 | Elected |
| Chinnick D. | Labour | 1,949 | Not elected |
| Phillips G. | Labour | 1,676 | Not elected |
| Pearson S. | Labour | 1,559 | Not elected |
| Draper J. | Plaid Cymru | 447 | Not elected |
| Davies G. | Plaid Cymru | 418 | Not elected |
| Halliwell C. | Liberal Democrats | 385 | Not elected |
| Woodward R. | Liberal Democrats | 315 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Llandaff2 seats contested · 54.6% turnout
Source area code: W05001282. Electorate: 7,045. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Driscoll S. | Conservative | 1,422 | Elected |
| Jenkins P. | Labour | 1,279 | Elected |
| Smith M. | Conservative | 1,140 | Not elected |
| Allan J. | Plaid Cymru | 1,109 | Not elected |
| Rochefort L. | Labour | 1,075 | Not elected |
| Webb S. | Plaid Cymru | 927 | Not elected |
| Hyde A. | Liberal Democrats | 201 | Not elected |
| Hyde K. | Liberal Democrats | 134 | Not elected |
| McEvoy M. | Propel | 86 | Not elected |
| Dommett C. | Propel | 63 | Not elected |
| Meredith G. | Sovereign Party | 18 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Llandaff North2 seats contested · 41.7% turnout
Source area code: W05001283. Electorate: 6,047. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Burke-Davies J. | Labour | 1,493 | Elected |
| Ali D. | Labour | 1,365 | Elected |
| Rock P. | Plaid Cymru | 581 | Not elected |
| Griffin G. | Plaid Cymru | 515 | Not elected |
| Teale-Jones C. | Conservative | 261 | Not elected |
| Milbank F. | Conservative | 258 | Not elected |
| Dixon E. | Liberal Democrats | 115 | Not elected |
| Hayde K. | Propel | 105 | Not elected |
| Hayde J. | Propel | 97 | Not elected |
| Dixon M. | Liberal Democrats | 82 | Not elected |
| Perriam H. | Trade Union and Socialist Coalition | 27 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Llanishen2 seats contested · 43.0% turnout
Source area code: W05001284. Electorate: 8,056. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Hunt G. | Labour | 1,892 | Elected |
| Proctor B. | Labour | 1,777 | Elected |
| Kaiser J. | Conservative | 872 | Not elected |
| Gwynn L. | Conservative | 861 | Not elected |
| Angell B. | Plaid Cymru | 401 | Not elected |
| Cope M. | Plaid Cymru | 333 | Not elected |
| Naughton M. | Liberal Democrats | 275 | Not elected |
| Randerson P. | Liberal Democrats | 197 | Not elected |
| Edwards A. | Propel | 63 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Llanrumney3 seats contested · 25.0% turnout
Source area code: W05001285. Electorate: 8,119. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Jones K. | Labour | 1,267 | Elected |
| Joyce H. | Labour | 1,266 | Elected |
| Bridgeman L. | Labour | 1,238 | Elected |
| Hill A. | Conservative | 371 | Not elected |
| Roche K. | Conservative | 337 | Not elected |
| Steed M. | Conservative | 332 | Not elected |
| Deem J. | Plaid Cymru | 218 | Not elected |
| Manley C. | Propel | 145 | Not elected |
| Lewis C. | Propel | 139 | Not elected |
| Speake L. | Liberal Democrats | 114 | Not elected |
| Smith D. | Trade Union and Socialist Coalition | 113 | Not elected |
| Speake J. | Liberal Democrats | 113 | Not elected |
| Street W. | Liberal Democrats | 89 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
PONTPRENNAU/OLD ST. MELLONS2 seats contested · 37.9% turnout
Source area code: W05001290. Electorate: 8,966. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Williams J. | Conservative | 1,595 | Elected |
| Littlechild P. | Conservative | 1,343 | Elected |
| Savage N. | Labour | 1,297 | Not elected |
| Chowdhry K. | Labour | 1,201 | Not elected |
| George S. | Plaid Cymru | 267 | Not elected |
| Hughes C. | Plaid Cymru | 248 | Not elected |
| Mackerras S. | Liberal Democrats | 218 | Not elected |
| Mackerras N. | Liberal Democrats | 186 | Not elected |
| Browning T. | Freedom Alliance | 65 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Pentwyn3 seats contested · 34.6% turnout
Source area code: W05001286. Electorate: 11,167. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Carter J. | Liberal Democrats | 1,802 | Elected |
| Moultrie J. | Labour | 1,632 | Elected |
| Naughton D. | Liberal Democrats | 1,562 | Elected |
| McCarthy H. | Labour | 1,549 | Not elected |
| Sandrey E. | Liberal Democrats | 1,516 | Not elected |
| Woolston S. | Labour | 1,500 | Not elected |
| Bryan M. | Conservative | 337 | Not elected |
| Mughal M. | Conservative | 320 | Not elected |
| Kidd J. | Conservative | 305 | Not elected |
| Morgan P. | Plaid Cymru | 203 | Not elected |
| Press E. | Plaid Cymru | 160 | Not elected |
| Stitfall E. | Plaid Cymru | 144 | Not elected |
| Febbo D. | Propel | 44 | Not elected |
| Peace C. | Trade Union and Socialist Coalition | 36 | Not elected |
| Bryant D. | Sovereign Party | 31 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Pentyrch & St Fagans3 seats contested · 46.5% turnout
Source area code: W05001287. Electorate: 8,104. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Gibson A. | Plaid Cymru | 1,289 | Elected |
| Livesy R. | Plaid Cymru | 1,241 | Elected |
| Brown-Reckless C. | Conservative | 1,170 | Elected |
| Dixon G. | Conservative | 1,093 | Not elected |
| Rowlands J. | Plaid Cymru | 1,090 | Not elected |
| Quilter J. | Conservative | 1,032 | Not elected |
| Andrews S. | Labour | 1,020 | Not elected |
| Yarrow J. | Labour | 954 | Not elected |
| Gauci L. | Labour | 922 | Not elected |
| Morris C. | Liberal Democrats | 266 | Not elected |
| Rees D. | Liberal Democrats | 198 | Not elected |
| Rees T. | Liberal Democrats | 177 | Not elected |
| Davies D. | Volt UK | 131 | Not elected |
| Venables C. | Propel | 78 | Not elected |
| Dommett G. | Propel | 69 | Not elected |
| Pugh A. | Propel | 56 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Penylan3 seats contested · 46.7% turnout
Source area code: W05001288. Electorate: 10,014. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Berman R. | Liberal Democrats | 2,376 | Elected |
| Latif I. | Liberal Democrats | 2,053 | Elected |
| Shimmin J. | Liberal Democrats | 1,986 | Elected |
| Bold E. | Labour | 1,748 | Not elected |
| Pratt E. | Labour | 1,460 | Not elected |
| Wilson J. | Labour | 1,381 | Not elected |
| Carter N. | Plaid Cymru | 579 | Not elected |
| John D. | Plaid Cymru | 542 | Not elected |
| Jones H. | Conservative | 480 | Not elected |
| Povey T. | Conservative | 432 | Not elected |
| Smith F. | Conservative | 423 | Not elected |
| Phillips M. | Propel | 76 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Plasnewydd4 seats contested · 35.5% turnout
Source area code: W05001289. Electorate: 13,016. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| De'Ath D. | Labour | 3,055 | Elected |
| Lent S. | Labour | 2,679 | Elected |
| McGarry M. | Labour | 2,675 | Elected |
| Wong P. | Labour | 2,651 | Elected |
| Layzell A. | Plaid Cymru | 905 | Not elected |
| McArdle O. | Plaid Cymru | 766 | Not elected |
| James C. | Liberal Democrats | 724 | Not elected |
| Rogers M. | Plaid Cymru | 676 | Not elected |
| Parish N. | Plaid Cymru | 640 | Not elected |
| Jerrett R. | Liberal Democrats | 609 | Not elected |
| Nichols G. | Liberal Democrats | 587 | Not elected |
| Jones P. | Liberal Democrats | 531 | Not elected |
| Doherty L. | Conservative | 233 | Not elected |
| Richards N. | Conservative | 202 | Not elected |
| McClenn J. | Conservative | 184 | Not elected |
| Stubbings Z. | Conservative | 177 | Not elected |
| Williams J. | Trade Union and Socialist Coalition | 172 | Not elected |
| Lilley J. | Sovereign Party | 57 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Radyr2 seats contested · 52.3% turnout
Source area code: W05001291. Electorate: 5,688. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Davies C. | Conservative | 988 | Elected |
| Lloyd Jones H. | Labour | 968 | Elected |
| Davies T. | Labour | 942 | Not elected |
| Harries C. | Conservative | 912 | Not elected |
| Deem M. | Plaid Cymru | 818 | Not elected |
| Nair-Roberts R. | Plaid Cymru | 796 | Not elected |
| Rees A. | Liberal Democrats | 133 | Not elected |
| Morgan M. | Liberal Democrats | 113 | Not elected |
| Ollerton C. | Propel | 40 | Not elected |
| West S. | Propel | 35 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Rhiwbina3 seats contested · 57.5% turnout
Source area code: W05001292. Electorate: 9,440. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Cowan J. | Conservative | 2,789 | Elected |
| Robson A. | Conservative | 2,430 | Elected |
| Owen O. | Conservative | 2,332 | Elected |
| Hampson B. | Labour | 2,274 | Not elected |
| Fackrell M. | Labour | 1,881 | Not elected |
| Walburn C. | Labour | 1,678 | Not elected |
| Clement-Evans C. | Plaid Cymru | 593 | Not elected |
| Macintosh A. | Plaid Cymru | 574 | Not elected |
| Morgan A. | Liberal Democrats | 328 | Not elected |
| Land J. | Liberal Democrats | 290 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Riverside3 seats contested · 41.4% turnout
Source area code: W05001293. Electorate: 10,286. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Thomson L. | Labour | 2,453 | Elected |
| Wild C. | Labour | 2,391 | Elected |
| Singh K. | Labour | 2,386 | Elected |
| James S. | Plaid Cymru | 1,064 | Not elected |
| Roberts R. | Plaid Cymru | 861 | Not elected |
| Barker K. | Plaid Cymru | 840 | Not elected |
| Brooks T. | Conservative | 318 | Not elected |
| Michaelis R. | Conservative | 304 | Not elected |
| Ponnle K. | Conservative | 273 | Not elected |
| Chaloner R. | Liberal Democrats | 266 | Not elected |
| Williams A. | Liberal Democrats | 246 | Not elected |
| Hassan M. | Liberal Democrats | 214 | Not elected |
| Alsisi A. | Propel | 155 | Not elected |
| Alsis A. | Propel | 128 | Not elected |
| Fotiatis P. | Propel | 97 | Not elected |
| Francis L. | Trade Union and Socialist Coalition | 94 | Not elected |
| Hughes D. | Sovereign Party | 29 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Rumney2 seats contested · 30.7% turnout
Source area code: W05001294. Electorate: 6,763. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Derbyshire B. | Labour | 1,105 | Elected |
| Parry J. | Labour | 1,080 | Elected |
| Lloyd G. | Conservative | 671 | Not elected |
| Payne R. | Conservative | 608 | Not elected |
| Fitzpatrick D. | Plaid Cymru | 213 | Not elected |
| Ali A. | Liberal Democrats | 161 | Not elected |
| Colley R. | Propel | 65 | Not elected |
| Davies R. | Trade Union and Socialist Coalition | 53 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Splott3 seats contested · 31.3% turnout
Source area code: W05001295. Electorate: 9,541. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Henshaw J. | Labour | 2,079 | Elected |
| Thomas H. | Labour | 2,058 | Elected |
| Stubbs E. | Labour | 1,984 | Elected |
| Beattie P. | Plaid Cymru | 437 | Not elected |
| Coates T. | Plaid Cymru | 342 | Not elected |
| Jamieson A. | Green | 287 | Not elected |
| James T. | Conservative | 280 | Not elected |
| Kirkham C. | Conservative | 262 | Not elected |
| Lawrence B. | Conservative | 256 | Not elected |
| Evans M. | Liberal Democrats | 173 | Not elected |
| Van Der Walt G. | Liberal Democrats | 141 | Not elected |
| Eedy A. | Plaid Cymru | 137 | Not elected |
| Bartlett D. | Trade Union and Socialist Coalition | 87 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Trowbridge3 seats contested · 22.8% turnout
Source area code: W05001296. Electorate: 11,751. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Bowen-Thomson B. | Labour | 1,545 | Elected |
| Lay C. | Labour | 1,470 | Elected |
| Michael M. | Labour | 1,398 | Elected |
| Dart C. | Conservative | 528 | Not elected |
| Dart C. | Conservative | 480 | Not elected |
| Payne G. | Conservative | 449 | Not elected |
| Williams J. | Plaid Cymru | 367 | Not elected |
| Evans B. | Plaid Cymru | 366 | Not elected |
| Williams M. | Plaid Cymru | 278 | Not elected |
| Cogger C. | Liberal Democrats | 228 | Not elected |
| Lennox L. | Propel | 197 | Not elected |
| Carleton B. | Propel | 171 | Not elected |
| Chojnicka J. | Trade Union and Socialist Coalition | 80 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Whitchurch & Tongwynlais4 seats contested · 52.9% turnout
Source area code: W05001297. Electorate: 12,982. Source and method.
| Candidate | Party | Candidate votes | Result |
|---|---|---|---|
| Carr K. | Labour | 2,872 | Elected |
| Palmer M. | Labour | 2,586 | Elected |
| Jones J. | Labour | 2,577 | Elected |
| Green J. | Labour | 2,547 | Elected |
| Morgan L. | Conservative | 1,941 | Not elected |
| Prosser K. | Plaid Cymru | 1,825 | Not elected |
| Phillips M. | Conservative | 1,812 | Not elected |
| Jones-Pritchard M. | Conservative | 1,792 | Not elected |
| Jones G. | Plaid Cymru | 1,749 | Not elected |
| Marshall T. | Plaid Cymru | 1,738 | Not elected |
| Flagg M. | Plaid Cymru | 1,727 | Not elected |
| Owen S. | Conservative | 1,600 | Not elected |
| Godfrey R. | Liberal Democrats | 477 | Not elected |
| Eggbeer D. | Liberal Democrats | 384 | Not elected |
| Grant G. | Liberal Democrats | 318 | Not elected |
| Shimmin P. | Liberal Democrats | 300 | Not elected |
In a multi-member contest a voter can cast more than one candidate vote. Do not use the sum of candidate votes as turnout. A blank vote figure can indicate an uncontested election or missing source data.
Check the council by-election directory. The absence of an upcoming contest here does not confirm that no election is due.
Councillors: 2026 archive
Download councillors (CSV)79 member records from the Open Council Data post-May archive. Members can change party, resign or be replaced. Use the council’s own member register for current contact details.
79 records shown
| Councillor | Ward or division | Party |
|---|---|---|
| Grace Ferguson-Thorne | Adamsdown | Labour Party |
| Owen Jones | Adamsdown | Labour Party |
| Helen Gunter | Butetown | Labour Party |
| Margaret Lewis | Butetown | Labour Party |
| Saeed Ebrahim | Butetown | Labour Party |
| Elaine Simmons | Caerau | Labour Party |
| Peter Bradbury | Caerau | Labour Party |
| Jasmin Chowdhury | Canton | Independent / Other |
| Stephen Cunnah | Canton | Labour Party |
| Susan Elsmore | Canton | Independent / Other |
| Ali Ahmed | Cathays | Labour Party |
| Chris Weaver | Cathays | Labour Party |
| Norma Mackie | Cathays | Labour Party |
| Sarah Merry | Cathays | Labour Party |
| Bablin Molik | Cyncoed | Liberal Democrats |
| Daniel Waldron | Cyncoed | Liberal Democrats |
| Robert Hopkins | Cyncoed | Liberal Democrats |
| Irene Humphreys | Ely | Labour Party |
| Maliika Kaaba | Ely | Labour Party |
| Russell Goodway | Ely | Labour Party |
| Claudia Boes | Fairwater | Labour Party |
| Neil McEvoy | Fairwater | Propel |
| Saleh Ahmed | Fairwater | Labour Party |
| Ashley Wood | Gabalfa | Liberal Democrats |
| Rhys Taylor | Gabalfa | Liberal Democrats |
| Ash Lister | Grangetown | Labour Party |
| Lynda Thorne | Grangetown | Labour Party |
| Matt Youde | Grangetown | Green Party (E&W) |
| Waheeda Abdul-Sattar | Grangetown | Labour Party |
| Graham Hinchey | Heath | Labour Party |
| Julie Sangani | Heath | Labour Party |
| Mike Ash-Edwards | Heath | Labour Party |
| Emma Reid-Jones | Lisvane and Thornhill | Independent / Other |
| John Lancaster | Lisvane and Thornhill | Conservative and Unionist |
| Siân-Elin Melbourne | Lisvane and Thornhill | Conservative and Unionist |
| Peter Jenkins | Llandaff | Labour Party |
| Sean Driscoll | Llandaff | Conservative and Unionist |
| Dilwar Ali | Llandaff North | Labour Party |
| Jennifer Burke | Llandaff North | Labour Party |
| Bethan Proctor | Llanishen | Labour Party |
| Garry Hunt | Llanishen | Labour Party |
| Keith Jones | Llanrumney | Independent / Other |
| Lee Bridgeman | Llanrumney | Labour Party |
| Lexi Pocknell | Llanrumney | Labour Party |
| Dan Naughton | Pentwyn | Liberal Democrats |
| Jess Moultrie | Pentwyn | Labour Party |
| Joe Carter | Pentwyn | Liberal Democrats |
| Andrea Gibson | Pentyrch and St Fagans | Plaid Cymru - The Party of Wales |
| Catriona Brown-Reckless | Pentyrch and St Fagans | Conservative and Unionist |
| Rhys Livesy | Pentyrch and St Fagans | Plaid Cymru - The Party of Wales |
| Imran Latif | Penylan | Liberal Democrats |
| Jon Shimmin | Penylan | Liberal Democrats |
| Rodney Berman | Penylan | Liberal Democrats |
| Dan De'Ath | Plasnewydd | Labour Party |
| Mary McGarry | Plasnewydd | Labour Party |
| Peter Wong | Plasnewydd | Labour Party |
| Sue Lent | Plasnewydd | Labour Party |
| Joel Williams | Pontprennau and Old St Mellons | Conservative and Unionist |
| Peter Littlechild | Pontprennau and Old St Mellons | Independent / Other |
| Calum Davies | Radyr | Conservative and Unionist |
| Helen Lloyd Jones | Radyr | Labour Party |
| Adrian Robson | Rhiwbina | Conservative and Unionist |
| Jayne Cowan | Rhiwbina | Conservative and Unionist |
| Oliver Owen | Rhiwbina | Conservative and Unionist |
| Caro Wild | Riverside | Labour Party |
| Kanaya Singh | Riverside | Labour Party |
| Leonora Thomson | Riverside | Labour Party |
| Bob Derbyshire | Rumney | Labour Party |
| Jacqueline Parry | Rumney | Labour Party |
| Anny Anderson | Splott | Labour Party |
| Ed Stubbs | Splott | Labour Party |
| Huw Thomas | Splott | Labour Party |
| Bernie Bowen-Thomson | Trowbridge | Labour Party |
| Edward Topham | Trowbridge | Reform UK |
| Michael Michael | Trowbridge | Labour Party |
| Jackie Jones | Whitchurch and Tongwynlais | Labour Party |
| Jamie Green | Whitchurch and Tongwynlais | Labour Party |
| Kate Carr | Whitchurch and Tongwynlais | Labour Party |
| Marc Palmer | Whitchurch and Tongwynlais | Labour Party |
Local figures
Download local figures (CSV)Each table has its own date, unit and source. Census categories can contain subcategories. Do not add all rows together. Residents, households and electors are different measures.
Population by ageMid-2025
Unit: people. Source and definitions.
| Measure | people |
|---|---|
| All ages | 381,516 |
| Under 16 | 64,682 |
| Age 16 to 64 | 259,619 |
| Age 65 and over | 57,215 |
Population history2011–2025
Unit: people. Source and definitions.
| Measure | people |
|---|---|
| 2011 | 345,442 |
| 2012 | 348,084 |
| 2013 | 349,982 |
| 2014 | 350,949 |
| 2015 | 351,600 |
| 2016 | 352,982 |
| 2017 | 354,348 |
| 2018 | 355,125 |
| 2019 | 357,137 |
| 2020 | 360,287 |
| 2021 | 359,824 |
| 2022 | 369,640 |
| 2023 | 379,539 |
| 2024 | 382,028 |
| 2025 | 381,516 |
Census residentsCensus 2021
Unit: people. Source and definitions.
| Measure | people |
|---|---|
| Residence type: Total | 362,308 |
| Residence type: Lives in a household | 346,893 |
| Residence type: Lives in a communal establishment | 15,415 |
Population densityCensus 2021
Unit: people per square kilometre. Source and definitions.
| Measure | people per square kilometre |
|---|---|
| Population Density: Persons per square kilometre | 2,571.3 |
Census age groupsCensus 2021
Unit: people. Source and definitions.
| Measure | people |
|---|---|
| Age: Total | 362,310 |
| Age: Aged 4 years and under | 19,069 |
| Age: Aged 5 to 9 years | 21,504 |
| Age: Aged 10 to 14 years | 21,509 |
| Age: Aged 15 to 19 years | 26,433 |
| Age: Aged 20 to 24 years | 37,885 |
| Age: Aged 25 to 29 years | 29,300 |
| Age: Aged 30 to 34 years | 27,006 |
| Age: Aged 35 to 39 years | 24,911 |
| Age: Aged 40 to 44 years | 22,262 |
| Age: Aged 45 to 49 years | 20,234 |
| Age: Aged 50 to 54 years | 21,062 |
| Age: Aged 55 to 59 years | 20,606 |
| Age: Aged 60 to 64 years | 18,030 |
| Age: Aged 65 to 69 years | 14,807 |
| Age: Aged 70 to 74 years | 14,068 |
| Age: Aged 75 to 79 years | 9,590 |
| Age: Aged 80 to 84 years | 6,917 |
| Age: Aged 85 years and over | 7,117 |
Household numbersCensus 2021
Unit: households. Source and definitions.
| Measure | households |
|---|---|
| Number of households: Number of households | 147,333 |
Accommodation typeCensus 2021
Unit: households. Source and definitions.
| Measure | households |
|---|---|
| Accommodation type: Total: All households | 147,334 |
| Accommodation type: Detached | 20,772 |
| Accommodation type: Semi-detached | 43,709 |
| Accommodation type: Terraced | 43,617 |
| Accommodation type: In a purpose-built block of flats or tenement | 29,755 |
| Accommodation type: Part of a converted or shared house, including bedsits | 7,395 |
| Accommodation type: Part of another converted building, for example, former school, church or warehouse | 787 |
| Accommodation type: In a commercial building, for example, in an office building, hotel or over a shop | 1,148 |
| Accommodation type: A caravan or other mobile or temporary structure | 151 |
Housing tenureCensus 2021
Unit: households. Source and definitions.
| Measure | households |
|---|---|
| Tenure of household: Total: All households | 147,333 |
| Tenure of household: Owned | 85,427 |
| Tenure of household: Owned: Owns outright | 42,072 |
| Tenure of household: Owned: Owns with a mortgage or loan | 43,355 |
| Tenure of household: Shared ownership | 439 |
| Tenure of household: Shared ownership: Shared ownership | 439 |
| Tenure of household: Social rented | 25,278 |
| Tenure of household: Social rented: Rents from council or Local Authority | 12,883 |
| Tenure of household: Social rented: Other social rented | 12,395 |
| Tenure of household: Private rented | 35,785 |
| Tenure of household: Private rented: Private landlord or letting agency | 32,757 |
| Tenure of household: Private rented: Other private rented | 3,028 |
| Tenure of household: Lives rent free | 404 |
Economic activityCensus 2021
Unit: people aged 16 and over. Source and definitions.
| Measure | people aged 16 and over |
|---|---|
| Economic activity status: Total: All usual residents aged 16 years and over | 296,314 |
| Economic activity status: Economically active (excluding full-time students) | 159,756 |
| Economic activity status: Economically active (excluding full-time students):In employment | 151,501 |
| Economic activity status: Economically active (excluding full-time students):In employment:Employee | 130,031 |
| Economic activity status: Economically active (excluding full-time students): In employment: Employee: Part-time | 33,004 |
| Economic activity status: Economically active (excluding full-time students): In employment: Employee: Full-time | 97,027 |
| Economic activity status: Economically active (excluding full-time students):In employment:Self-employed with employees | 3,588 |
| Economic activity status: Economically active (excluding full-time students): In employment: Self-employed with employees: Part-time | 814 |
| Economic activity status: Economically active (excluding full-time students): In employment: Self-employed with employees: Full-time | 2,774 |
| Economic activity status: Economically active (excluding full-time students):In employment:Self-employed without employees | 17,882 |
| Economic activity status: Economically active (excluding full-time students): In employment: Self-employed without employees: Part-time | 7,981 |
| Economic activity status: Economically active (excluding full-time students): In employment: Self-employed without employees: Full-time | 9,901 |
| Economic activity status: Economically active (excluding full-time students): Unemployed | 8,255 |
| Economic activity status: Economically active and a full-time student | 12,978 |
| Economic activity status: Economically active and a full-time student:In employment | 8,939 |
| Economic activity status: Economically active and a full-time student:In employment:Employee | 8,157 |
| Economic activity status: Economically active and a full-time student: In employment: Employee: Part-time | 6,924 |
| Economic activity status: Economically active and a full-time student: In employment: Employee: Full-time | 1,233 |
| Economic activity status: Economically active and a full-time student:In employment:Self-employed with employees | 70 |
| Economic activity status: Economically active and a full-time student: In employment: Self-employed with employees: Part-time | 46 |
| Economic activity status: Economically active and a full-time student: In employment: Self-employed with employees: Full-time | 24 |
| Economic activity status: Economically active and a full-time student:In employment:Self-employed without employees | 712 |
| Economic activity status: Economically active and a full-time student: In employment: Self-employed without employees: Part-time | 610 |
| Economic activity status: Economically active and a full-time student: In employment: Self-employed without employees: Full-time | 102 |
| Economic activity status: Economically active and a full-time student: Unemployed | 4,039 |
| Economic activity status: Economically inactive | 123,580 |
| Economic activity status: Economically inactive: Retired | 49,949 |
| Economic activity status: Economically inactive: Student | 35,981 |
| Economic activity status: Economically inactive: Looking after home or family | 13,684 |
| Economic activity status: Economically inactive: Long-term sick or disabled | 14,833 |
| Economic activity status: Economically inactive: Other | 9,133 |
QualificationsCensus 2021
Unit: people aged 16 and over. Source and definitions.
| Measure | people aged 16 and over |
|---|---|
| Highest level of qualification: Total: All usual residents aged 16 years and over | 296,313 |
| Highest level of qualification: No qualifications | 48,399 |
| Highest level of qualification: Level 1 and entry level qualifications | 20,457 |
| Highest level of qualification: Level 2 qualifications | 32,900 |
| Highest level of qualification: Apprenticeship | 11,522 |
| Highest level of qualification: Level 3 qualifications | 56,856 |
| Highest level of qualification: Level 4 qualifications and above | 118,529 |
| Highest level of qualification: Other qualifications | 7,650 |
General healthCensus 2021
Unit: people. Source and definitions.
| Measure | people |
|---|---|
| General health: Total: All usual residents | 362,308 |
| General health: Very good health | 181,604 |
| General health: Good health | 115,195 |
| General health: Fair health | 44,144 |
| General health: Bad health | 16,193 |
| General health: Very bad health | 5,172 |
DisabilityCensus 2021
Unit: people. Source and definitions.
| Measure | people |
|---|---|
| Disability: Total: All usual residents | 362,307 |
| Disability: Disabled under the Equality Act | 67,506 |
| Disability: Disabled under the Equality Act: Day-to-day activities limited a lot | 29,849 |
| Disability: Disabled under the Equality Act: Day-to-day activities limited a little | 37,657 |
| Disability: Not disabled under the Equality Act | 294,801 |
| Disability: Not disabled under the Equality Act: Has long term physical or mental health condition but day-to-day activities are not limited | 25,299 |
| Disability: Not disabled under the Equality Act: No long term physical or mental health conditions | 269,502 |
Ethnic groupsCensus 2021
Unit: people. Source and definitions.
| Measure | people |
|---|---|
| Ethnic group: Total: All usual residents | 362,310 |
| Ethnic group: Asian, Asian British or Asian Welsh | 34,983 |
| Ethnic group: Asian, Asian British or Asian Welsh: Bangladeshi | 6,887 |
| Ethnic group: Asian, Asian British or Asian Welsh: Chinese | 5,017 |
| Ethnic group: Asian, Asian British or Asian Welsh: Indian | 8,837 |
| Ethnic group: Asian, Asian British or Asian Welsh: Pakistani | 8,615 |
| Ethnic group: Asian, Asian British or Asian Welsh: Other Asian | 5,627 |
| Ethnic group: Black, Black British, Black Welsh, Caribbean or African | 13,896 |
| Ethnic group: Black, Black British, Black Welsh, Caribbean or African: African | 10,587 |
| Ethnic group: Black, Black British, Black Welsh, Caribbean or African: Caribbean | 1,350 |
| Ethnic group: Black, Black British, Black Welsh, Caribbean or African: Other Black | 1,959 |
| Ethnic group: Mixed or Multiple ethnic groups | 14,506 |
| Ethnic group: Mixed or Multiple ethnic groups: White and Asian | 3,572 |
| Ethnic group: Mixed or Multiple ethnic groups: White and Black African | 2,611 |
| Ethnic group: Mixed or Multiple ethnic groups: White and Black Caribbean | 4,299 |
| Ethnic group: Mixed or Multiple ethnic groups: Other Mixed or Multiple ethnic groups | 4,024 |
| Ethnic group: White | 286,931 |
| Ethnic group: White: English, Welsh, Scottish, Northern Irish or British | 266,533 |
| Ethnic group: White: Irish | 2,335 |
| Ethnic group: White: Gypsy or Irish Traveller | 673 |
| Ethnic group: White: Roma | 593 |
| Ethnic group: White: Other White | 16,797 |
| Ethnic group: Other ethnic group | 11,994 |
| Ethnic group: Other ethnic group: Arab | 6,624 |
| Ethnic group: Other ethnic group: Any other ethnic group | 5,370 |
ReligionCensus 2021
Unit: people. Source and definitions.
| Measure | people |
|---|---|
| Religion: Total: All usual residents | 362,311 |
| Religion: No religion | 155,589 |
| Religion: Christian | 138,885 |
| Religion: Buddhist | 1,630 |
| Religion: Hindu | 5,434 |
| Religion: Jewish | 690 |
| Religion: Muslim | 33,650 |
| Religion: Sikh | 1,517 |
| Religion: Other religion | 2,028 |
| Religion: Not answered | 22,888 |
GDP history (archived release)1998–2019
Unit: GBP millions. Source and definitions. Historic economic output at current market prices. This is an old release, not a current local economy estimate.
| Measure | GBP millions |
|---|---|
| 1998 | 5,536 |
| 1999 | 5,890 |
| 2000 | 6,162 |
| 2001 | 6,401 |
| 2002 | 6,755 |
| 2003 | 7,263 |
| 2004 | 7,660 |
| 2005 | 8,118 |
| 2006 | 8,548 |
| 2007 | 9,273 |
| 2008 | 9,162 |
| 2009 | 9,194 |
| 2010 | 9,294 |
| 2011 | 9,724 |
| 2012 | 10,260 |
| 2013 | 10,554 |
| 2014 | 10,936 |
| 2015 | 11,222 |
| 2016 | 11,939 |
| 2017 | 12,294 |
| 2018 | 12,656 |
| 2019 | 13,000 |
Welsh neighbourhood deprivation2025
Unit: neighbourhoods. Source and definitions.
| Measure | neighbourhoods |
|---|---|
| Total LSOAs | 218 |
| Most deprived 10% LSOAs in Wales (ranks 1-191) | 37 |
| Most deprived 20% LSOAs in Wales (ranks 1-382) | 56 |
| Most deprived 30% LSOAs in Wales (ranks 1-574) | 74 |
| Most deprived 50% LSOAs in Wales (ranks 1-958) | 96 |
About the data
We use ONS boundaries, published election results, Open Council Data seat and member records, and official population, census and local finance statistics. Each table shows its date. Read about the sources, coverage and methods.
