Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 08/2025 - 06/2027 | ![]() | St. Johnstone FC | Defence | 33 | |
| 07/2024 - 08/2025 | ![]() | Bohemian FC | Defence | 2 | |
| 07/2024 - 07/2024 | ![]() | Cheltenham Town | Defence | ||
| 02/2024 - 06/2024 | ![]() | Grimsby Town | Defence | 2 | |
| 07/2023 - 01/2024 | ![]() | Cheltenham Town | Defence | 22 | |
| 07/2019 - 07/2023 | ![]() | Dundee United | Defence | 2 | |
| 08/2018 - 06/2019 | ![]() | Ayr United | Defence | 27 | |
| 07/2018 - 08/2018 | ![]() | Heart of Midlothian | Defence | 28 | |
| 08/2017 - 06/2018 | ![]() | St. Mirren FC | Defence | 25 | |
| 07/2017 - 08/2017 | ![]() | Heart of Midlothian | Defence | 12 | |
| 10/2016 - 06/2017 | ![]() | Heart of Midlothian | Defence | 24 | |
| 09/2016 - 10/2016 | ![]() | Raith Rovers | Defence | 25 | |
| 07/2016 - 09/2016 | ![]() | Heart of Midlothian | Defence | 24 | |
| 07/2014 - 06/2016 | ![]() | Heart of Midlothian | Defence | 29 | |
| 05/2014 - 06/2014 | ![]() | Heart of Midlothian | Defence | 33 | |
| 07/2013 - 06/2014 | ![]() | Heart of Midlothian U18 | Defence |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Europa League Qual. | 3 | 3 | - | 1 | 237 | - | - | - | - | - | - | » All matches |
![]() | Conference League Qual. | 2 | 2 | - | - | 180 | - | - | - | - | - | - | » All matches |
| League Cup | 1 | 1 | - | 1 | 87 | - | - | - | - | - | - | » All matches | |
| League One | 13 | 12 | 1 | 4 | 1.034 | - | - | - | 4 | - | - | » All matches | |
| League Two | 11 | 10 | 1 | 1 | 898 | 1 | - | - | 2 | - | - | » All matches | |
| EFL Trophy | 1 | 1 | - | - | 90 | - | - | - | - | - | - | » All matches | |
| Premier Division | 23 | 17 | 6 | 3 | 1.601 | - | - | - | 3 | - | - | » All matches | |
| FAI Cup | 5 | 4 | 1 | 1 | 373 | - | - | - | - | - | - | » All matches | |
| Premiership | 115 | 98 | 17 | 7 | 9.295 | 4 | - | 6 | 19 | - | - | » All matches | |
| Championship | 119 | 117 | 2 | 12 | 10.409 | 6 | - | 6 | 13 | - | - | » All matches | |
| FA Cup | 13 | 11 | 2 | 1 | 1.088 | - | - | 2 | 2 | - | - | » All matches | |
| League Cup | 18 | 15 | 3 | 1 | 1.511 | 1 | - | - | 1 | - | - | » All matches | |
| Challenge Cup | 2 | 1 | 1 | - | 138 | 1 | - | - | - | - | - | » All matches | |
| Playoffs | 2 | 2 | - | - | 180 | - | - | - | 1 | - | - | » All matches | |
| Total | 328 | 294 | 34 | 32 | 27.121 | 13 | - | - | 45 | - | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | U21 EURO Qualifiers | 10 | 9 | 1 | 3 | 780 | - | - | - | 2 | - | - | » All matches |
| Total | 10 | 9 | 1 | 3 | 780 | - | - | - | 2 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 EURO Qualifiers | 1 | 1 | - | - | 90 | - | - | - | - | - | - | » All matches |
| Total | 1 | 1 | - | - | 90 | - | - | - | - | - | - |











