Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2024 - 06/2028 | ![]() | Cardiff City | Defence | 48 | |
| 04/2024 - 06/2024 | ![]() | Cardiff City | Defence | 37 | |
| 07/2022 - 06/2024 | ![]() | Cardiff City U18 | Defence | ||
| 07/2021 - 06/2022 | ![]() | Cardiff City U16 | Defence | ||
| 07/2020 - 06/2021 | ![]() | Cardiff City U15 | Defence |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Championship | 4 | 2 | 2 | 2 | 175 | - | - | - | - | - | - | » All matches | |
| FA Cup | 2 | 2 | - | 1 | 171 | - | - | - | - | - | - | » All matches | |
| League Cup | 2 | 2 | - | - | 180 | - | - | - | - | - | - | » All matches | |
| League One | 32 | 27 | 5 | 9 | 2.364 | 2 | - | 2 | 6 | - | - | » All matches | |
| EFL Trophy | 2 | 2 | - | 2 | 129 | - | - | - | - | - | - | » All matches | |
| Total | 42 | 35 | 7 | 14 | 3.019 | 2 | - | 2 | 6 | - | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | WC Qualifiers Europe | 4 | 4 | - | - | 390 | - | - | - | - | - | - | » All matches |
![]() | Friendlies | 2 | 1 | 1 | 2 | 94 | - | - | - | - | - | - | » All matches |
| Total | 6 | 5 | 1 | 2 | 484 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U21 Friendlies | 1 | 1 | - | - | 90 | - | - | - | 1 | - | - | » All matches |
| Total | 1 | 1 | - | - | 90 | - | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 Friendlies | 2 | 2 | - | 2 | 156 | - | - | - | 1 | - | - | » All matches |
![]() | U19 EURO Qualifiers | 6 | 5 | 1 | 1 | 475 | - | - | - | - | - | - | » All matches |
| Total | 8 | 7 | 1 | 3 | 631 | - | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U18 Friendlies | 3 | 3 | - | 2 | 229 | 1 | - | - | - | - | - | » All matches |
| Total | 3 | 3 | - | 2 | 229 | 1 | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U17 Friendlies | 1 | 1 | - | - | 90 | - | - | - | - | - | - | » All matches |
![]() | U17 EURO | 3 | 3 | - | 1 | 250 | - | - | - | - | - | - | » All matches |
![]() | U17 EURO Qualifiers | 6 | 6 | - | 1 | 528 | 1 | - | 1 | 1 | - | - | » All matches |
| Total | 10 | 10 | - | 2 | 868 | 1 | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U16 Friendlies | 5 | 5 | - | - | 480 | - | - | - | - | - | - | » All matches |
| Total | 5 | 5 | - | - | 480 | - | - | - | - | - | - |






