Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2025 - 06/2029 | ![]() | Heart of Midlothian | Defence | 5 | |
| 01/2025 - 06/2025 | ![]() | Heart of Midlothian | Defence | 30 | |
| 07/2024 - 01/2025 | ![]() | Rotherham United | Defence | 30 | |
| 08/2023 - 06/2024 | ![]() | Barnsley FC | Defence | 26 | |
| 07/2023 - 08/2023 | ![]() | Rotherham United | Defence | 5 | |
| 01/2023 - 06/2023 | ![]() | Leyton Orient | Defence | 33 | |
| 07/2022 - 01/2023 | ![]() | Rotherham United | Defence | 5 | |
| 01/2020 - 06/2022 | ![]() | St. Johnstone FC | Defence | 4 | |
| 07/2018 - 01/2020 | ![]() | Inverness CT | Defence | 6 | |
| 01/2018 - 06/2018 | ![]() | Alloa Athletic | Defence | 5 | |
| 12/2017 - 01/2018 | ![]() | Celtic FC | Defence | 50 | |
| 09/2017 - 12/2017 | ![]() | St. Mirren FC | Defence | 26 | |
| 07/2017 - 09/2017 | ![]() | Celtic FC | Defence | 50 | |
| 01/2017 - 06/2017 | ![]() | Inverness CT | Defence | 12 | |
| 07/2016 - 01/2017 | ![]() | Celtic FC | Defence | 37 | |
| 07/2013 - 01/2017 | ![]() | Celtic FC U19 | Defence | ||
| 07/2012 - 06/2014 | ![]() | Celtic FC U17 | Defence |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Champions League Qual. | 2 | 1 | 1 | - | 101 | - | - | - | - | - | - | » All matches |
![]() | Europa League Qual. | 4 | 3 | 1 | - | 315 | - | - | - | - | - | - | » All matches |
![]() | Conference League | 3 | 3 | - | - | 270 | - | - | 1 | 1 | - | - | » All matches |
![]() | Conference League Qual. | 4 | 4 | - | - | 390 | - | - | - | - | - | - | » All matches |
| Championship | 8 | 1 | 7 | 1 | 191 | - | - | - | - | - | - | » All matches | |
| FA Cup | 3 | 2 | 1 | - | 196 | - | - | 1 | 1 | - | - | » All matches | |
| League Cup | 6 | 6 | - | - | 570 | 1 | - | - | - | - | - | » All matches | |
| League One | 42 | 37 | 5 | 7 | 3.218 | - | - | - | 9 | - | - | » All matches | |
| League Two | 8 | 6 | 2 | 1 | 608 | - | - | - | - | - | - | » All matches | |
| EFL Trophy | 4 | 2 | 2 | - | 192 | - | - | 1 | - | - | - | » All matches | |
| Premiership | 135 | 116 | 19 | 7 | 10.490 | 2 | - | 1 | 13 | 1 | - | » All matches | |
| Championship | 48 | 44 | 4 | 2 | 4.023 | 2 | - | 1 | 5 | - | - | » All matches | |
| FA Cup | 18 | 18 | - | 2 | 1.729 | - | - | - | 1 | - | - | » All matches | |
| League Cup | 17 | 15 | 2 | - | 1.437 | 1 | - | 1 | 2 | - | - | » All matches | |
| Playoffs | 9 | 9 | - | - | 840 | - | - | - | - | - | - | » All matches | |
| Total | 311 | 267 | 44 | 20 | 24.570 | 6 | - | - | 32 | 1 | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 Youth League | 10 | 10 | - | 1 | 906 | - | - | - | - | - | - | » All matches |
| Total | 10 | 10 | - | 1 | 906 | - | - | - | - | - | - |












