Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2026 - 06/2027 | ![]() | Queen's Park FC | Defence | 5 | |
| 01/2026 - 06/2026 | ![]() | Queen's Park FC | Defence | 35 | |
| 07/2025 - 01/2026 | ![]() | Hamilton Academical | Defence | ||
| 01/2025 - 06/2025 | ![]() | Hamilton Academical | Defence | 15 | |
| 07/2024 - 01/2025 | ![]() | Ross County FC | Defence | 5 | |
| 08/2023 - 06/2024 | ![]() | Dundee FC | Defence | 12 | |
| 07/2020 - 08/2023 | ![]() | Motherwell FC | Defence | 4 | |
| 07/2019 - 06/2020 | ![]() | Livingston FC | Defence | 5 | |
| 07/2018 - 06/2019 | ![]() | Livingston FC | Defence | 3 | |
| 07/2014 - 06/2018 | ![]() | Greenock Morton FC | Defence | 5 | |
| 12/2012 - 06/2014 | ![]() | Airdrieonians FC | Defence | ||
| 11/2012 - 12/2012 | ![]() | Clyde FC | Defence | ||
| 07/2011 - 11/2011 | ![]() | Airdrieonians FC | Defence |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Europa League Qual. | 3 | 3 | - | - | 300 | - | - | - | 2 | - | - | » All matches |
![]() | Conference League Qual. | 2 | 2 | - | - | 180 | - | - | - | - | - | - | » All matches |
| Premiership | 148 | 126 | 22 | 16 | 11.326 | 5 | - | 5 | 21 | - | 1 | » All matches | |
| Championship | 116 | 99 | 17 | 7 | 8.875 | 3 | - | - | 20 | - | 1 | » All matches | |
| FA Cup | 18 | 12 | 6 | 3 | 1.194 | 1 | - | - | 5 | - | - | » All matches | |
| League Cup | 38 | 36 | 2 | 5 | 3.288 | 4 | - | 2 | 3 | 1 | 1 | » All matches | |
| Challenge Cup | 2 | 2 | - | - | 210 | - | - | - | - | - | - | » All matches | |
| Playoffs | 2 | 2 | - | - | 180 | - | - | - | - | - | - | » All matches | |
| Total | 329 | 282 | 47 | 31 | 25.553 | 13 | - | - | 51 | 1 | 3 |










