Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2026 - 06/2027 | ![]() | Cheltenham Town | Defence | 25 | |
| 07/2020 - 06/2026 | ![]() | Exeter City | Defence | 26 | |
| 07/2017 - 06/2020 | ![]() | Exeter City | Defence | 2 | |
| 07/2016 - 06/2017 | ![]() | Exeter City | Defence | 31 | |
| 07/2014 - 06/2016 | ![]() | Reading FC | Defence | 26 | |
| 07/2012 - 06/2016 | ![]() | Reading FC U21 | Defence | ||
| 01/2014 - 06/2014 | ![]() | Reading FC | Defence | 47 | |
| 01/2012 - 06/2012 | ![]() | Bray Wanderers | Defence | 22 |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FA Cup | 22 | 21 | 1 | 3 | 1.903 | 1 | 1 | - | 9 | - | - | » All matches | |
| League Cup | 14 | 13 | 1 | 5 | 1.117 | 1 | - | 1 | 3 | - | - | » All matches | |
| League One | 143 | 132 | 11 | 15 | 11.826 | 4 | - | 2 | 31 | - | - | » All matches | |
| League Two | 242 | 230 | 12 | 10 | 20.756 | 17 | 6 | - | 29 | - | - | » All matches | |
| EFL Trophy | 18 | 14 | 4 | 5 | 1.280 | 1 | - | 1 | 3 | - | - | » All matches | |
| Playoffs | 8 | 7 | 1 | 1 | 686 | - | - | - | - | - | - | » All matches | |
| Total | 447 | 417 | 30 | 39 | 37.568 | 24 | 7 | - | 75 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
| U21 Premier League 2 | 11 | 11 | - | - | 990 | - | - | - | 1 | - | - | » All matches | |
| Total | 11 | 11 | - | - | 990 | - | - | - | 1 | - | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | U21 EURO Qualifiers | 1 | - | 1 | - | 30 | - | - | - | - | - | - | » All matches |
| Total | 1 | - | 1 | - | 30 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 EURO Qualifiers | 6 | 6 | - | - | 540 | - | - | - | 2 | - | - | » All matches |
| Total | 6 | 6 | - | - | 540 | - | - | - | 2 | - | - |






