Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 08/2025 - 06/2027 | ![]() | Milton Keynes Dons | Defence | 12 | |
| 07/2023 - 08/2025 | ![]() | Derby County | Defence | 2 | |
| 07/2022 - 07/2023 | ![]() | Bristol City | Defence | 2 | |
| 07/2020 - 06/2022 | ![]() | Forest Green Rovers | Defence | 2 | |
| 08/2019 - 07/2020 | ![]() | Tranmere Rovers | Defence | 22 | |
| 06/2019 - 08/2019 | ![]() | West Bromwich Albion U21 | Defence | ||
| 01/2019 - 05/2019 | ![]() | Exeter City | Defence | 20 | |
| 08/2018 - 01/2019 | ![]() | Walsall FC | Defence | 28 | |
| 07/2018 - 08/2018 | ![]() | West Bromwich Albion U21 | Defence | ||
| 01/2018 - 06/2018 | ![]() | Exeter City | Defence | 22 | |
| 01/2018 - 01/2018 | ![]() | West Bromwich Albion U21 | Defence | ||
| 08/2017 - 01/2018 | ![]() | Exeter City | Defence | 22 | |
| 07/2016 - 08/2017 | ![]() | West Bromwich Albion | Defence | 49 | |
| 03/2016 - 08/2017 | ![]() | West Bromwich Albion U21 | Defence | ||
| 07/2015 - 06/2016 | ![]() | West Bromwich Albion U19 | Defence |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Championship | 38 | 26 | 12 | 7 | 2.526 | 2 | - | 1 | - | - | - | » All matches | |
| FA Cup | 8 | 7 | 1 | 1 | 609 | - | - | 1 | 1 | - | 1 | » All matches | |
| League Cup | 12 | 9 | 3 | 3 | 879 | 1 | - | 1 | - | - | - | » All matches | |
| League One | 67 | 42 | 25 | 15 | 4.015 | 2 | - | 3 | 7 | - | - | » All matches | |
| League Two | 108 | 92 | 16 | 15 | 8.304 | 5 | - | - | 11 | 2 | - | » All matches | |
| EFL Trophy | 8 | 8 | - | 4 | 625 | - | - | - | - | - | - | » All matches | |
| Playoffs | 2 | 2 | - | 1 | 171 | - | - | - | - | - | - | » All matches | |
| Total | 243 | 186 | 57 | 46 | 17.129 | 10 | - | 6 | 19 | 2 | 1 | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
| U21 Premier League 2 Div. 2 | 15 | 12 | 3 | 3 | 1.099 | 1 | - | - | 1 | - | - | » All matches | |
| Total | 15 | 12 | 3 | 3 | 1.099 | 1 | - | - | 1 | - | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | U17 Friendlies | 3 | 2 | 1 | - | 244 | - | - | - | - | - | - | » All matches |
![]() | U17 EURO Qualifiers | 2 | 2 | - | - | 180 | - | - | - | - | - | - | » All matches |
| Total | 5 | 4 | 1 | - | 424 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U16 Friendlies | 2 | 2 | - | - | 180 | 1 | - | - | - | - | - | » All matches |
| Total | 2 | 2 | - | - | 180 | 1 | - | - | - | - | - |












