Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2024 - 06/2027 | ![]() | Wycombe Wanderers | Defence | 3 | |
| 07/2020 - 07/2024 | ![]() | Milton Keynes Dons | Defence | 21 | |
| 07/2018 - 07/2020 | ![]() | Ayr United | Defence | 3 | |
| 07/2017 - 06/2018 | ![]() | Aberdeen FC | Defence | 21 | |
| 08/2016 - 06/2017 | ![]() | Dumbarton FC | Defence | 12 | |
| 07/2016 - 07/2016 | ![]() | Aberdeen FC | Defence | 28 | |
| 07/2015 - 06/2016 | ![]() | Aberdeen FC | Defence | 29 | |
| 05/2015 - 06/2015 | ![]() | Aberdeen FC | Defence | 37 |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FA Cup | 12 | 12 | - | 5 | 991 | 1 | - | 1 | 2 | - | - | » All matches | |
| League Cup | 8 | 6 | 2 | 2 | 604 | - | - | - | 2 | - | - | » All matches | |
| League One | 193 | 178 | 15 | 25 | 15.702 | 10 | - | 16 | 46 | - | 1 | » All matches | |
| League Two | 38 | 37 | 1 | 4 | 3.299 | 3 | - | - | 9 | 1 | - | » All matches | |
| EFL Trophy | 9 | 7 | 2 | 3 | 625 | - | - | 1 | 3 | - | - | » All matches | |
| Playoffs | 4 | 4 | - | 1 | 356 | - | - | - | 1 | - | - | » All matches | |
| Premiership | 4 | - | 4 | - | 33 | - | - | - | - | - | - | » All matches | |
| Championship | 94 | 92 | 2 | 2 | 8.197 | 4 | - | 2 | 21 | 1 | 1 | » All matches | |
| FA Cup | 4 | 3 | 1 | - | 277 | - | - | - | - | - | - | » All matches | |
| League Cup | 10 | 10 | - | - | 930 | - | - | 5 | - | - | - | » All matches | |
| Playoffs | 2 | 2 | - | - | 180 | - | - | - | 1 | - | - | » All matches | |
| Total | 378 | 351 | 27 | 42 | 31.194 | 18 | - | 25 | 85 | 2 | 2 |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | U21 Friendlies | 5 | 3 | 2 | 1 | 298 | - | - | - | 1 | - | - | » All matches |
![]() | U21 EURO Qualifiers | 10 | 9 | 1 | - | 814 | - | - | - | - | - | - | » All matches |
| Total | 15 | 12 | 3 | 1 | 1.112 | - | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 EURO Qualifiers | 4 | 3 | 1 | 1 | 292 | - | - | - | 1 | - | - | » All matches |
| Total | 4 | 3 | 1 | 1 | 292 | - | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U17 EURO | 3 | 3 | - | - | 270 | - | - | - | 1 | - | - | » All matches |
| Total | 3 | 3 | - | - | 270 | - | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U16 Friendlies | 1 | - | 1 | - | 14 | - | - | - | - | - | - | » All matches |
| Total | 1 | - | 1 | - | 14 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U15 Friendlies | 1 | 1 | - | - | 90 | - | - | - | - | - | - | » All matches |
| Total | 1 | 1 | - | - | 90 | - | - | - | - | - | - |







