Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2026 - 06/2028 | ![]() | Ayr United | Defence | 8 | |
| 07/2026 - 07/2026 | ![]() | Rangers FC | Defence | ||
| 09/2025 - 06/2026 | ![]() | Ayr United | Defence | 20 | |
| 07/2025 - 09/2025 | ![]() | Rangers FC | Defence | 38 | |
| 02/2025 - 06/2025 | ![]() | Queen's Park FC | Defence | 38 | |
| 08/2022 - 02/2025 | ![]() | Rangers FC | Defence | 38 | |
| 10/2024 - 10/2024 | ![]() | Rangers FC (R) | Defence | 4 | |
| 07/2019 - 06/2023 | ![]() | Rangers FC U19 | Defence | ||
| 08/2022 - 08/2022 | ![]() | Rangers FC | Defence | 43 | |
| 07/2022 - 08/2022 | ![]() | Rangers FC | Defence | 38 | |
| 04/2022 - 06/2022 | ![]() | Rangers FC | Defence | 43 | |
| 07/2020 - 06/2022 | ![]() | Rangers FC (R) | Defence | ||
| 03/2022 - 04/2022 | ![]() | Rangers FC | Defence | 61 | |
| 11/2020 - 03/2022 | ![]() | Rangers FC | Defence | 43 | |
| 07/2020 - 06/2021 | ![]() | Rangers FC U18 | Defence | ||
| 07/2019 - 06/2020 | ![]() | Rangers FC U17 | Defence | ||
| 07/2018 - 06/2019 | ![]() | Rangers FC U16 | Defence |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Champions League | 5 | 3 | 2 | 1 | 347 | - | - | - | - | - | - | » All matches |
![]() | Europa League | 2 | 1 | 1 | 1 | 15 | - | - | - | - | - | - | » All matches |
| Premiership | 27 | 13 | 14 | 4 | 1.260 | - | - | 1 | 4 | - | - | » All matches | |
| Championship | 44 | 43 | 1 | 11 | 3.532 | 2 | - | 1 | 5 | - | 1 | » All matches | |
| FA Cup | 6 | 2 | 4 | 1 | 222 | - | - | - | - | - | - | » All matches | |
| League Cup | 6 | 3 | 3 | 1 | 335 | - | - | - | - | - | - | » All matches | |
| Challenge Cup | 5 | 5 | - | - | 480 | - | - | - | - | - | - | » All matches | |
| Total | 95 | 70 | 25 | 19 | 6.191 | 2 | - | - | 9 | - | 1 | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 Youth League | 5 | 5 | - | 3 | 360 | - | - | - | 1 | - | - | » All matches |
| Total | 5 | 5 | - | 3 | 360 | - | - | - | 1 | - | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | U21 Friendlies | 4 | 4 | - | 1 | 340 | - | - | - | 1 | - | - | » All matches |
![]() | U21 EURO Qualifiers | 8 | 7 | 1 | 2 | 594 | - | - | 1 | 1 | - | - | » All matches |
| Total | 12 | 11 | 1 | 3 | 934 | - | - | - | 2 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U17 Friendlies | 2 | 2 | - | 1 | 159 | - | - | - | - | - | - | » All matches |
![]() | U17 EURO Qualifiers | 4 | 4 | - | - | 360 | - | - | - | - | - | - | » All matches |
| Total | 6 | 6 | - | 1 | 519 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U16 Friendlies | 3 | 3 | - | - | 270 | - | - | - | - | - | - | » All matches |
| Total | 3 | 3 | - | - | 270 | - | - | - | - | - | - |










