Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 08/2026 - 06/2027 | ![]() | Burton Albion | Defence | 31 | |
| 07/2023 - 08/2026 | ![]() | AFC Wimbledon | Defence | 31 | |
| 07/2022 - 06/2023 | ![]() | Stockport County | Defence | 31 | |
| 07/2020 - 06/2022 | ![]() | Torquay United | Defence | 31 | |
| 05/2020 - 06/2020 | ![]() | Swansea City U21 | Defence | ||
| 07/2019 - 05/2020 | ![]() | Torquay United | Defence | 6 | |
| 10/2017 - 06/2019 | ![]() | Swansea City U21 | Defence | ||
| 07/2016 - 06/2018 | ![]() | 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 | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FA Cup | 9 | 8 | 1 | 3 | 730 | - | - | - | 1 | - | - | » All matches | |
| League Cup | 7 | 7 | - | - | 690 | - | - | - | 2 | - | - | » All matches | |
| League One | 30 | 25 | 5 | 9 | 2.157 | - | - | 1 | 4 | 2 | - | » All matches | |
| League Two | 83 | 75 | 8 | 8 | 6.666 | 5 | - | - | 19 | 1 | - | » All matches | |
| National League | 89 | 80 | 9 | 6 | 7.083 | 6 | - | - | 18 | - | 1 | » All matches | |
| EFL Trophy | 10 | 8 | 2 | 7 | 522 | 2 | - | - | 1 | - | - | » All matches | |
| Playoffs | 6 | 6 | - | 1 | 571 | - | - | 1 | 1 | - | - | » All matches | |
| Total | 234 | 209 | 25 | 34 | 18.419 | 13 | - | 2 | 46 | 3 | 1 | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U21 Premier League International Cup | 2 | 2 | - | - | 180 | - | - | - | - | - | - | » All matches |
| U21 Premier League 2 | 15 | 13 | 2 | - | 1.181 | 1 | - | - | 4 | 1 | - | » All matches | |
| Total | 17 | 15 | 2 | - | 1.361 | 1 | - | - | 4 | 1 | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | U21 EURO Qualifiers | 1 | - | 1 | - | 4 | - | - | - | - | - | - | » All matches |
| Total | 1 | - | 1 | - | 4 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 Friendlies | 2 | 1 | 1 | - | 120 | - | - | - | 1 | - | - | » All matches |
![]() | U19 EURO Qualifiers | 2 | 2 | - | - | 180 | - | - | - | 1 | - | - | » All matches |
| Total | 4 | 3 | 1 | - | 300 | - | - | - | 2 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U16 Friendlies | 2 | 1 | 1 | 1 | 91 | - | - | - | - | - | - | » All matches |
| Total | 2 | 1 | 1 | 1 | 91 | - | - | - | - | - | - |











