Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2023 - 06/2028 | ![]() | Bristol City | Defence | 16 | |
| 09/2020 - 06/2023 | ![]() | Queens Park Rangers | Defence | 4 | |
| 07/2018 - 08/2020 | ![]() | Oxford United | Defence | 4 | |
| 01/2018 - 06/2018 | ![]() | Oxford United | Defence | 16 | |
| 01/2018 - 01/2018 | ![]() | Reading FC U21 | Defence | ||
| 08/2017 - 01/2018 | ![]() | Lincoln City | Defence | 15 | |
| 01/2017 - 07/2017 | ![]() | Reading FC U21 | Defence | ||
| 08/2016 - 01/2017 | ![]() | Cheltenham Town | Defence | 28 | |
| 03/2016 - 08/2016 | ![]() | Reading FC U21 | Defence | ||
| 05/2016 - 06/2016 | ![]() | Reading FC | Defence | 46 | |
| 08/2015 - 03/2016 | ![]() | Cheltenham Town | Defence | 24 | |
| 07/2015 - 08/2015 | ![]() | Reading FC U21 | Defence | ||
| 07/2013 - 06/2015 | ![]() | Reading FC U19 | Defence |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Championship | 238 | 225 | 13 | 6 | 20.368 | 15 | - | 5 | 43 | 1 | 2 | » All matches | |
| FA Cup | 23 | 23 | - | - | 2.190 | - | - | 1 | 2 | - | - | » All matches | |
| League Cup | 19 | 19 | - | 1 | 1.858 | 2 | - | - | 4 | - | - | » All matches | |
| League One | 86 | 85 | 1 | 4 | 7.537 | 2 | - | 5 | 21 | - | - | » All matches | |
| League Two | 38 | 37 | 1 | - | 3.336 | 2 | - | - | 9 | - | - | » All matches | |
| EFL Trophy | 3 | 3 | - | - | 330 | 1 | - | - | 1 | - | - | » All matches | |
| Playoffs | 4 | 4 | - | - | 345 | - | - | - | 1 | - | 1 | » All matches | |
| Total | 411 | 396 | 15 | 11 | 35.964 | 22 | - | 11 | 81 | 1 | 3 | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
| U21 Premier League 2 | 12 | 12 | - | 1 | 1.057 | 2 | - | - | 1 | - | - | » All matches | |
| Total | 12 | 12 | - | 1 | 1.057 | 2 | - | - | 1 | - | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | U19 EURO Qualifiers | 1 | - | 1 | - | 45 | - | - | - | - | - | - | » All matches |
| Total | 1 | - | 1 | - | 45 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U18 Friendlies | 1 | 1 | - | - | 90 | - | - | - | - | - | - | » All matches |
| Total | 1 | 1 | - | - | 90 | - | - | - | - | - | - |










