Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 09/2026 - 06/2027 | ![]() | St. Johnstone FC | Midfield | 30 | |
| 07/2026 - 09/2026 | ![]() | Swansea City U21 | Midfield | ||
| 01/2026 - 06/2026 | ![]() | Dundee FC | Midfield | 24 | |
| 01/2026 - 01/2026 | ![]() | Swansea City U21 | Midfield | ||
| 09/2025 - 01/2026 | ![]() | Bristol Rovers | Midfield | 14 | |
| 07/2025 - 08/2025 | ![]() | Swansea City U21 | Midfield | ||
| 07/2024 - 06/2025 | ![]() | Swindon Town | Midfield | 7 | |
| 07/2024 - 07/2024 | ![]() | Swansea City | Midfield | ||
| 01/2024 - 07/2024 | ![]() | Swansea City U21 | Midfield | 8 | |
| 08/2023 - 01/2024 | ![]() | Stockport County | Midfield | 22 | |
| 07/2022 - 08/2023 | ![]() | Swansea City U21 | Midfield | ||
| 04/2022 - 06/2023 | ![]() | Swansea City | Midfield | 48 | |
| 12/2019 - 06/2023 | ![]() | Swansea City U18 | Midfield | ||
| 07/2019 - 06/2020 | ![]() | Swansea City U17 | Midfield |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FA Cup | 6 | 3 | 3 | 3 | 392 | 2 | - | - | - | - | - | » All matches | |
| League Cup | 2 | 1 | 1 | 1 | 112 | - | - | - | - | - | - | » All matches | |
| League Two | 63 | 40 | 23 | 22 | 3.545 | 4 | - | - | 6 | - | - | » All matches | |
| EFL Trophy | 6 | 6 | - | 3 | 456 | 1 | - | - | - | - | - | » All matches | |
| Premiership | 22 | 15 | 7 | 8 | 1.396 | 2 | - | - | - | - | - | » All matches | |
| FA Cup | 1 | 1 | - | 1 | 71 | - | - | - | - | - | - | » All matches | |
| League Cup | 1 | 1 | - | - | 90 | - | - | - | - | - | - | » All matches | |
| Total | 101 | 67 | 34 | 38 | 6.062 | 9 | - | - | 6 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
| U18 Premier League | 2 | 1 | 1 | - | 110 | 1 | - | - | - | - | - | » All matches | |
| U18 FA Youth Cup | 1 | 1 | - | - | 90 | - | - | - | - | - | - | » All matches | |
| Total | 3 | 2 | 1 | - | 200 | 1 | - | - | - | - | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | U21 Friendlies | 6 | 3 | 3 | 2 | 332 | - | - | - | - | - | - | » All matches |
![]() | U21 EURO Qualifiers | 11 | 8 | 3 | 6 | 665 | 3 | - | - | 1 | - | - | » All matches |
| Total | 17 | 11 | 6 | 8 | 997 | 3 | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 EURO Qualifiers | 3 | 3 | - | 1 | 254 | - | - | - | 1 | - | - | » All matches |
| Total | 3 | 3 | - | 1 | 254 | - | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U18 Friendlies | 5 | 4 | 1 | 1 | 371 | 1 | - | - | - | - | - | » All matches |
| Total | 5 | 4 | 1 | 1 | 371 | 1 | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U16 Friendlies | 6 | 5 | 1 | 2 | 423 | 4 | - | - | - | - | - | » All matches |
| Total | 6 | 5 | 1 | 2 | 423 | 4 | - | - | - | - | - |











