Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2026 - 06/2027 | ![]() | Penybont FC | Defence | 17 | |
| 07/2025 - 06/2026 | ![]() | Briton Ferry Llansawel AFC | Defence | 15 | |
| 07/2019 - 06/2025 | ![]() | Penybont FC | Defence | 5 | |
| 01/2019 - 06/2019 | ![]() | Dundee FC | Defence | 25 | |
| 08/2018 - 01/2019 | ![]() | Partick Thistle | Defence | 30 | |
| 05/2018 - 08/2018 | ![]() | Dundee FC | Defence | 25 | |
| 01/2018 - 06/2018 | ![]() | Dundee FC (R) | Defence | ||
| 07/2017 - 01/2018 | ![]() | Colchester United U21 | Defence | ||
| 07/2016 - 07/2017 | ![]() | Swansea City U18 | Defence | ||
| 07/2015 - 06/2016 | ![]() | Swansea City U17 | Defence | ||
| 07/2014 - 06/2015 | ![]() | Swansea City U16 | Defence | ||
| 07/2013 - 06/2014 | ![]() | Swansea City U15 | Defence |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Conference League Qual. | 2 | 1 | 1 | 1 | 110 | - | - | - | - | - | - | » All matches |
| Premiership | 2 | 1 | 1 | - | 107 | - | - | - | - | - | - | » All matches | |
| Championship | 4 | 3 | 1 | 1 | 269 | - | - | - | - | - | - | » All matches | |
| Premier League | 161 | 153 | 8 | 18 | 13.318 | 5 | - | 1 | 18 | 1 | 1 | » All matches | |
| Welsh Cup | 1 | 1 | - | - | 90 | 1 | - | - | - | - | - | » All matches | |
| Total | 170 | 159 | 11 | 20 | 13.894 | 6 | - | - | 18 | 1 | 1 |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | U17 EURO Qualifiers | 3 | 3 | - | - | 270 | - | - | - | - | - | - | » All matches |
| Total | 3 | 3 | - | - | 270 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U16 Friendlies | 3 | 3 | - | - | 270 | 1 | - | - | - | - | - | » All matches |
| Total | 3 | 3 | - | - | 270 | 1 | - | - | - | - | - |












