Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2025 - 06/2027 | ![]() | Newport County | Defence | 2 | |
| 07/2024 - 06/2025 | ![]() | Newport County | Defence | 26 | |
| 01/2023 - 07/2024 | ![]() | Taunton Town | Defence | ||
| 08/2022 - 01/2023 | ![]() | Sligo Rovers | Defence | 5 | |
| 01/2022 - 08/2022 | ![]() | Swansea City U21 | Defence | ||
| 02/2021 - 12/2021 | ![]() | Waterford FC | Defence | 3 | |
| 07/2020 - 02/2021 | ![]() | Swansea City | Defence | 38 | |
| 01/2019 - 02/2021 | ![]() | Swansea City U21 | Defence | ||
| 07/2017 - 06/2019 | ![]() | Swansea City U18 | Defence | ||
| 07/2016 - 06/2017 | ![]() | Swansea City U17 | Defence |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FA Cup | 4 | 3 | 1 | 1 | 283 | 1 | - | - | 1 | - | - | » All matches | |
| League Cup | 4 | 2 | 2 | 1 | 252 | - | - | - | - | - | - | » All matches | |
| League Two | 71 | 57 | 14 | 21 | 5.104 | 4 | - | - | 18 | - | - | » All matches | |
| EFL Trophy | 8 | 5 | 3 | 2 | 520 | - | - | - | 3 | - | - | » All matches | |
| Premier Division | 32 | 30 | 2 | 6 | 2.588 | - | - | - | 9 | - | - | » All matches | |
| FAI Cup | 4 | 3 | 1 | - | 310 | 1 | - | - | - | - | - | » All matches | |
| Playoffs 1/2 | 1 | 1 | - | - | 90 | - | - | - | 1 | - | - | » All matches | |
| Total | 124 | 101 | 23 | 31 | 9.147 | 6 | - | - | 32 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U21 Premier League International Cup | 3 | 3 | - | - | 270 | - | - | - | - | - | - | » All matches |
| U21 Premier League 2 Div. 2 | 16 | 16 | - | - | 1.440 | 1 | - | - | 3 | - | - | » All matches | |
| Total | 19 | 19 | - | - | 1.710 | 1 | - | - | 3 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
| U18 Premier League | 21 | 20 | 1 | 1 | 1.838 | 2 | - | - | 4 | - | - | » All matches | |
| Total | 21 | 20 | 1 | 1 | 1.838 | 2 | - | - | 4 | - | - |
International matches
| 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 | ||
![]() | U19 Friendlies | 3 | 3 | - | - | 270 | 1 | - | - | - | - | - | » All matches |
![]() | U19 EURO Qualifiers | 4 | 3 | 1 | - | 282 | - | - | - | 1 | - | - | » All matches |
| Total | 7 | 6 | 1 | - | 552 | 1 | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U17 EURO Qualifiers | 2 | 2 | - | - | 180 | - | - | - | 2 | - | - | » All matches |
| Total | 2 | 2 | - | - | 180 | - | - | - | 2 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U16 Friendlies | 2 | 2 | - | - | 180 | - | - | - | - | - | - | » All matches |
| Total | 2 | 2 | - | - | 180 | - | - | - | - | - | - |










