Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 08/2025 - 06/2029 | ![]() | Cardiff City | Defence | 4 | |
| 07/2024 - 08/2025 | ![]() | AJ Auxerre | Defence | 3 | |
| 07/2023 - 07/2024 | ![]() | Luton Town | Defence | 2 | |
| 07/2021 - 06/2023 | ![]() | Luton Town | Defence | 32 | |
| 01/2021 - 06/2021 | ![]() | Rochdale AFC | Defence | 3 | |
| 01/2021 - 01/2021 | ![]() | Luton Town | Defence | 38 | |
| 12/2020 - 01/2021 | ![]() | Yeovil Town | Defence | 17 | |
| 11/2020 - 11/2020 | ![]() | Luton Town | Defence | ||
| 01/2020 - 07/2020 | ![]() | Reading FC | Defence | 34 | |
| 01/2020 - 06/2020 | ![]() | Reading FC U21 | Defence | ||
| 12/2019 - 01/2020 | ![]() | Yeovil Town | Defence | 30 | |
| 08/2019 - 12/2019 | ![]() | Reading FC | Defence | 34 | |
| 04/2019 - 12/2019 | ![]() | Reading FC U21 | Defence | ||
| 01/2019 - 03/2019 | ![]() | Bristol Rovers | Defence | 18 | |
| 12/2018 - 01/2019 | ![]() | Reading FC U21 | Defence | ||
| 12/2018 - 01/2019 | ![]() | Reading FC | Defence | 47 | |
| 10/2018 - 12/2018 | ![]() | Aldershot Town | Defence | 24 | |
| 03/2015 - 10/2018 | ![]() | Reading FC U21 | Defence | ||
| 07/2014 - 06/2016 | ![]() | Reading FC U18 | Defence |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Premier League | 21 | 21 | - | 2 | 1.848 | 2 | - | - | 3 | - | - | » All matches | |
| Championship | 67 | 53 | 14 | 13 | 4.728 | 2 | - | - | 7 | 1 | 2 | » All matches | |
| FA Cup | 13 | 12 | 1 | - | 1.165 | - | - | - | 2 | - | - | » All matches | |
| League Cup | 5 | 3 | 2 | - | 331 | - | - | - | 1 | - | - | » All matches | |
| League One | 41 | 39 | 2 | 11 | 3.282 | 1 | - | - | 4 | - | 1 | » All matches | |
| National League | 18 | 17 | 1 | 1 | 1.505 | - | - | - | 3 | - | - | » All matches | |
| EFL Trophy | 2 | 2 | - | 2 | 118 | - | - | - | - | - | - | » All matches | |
| Playoffs | 3 | 3 | - | 1 | 292 | 1 | - | - | - | - | - | » All matches | |
| Ligue 1 | 22 | 22 | - | 4 | 1.792 | 1 | - | - | 1 | - | 1 | » All matches | |
| Coupe de France | 1 | 1 | - | - | 90 | - | - | - | - | - | - | » All matches | |
| Total | 193 | 173 | 20 | 34 | 15.151 | 7 | - | - | 21 | 1 | 4 | ||
| 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 | 10 | 8 | 2 | 1 | 741 | 1 | - | - | - | - | - | » All matches | |
| U21 Premier League 2 Div. 2 | 37 | 37 | - | 1 | 3.232 | 7 | 3 | - | 5 | - | 1 | » All matches | |
| Total | 49 | 47 | 2 | 2 | 4.153 | 8 | 3 | - | 5 | - | 1 |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Africa Cup Qual. | 2 | 2 | - | 1 | 136 | - | - | - | - | - | - | » All matches |
| Total | 2 | 2 | - | 1 | 136 | - | - | - | - | - | - |












