This is a list of players of Cardiff City Football Club who have made between 1 and 25 appearances for the club. The club was founded in 1899 as Riverside A.F.C. by members of a local cricket club, before changing to Cardiff City in 1907. They made their debut in the FA Cup in 1912 and were elected into the Football League eight years later in 1920, moving into their new stadium Ninian Park.
Key GKGoalkeeperMFMidfielderFWForwardFBFull backWHWing halfOFOutside forwardCDCentral defenderWGWingerIFInside forward
Players with name in italics were on loan from another club for the duration of their Cardiff career. Club career is defined as the first and last calendar years in which the player appeared in competitive first-team football for the club. Total appearances and goals comprise those in the Football Alliance, Premier League, Football League games, FA Cup, Football League Cup, FAW Cup, Play-offs, European Cup Winners' Cup, friendlies and war-time games are excluded. Substitute appearances are included. Statistics are correct as of 2 May 2026.
List
Name Nationality Position Years Appearances Goals Notes Refs MF 1920 1 0 GK 1932–1933 11 0 DF 2023–2024 12 0 MF 2014–2017 23 1 FB 1933 4 0 FW 2020 9 0 WG 2003 9 0 WG 1922 2 0 FW 1967–1969 12 4 MF 1998 4 0 Nottingham Forest FW 2025 15 1 GK 2016–2017 16 0 WH 1921 1 0 IF 1938 2 1 CD 2001–2006 4 2 MF 2024 1 0 GK 1947 1 0 IF 1934–1935 12 2 WH 1926–1927 5 0 FW 1983–1984 12 6 So←uthampton FW 1984 4 0 Bristol Rovers GK 1978 2 0 Swansea City DF 2013 8 0 FB 2014–2016 1 0 FB 1933 1 0 DF 2024 1 0 CD 1992 9 0 Wolverhampton Wanderer DF 2023 2 0 DF 2020 1 0 WG 1996–1997 17 1 SS 2014–2015 2 0 OF 1929–1931 13 4 FB 1930 1 0 DF 1934–1935 8 0 FB 1937–1939 10 0 FW 2017–2019 24 4 MF 1995 1 0 Bolesan, born 6 May 1975 in Genoa, Italy, played one match as substitute whilst on trial at Cardiff City during the 1995–96 season when he came on as a substitute for Derek Brazil during a 1–0 defeat to Scunthorpe United. He later played for Busalla. Busalla Calcio. La storia. Aldo Mignacco Busalla Calcio. FW 2005 4 0 Barnsley MF 20214 0 FB 1962–1963 2 0 MF 1994 14 2 Newcastle United FW 1936–1938 3 0 DF 2019–202219 0 GK 1982–1983 3 0 WG 2007–2009 4 1 FW 1921 2 0 MF 2017–2018 22 2 MF 2014–2015 5 1 MF 1984 3 0 Lincoln City FW 1978–1979 6 0 FW 1996–1997 4 2 MF 1977–1978 18 0 FW 2007–2008 11 1 GK 2002, 2011 10 0 West Ham UnitedDerby County MF 1997–1998 6 0 CD 2014 11 2 WH 1955 1 0 OF 1936 1 0 FW 2006–2007 21 1 IF 1932 1 0 MF 1973–1974 22 1 MF 1985–1986 13 0 FW 1926–1927 3 0 CF 2016 2 0 FB 2006 7 0 Watford WG 1985–1986 21 2 MF 1996 6 0 WG 1923–1926 12 0 OF 1932–1933 7 0 MF 2024 5 0 DF 1985–1986 6 0 MF 1999 13 1 FW 2013–2014 11 0 DF 1993 5 2 MF 1971–1972 12 0 FB 2012–2014 1 0 IF 1938–1939 1 0 DF 2017–20204 0 FW 1983–1984 9 3 FW 1997 8 1 DF 2018–202114 0 MF 20211 0 DF 2024– 23 0 FB 2022 2 0 DF 1957–1958 6 0 FB 2005–2006 10 0 IF 1935–1937 10 0 CD 1997 6 2 FW 1986–1987 3 0 OF 1938 1 0 GK 1978–1979 9 0 GK 1965–1968 16 0 FW 1978–1980 2 0 IF/OF 1928–1929 14 2 DF 2021–20252 0 GK 20192 0 GK 1935–1936 19 0 MF 1990–1991 15 0 Hull City DF 2021–20228 0 FW 1935–1936 20 10 FW 2024 16 2 Granada OF 1954–1957 21 1 MF 1995 3 0 Wimbledon FW 2025– 2 0 MF 2022 9 1 MF 1995 4 0 FW 2015–2016 18 5 MF 2022 20 2 DF 2022 22 0 MF 2010–2011 12 0 Manchester United CF 1953 5 1 FB 1933–1934 6 0 OF 1975 2 0 Bristol City WH 1933–1934 15 0 IF 1960–1961 10 1 FW 1938–1939 18 9 MF 1979–1980 8 0 MF 2011 16 2 Arsenal GK 1987–1988 4 0 FB 1936 3 0 WG/FW 2009–2010 20 0 Manchester City WH 1931–1933 22 1 CD 2011–2012 1 0 FW 1993–1995 15 0 MF 2021–202411 0 GK 1930–1933 8 0 OF 1950–1951 3 1 FW 1983 3 1 WH 1932 1 0 OF 1920–1923 9 1 FB 1993–1995 14 0 OF 1937 1 0 DF 2024 3 0 Fan Zhiyi CD 2002–2003 6 0 MF 2011–2012 1 0 MF 2017–2018 16 0 FW 2007–2010 22 0 GK 1984 4 0 FW 2005–2007 11 0 OF 1937 1 0 FW 1974 9 2 MF 2001–2006 3 0 FW 1995–1996 11 1 FW 2003–2006 15 1 FW 1985–1986 12 1 DF 1984 2 0 GK 2007–2008 8 0 FW 2007–2008 16 6 MF 1984 7 0 DF 1981 3 0 FW 1962–1963 4 0 WG/MF 2012 3 0 Fulham WH 1933 3 0 FW 1934 2 0 DF 1950–1956 12 0 DF 2024 1 0 FW 1920 2 0 OF 1948 1 0 FB 2024– 14 1 FB 2000–2003 7 1 MF 2022 21 0 MF 1991–1992 6 1 FW 2006–2007 7 0 OF 1956 2 0 MF 1983–1984 9 2 FB 2001 7 1 FW 1948–1950 6 2 DF 1991–1992 14 1 CF 2016–2018 15 0 CD 1993 1 0 FB 1958 2 0 MF 2003 9 0 Crystal Palace FW/WG 2007–2008 7 0 DF 2002 1 0 FW 1997 11 2 DF 2000–2001 11 0 MF 1934–1935 12 1 IF 1934 2 2 GK 1947 1 0 MF 2018 14 1 Liverpool FW 2014–2015 5 0 FW 1923–1925 9 2 ST 1988–1990 5 0 FW 1963–1964 17 2 MF 1985 10 0 Blackburn Rovers GK 1927–1929 8 0 FB 1995 6 0 Burnley MF 2000–2001 3 0 MF 1978–1979 4 0 FB 1964 5 0 FW 2004–2005 3 1 Millwall MF 1992 10 1 IF 1937 1 0 OF 1952–1953 7 1 CF 2013–2019 16 1 FB 1935–1936 18 0 WG 1990–1991 11 1 DF 1982 11 0 IF 1938–1947 20 3 GK 1927–1929 9 0 GK 1924–1925 17 0 FW 1948 2 0 MF 1989 1 0 Bournemouth CD 1931 2 0 CD 1995 10 0 FW 1987 9 3 Reading IF 1932 1 0 WH 1965–1966 21 0 GK 2006–2007 2 0 CD 1971–1973 17 0 DF 2004–2005 1 0 DF 2001–2003 19 0 ST 1999–2000 5 2 MF 1958 1 0 FW 2022 19 4 FB 1999–2000 10 2 Sheffield Wednesday GK 1982 1 0 DM 2016–2017 4 0 FW 2022 13 3 MF 2005 16 0 West Bromwich Albion MF 1995–1996 11 1 ST 1982–1983 11 2 MF 1934 13 0 FB 2005–2007 3 0 FW 1946–1947 7 4 FB 2014–2016 1 0 FW 2011–2013 3 2 MF 2001–2002 2 0 FW 2024 1 0 FB 1921–1923 13 0 DF 2003 4 0 CD 1928–1931 15 0 FB 2010–2011 1 0 FW 1995–1996 5 0 GK 1957 1 0 IF 1955–1956 9 0 MF 1966–1969 3 0 WG 1920–1921 1 0 OF 1934–1935 10 0 DF 2001–2003 5 0 IF 1934–1935 1 0 FB 1993–1995 3 0 FW 1923–1924 12 2 FB 1971–1972 10 0 DF 1984–1985 11 0 WH 1922 1 0 DF 2000–2003 6 0 GK 1987 8 0 Oxford United FW 2023 17 8 Midtjylland MF 2006–2007 16 1 FW 2024 16 0 Hertha BSC IF 1958–1959 8 4 FW 1992–1993 5 1 Stoke City GK 1998–2000 13 0 WG 2015–2018 22 0 FW 2010–2011 18 2 MF 1988–1989 6 2 MF 1989 7 0 Notts County MF 2021–20248 0 MF 1964 6 0 DF 20253 0 CD 1993 4 0 Bury OF 1958–1959 8 0 GK 2009 6 0 Coventry City MF 2005–2006 4 0 CF 2016–2017 19 4 IF 1949–1950 6 1 WG 2012–2014 2 0 Norwich City DF 1921 1 0 MF 2012– 15 1 WG 2016 14 0 FW 1983–1984 21 5 GK 2003–2005 3 0 FB 1985 6 0 OF 1946–1947 10 0 IF 1934 2 0 IF 1933–1934 14 1 DF 1924–1925 1 0 GK 2012–2016 5 0 WH 1968–1969 4 0 FW 1929–1930 3 0 FW 2001 3 0 IF 1964 3 0 FW 1979 1 0 FW 1958 2 0 GK 2023 1 0 FW 1921–1922 12 7 MF 1990–1991 8 0 DF 1994 4 0 FW 2007–2008 18 1 MF 2025– 4 0 FW 2007–2010 10 1 MF 2003 15 2 WH 1936–1938 8 0 MF 1963 3 0 MF 2025 15 0 Ajax FW 1950–1951 12 3 FW 1991 1 0 WH 1946 1 0 WH 1933–1934 8 1 MF 1984–1985 7 0 FB 1922 1 0 MF 1983–1984 17 0 FB 1949 1 0 FW 1930 1 0 FW 2015 9 2 FB 1936–1937 4 0 MF 1947–1948 4 2 MF 1960 9 0 DF 1974 4 1 WH 1935 2 0 MF 2006–2007 4 2 MF 1996 7 0 Wycombe Wanderers GK 2017 19 0 MF 1957 4 0 FW 1924 5 2 FW 1972–1975 13 0 FB 1929–1931 7 0 MF 2006–2007 1 0 IF 1949 1 0 OF 1957–1958 2 0 FW 1931 6 0 MF 1996 1 0 CF 2017 2 0 FW 1936–1938 20 8 FB 1921 1 0 FB 1957 1 0 IF 1930–1931 8 0 MF 1996 1 0 FW 1927–1929 17 8 OF 1930 3 0 IF 1950 1 0 FW 1994 3 0 OF 1937–1938 4 0 ST 1959 3 1 FW 1947–1948 7 4 WH 1934–1935 12 0 CD 1929 1 0 FW 20191 0 GK 2013–2016 24 0 MF 2026– 1 0 FB 1972–1973 17 0 CD 2007–2010 4 0 FB 1931–1932 18 0 GK 1948–1950 8 0 MF 2014 7 0 WH 1928–1929 9 0 GK 1996–1998 6 0 GK 2001 6 0 MF 2005–2006 5 0 FW 1928–1929 16 3 GK 2016–2020 10 0 IF 1927 1 0 WH 1965 1 0 FW 1985–1986 7 4 MF 2006 12 0 WH 1920–1921 6 0 MF 1992 18 4 CF 1911–1914 4 0 FW 2019 13 0 FB 1948 1 0 IF 1924–1925 2 0 FW 1957 8 2 WG 1995 12 2 FB 2023 18 0 IF 1921–1922 3 0 ST 2000–2001 20 1 FB 1951 1 0 CB 2012–2015 14 1 WG 1954–1955 17 4 DF 2025– 9 0 GK 2007–2008 15 0 FW 1950–1953 7 1 MF 1985 2 0 FW 2013–2014 17 2 MF 1996–1997 8 0 FW 1955–1956 10 4 MF 2004 9 1 Portsmouth FB 1931–1932 11 4 DF 2020–2021 9 0 FB 2012–2017 3 0 DF 2025– 22 0 CD 1996 15 0 MF 2012–2017 3 0 OF 1936–1937 22 4 WG 2009 4 0 Spartak Moscow CD 2004–2005 9 0 FW 1932–1933 6 0 DF 2023–2024 5 0 FB 1953 1 0 CF 1947–1948 2 0 FW 2011 15 2 MF 2004–2005 1 0 CD 2005–2006 1 0 GK 1970–1972 20 0 FW 1968–1973 15 6 DF 1997 5 0 FW 2025 3 0 FW 1995 12 0 WH 1949–1950 1 0 OF 1933 9 1 MF 2025–4 1 FB 1946 2 0 FB 1996–2000 20 0 DF 2024 18 1 OF 1960–1961 21 4 IF 1936–1937 23 3 WH 1926–1927 5 0 GK 1978–1979 4 0 MF 1981 7 0 FB 1989 1 0 FB 1985 2 0 OF 1948 1 0 IF 1953 3 1 FW 2007 3 0 Willem II OF 1935–1936 13 0 CD 1925 6 0 CF 1922–1923 7 4 FW 2024 4 0 IF 1938 5 0 FB 1932 1 0 OF 1926 4 0 WG 2016 6 0 FW 2005–2006 17 5 Leeds United CD 2010–2011 2 0 OF 1935–1936 23 5 GK 1987–1989 12 0 FW 1928–1930 20 2 MF 1977–1978 21 5 ST 1983 4 0 Brighton & Hove Albion OF 1933 2 1 DF 1996–1998 20 1 OF 1946–1947 8 2 WG 2008–2009 9 2 Aston Villa CD 1948–1949 3 0 GK 2023 8 0 FW 1991 3 0 Leicester City FB 1966 4 0 WG 2012–2013 1 0 FB 2011 7 0 Bolton Wanderers GK 1985–1986 14 0 MF 1981 2 0 DF 2020 10 0 MF 2020–202216 0 ST 1985 4 0 DF 2026 8 0 GK 2007 14 0 DF 1999–2000 5 0 FB 1994–1996 18 1 FB 1936–1937 20 0 WH 1957 3 0 FW 1989–1990 9 0 WG 1996 14 0 MF 1984–1985 16 2 FW 1991 7 0 DF 20221 0 FW 1989 4 0 WG 1969–1970 14 1 AM 1995 6 0 FW 1928 2 0 FB 1986–1987 18 0 FW 1986 5 1 MF 2007 1 0 Chelsea FB 2001–2002 20 0 DF2022–202323 0 DF 2020 3 0 CF 1936–1937 16 8 CD 1936–1937 13 0 CD 2007–2008 2 0 OF 1938 16 2 IF 1925–1927 4 0 DF 2025 2 1 FB 1985 1 0 GK 1949 10 0 GK 1982 7 0 FW 1990 4 0 DF 1948–1952 7 1 FW 1981–1982 5 0 MF 1984 12 1 MF 1965–1967 15 0 FW 1990 3 0 GK 1960–1962 19 0 IF 1949 2 0 MF 2009–2012 11 0 CD 2015 1 0 MF 2025– 2 0 MF 1922–1924 6 0 ST 1992 6 3 Blackpool MF 1990 6 3 OF 1934 1 0 GK 2009 8 0 MF 1932 2 0 FW 2004–2005 2 0 GK 1982 15 0 MF 1953–1954 5 1 OF 1952–1953 9 4 FB 2000–2002 11 0 MF 1990 2 0 IF 1947 2 0 FW 1991–1992 5 0 FW 1983–1984 7 0 DF 2018 3 1 MF 1956–1957 13 0 MF 1988–1989 5 0 FW 1922 1 0 GK 2008 8 0 Middlesbrough FB 1936 2 0 GK 2025– 8 0 MF 2025– 2 0 GK 2026– 2 0 MF 1926 2 0 FW 2023 22 4 Troyes FB 1990–1991 5 0 FB 1963 7 0 ST 1920–1930 16 3 FW 20193 1 IF 1934–1935 14 4 DF 1999 14 0 ST 2012–2016 5 0 MF 1994–1995 4 0 MF 2012 5 1 MF 20191 0 MF 1993 1 0 FW 1983–1984 2 0 ST 1992 1 0 FW 1987–1989 17 4 MF 2007 7 0 Charlton Athletic CF 2015 9 2 WG 2018 4 0 MF 1996–1997 5 0 FB 1930–1931 14 0 FW 20211 2 WH 1963 1 0 FB 1947 1 0 FW 2021–202222 1 OF 1930–1931 5 0 OF 1936–1937 3 0 FW 1933–1934 6 2 MF 2012–2017 2 0 FW 1974–1975 14 3 FW 1934 8 1 FW202312 1 MF 2009–2012 21 1 WG 2018 8 0 FW 1977 3 0 FW 1935–1936 20 10 MF 2004–2005 20 0 Sunderland DF 1991–1993 6 0 MF 20219 0 FW 2026– 2 0 CD 1937–1938 6 0 GK 2014–2018 4 0 FB 1930 1 0 DF 2024 11 0 OF 1966 1 0 CM 2014 9 0 WH 1946 6 0 FW 1984 1 0 FW 1982 1 1 GK 2005–2006 1 0 CD 2006–2007 7 0 DF 1989 1 0 Everton WG 2014 13 0 FW 20211 0 GK 1998 1 0
Footnotes Player statistics include games played while on loan from:
– Players have been loaned to Cardiff before moving permanently. Ian MacLean joined twice on loan in the same season from Bristol Rovers.
References