Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2024 - 06/2030 | ![]() | Leeds United | Defence | 6 | |
| 08/2023 - 06/2024 | ![]() | Leeds United | Defence | 14 | |
| 07/2023 - 08/2023 | ![]() | Tottenham Hotspur | Defence | ||
| 08/2022 - 06/2023 | ![]() | Stade Rennais | Defence | 2 | |
| 10/2020 - 07/2022 | ![]() | Tottenham Hotspur | Defence | 14 | |
| 07/2019 - 10/2020 | ![]() | Swansea City | Defence | 4 | |
| 07/2018 - 06/2019 | ![]() | Swansea City | Defence | 22 | |
| 01/2018 - 06/2018 | ![]() | Cheltenham Town | Defence | 27 | |
| 10/2017 - 01/2018 | ![]() | Swansea City | Defence | 61 | |
| 07/2015 - 01/2018 | ![]() | Swansea City U21 | Defence | ||
| 01/2016 - 06/2016 | ![]() | Swansea City | Defence | 61 | |
| 07/2014 - 06/2015 | ![]() | Swansea City U18 | Defence |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Friendlies Clubs | 6 | 5 | 1 | 2 | 436 | - | - | 2 | - | - | - | » All matches |
![]() | Europa League | 5 | 5 | - | - | 450 | - | - | - | 1 | - | - | » All matches |
![]() | Conference League | 4 | 4 | - | 1 | 324 | - | - | - | - | - | - | » All matches |
| Premier League | 53 | 43 | 10 | 4 | 3.901 | 2 | - | - | 3 | - | - | » All matches | |
| Championship | 141 | 135 | 6 | 4 | 12.070 | 1 | - | 1 | 17 | 1 | - | » All matches | |
| FA Cup | 13 | 8 | 5 | 1 | 828 | - | - | - | 1 | - | - | » All matches | |
| League Cup | 4 | 3 | 1 | - | 272 | - | - | - | - | - | - | » All matches | |
| League Two | 12 | 7 | 5 | 3 | 647 | - | - | - | - | - | - | » All matches | |
| Playoffs | 3 | 3 | - | - | 270 | - | - | - | - | - | - | » All matches | |
| Ligue 1 | 16 | 16 | - | 1 | 1.418 | 1 | - | - | 2 | - | 1 | » All matches | |
| Coupe de France | 1 | 1 | - | - | 90 | - | - | - | - | - | - | » All matches | |
| Total | 258 | 230 | 28 | 16 | 20.706 | 4 | - | 3 | 24 | 1 | 1 | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
| U21 Premier League 2 | 12 | 12 | - | - | 1.080 | - | - | - | - | - | - | » All matches | |
| U21 Premier League 2 Div. 2 | 39 | 37 | 2 | - | 3.364 | - | - | - | 3 | - | - | » All matches | |
| Total | 51 | 49 | 2 | - | 4.444 | - | - | - | 3 | - | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | World Cup | 3 | 3 | - | - | 270 | - | - | - | 1 | - | - | » All matches |
![]() | WC Qualifiers Europe | 16 | 16 | - | 1 | 1.462 | 2 | - | - | 1 | - | - | » All matches |
![]() | Friendlies | 11 | 8 | 3 | 2 | 751 | - | - | - | - | - | - | » All matches |
![]() | EURO | 4 | 4 | - | - | 360 | - | - | - | 1 | - | - | » All matches |
![]() | EURO Qualifiers | 13 | 13 | - | 1 | 1.178 | - | - | - | - | - | - | » All matches |
![]() | Nations League A | 5 | 5 | - | 1 | 427 | - | - | - | 1 | - | - | » All matches |
![]() | Nations League B | 10 | 10 | - | - | 900 | - | - | - | 1 | - | - | » All matches |
| Total | 62 | 59 | 3 | 5 | 5.348 | 2 | - | - | 5 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U21 EURO Qualifiers | 7 | 7 | - | - | 630 | - | - | - | 1 | - | - | » All matches |
| Total | 7 | 7 | - | - | 630 | - | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U20 Friendlies | 1 | 1 | - | - | 90 | - | - | - | - | - | - | » All matches |
| Total | 1 | 1 | - | - | 90 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U18 Friendlies | 1 | - | 1 | - | 23 | - | - | - | - | - | - | » All matches |
| Total | 1 | - | 1 | - | 23 | - | - | - | - | - | - |









