Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Walsall | 2025/26 – 2026/27 | 32 | 2 | 2 |
| Airdrie United | 2023/24 – 2024/25 | 31 | 0 | 7 |
| Aberdeen | 2021/22 – 2023/24 | 4 | 0 | — |
| Arbroath | 2022/23 | 6 | 0 | 1 |
| Stirling Albion | 2021/22 | 14 | 0 | — |
| Aberdeen U21 | 2021 | 3 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 4 Aug 2023 | Aberdeen | Airdrie United | Free |
| 1 Jan 2023 | Arbroath | Aberdeen | — |
| 28 Jul 2022 | Aberdeen | Arbroath | Loan |
| 1 Jun 2022 | Stirling Albion | Aberdeen | — |
| 7 Jan 2022 | Aberdeen | Stirling Albion | Loan |
| 1 Jul 2025 | Airdrie United | Walsall | Free Transfer |
| 29 Jun 2025 | Airdrie United | Walsall | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Walsall | 2 | 1 | 125 | 0 | 0 | 0 | 0 | 7.05 |
| 2026/27 | League Two | Walsall | 11 | 10 | 897 | 0 | 1 | 0 | 0 | 7.05 |
| 2025/26 | EFL Trophy | Walsall | 1 | 1 | 65 | 0 | 0 | 1 | 0 | 6.20 |
| 2025/26 | League Two | Walsall | 18 | 17 | 1471 | 2 | 1 | 4 | 0 | 6.86 |
| 2024/25 | Championship | Airdrie United | 4 | 4 | 319 | — | 1 | 0 | 0 | 6.70 |
| 2024/25 | FA Cup | Airdrie United | 4 | 4 | 319 | — | 1 | 0 | 0 | 6.70 |
| 2024/25 | Challenge Cup | Airdrie United | 4 | 4 | 319 | — | 1 | 0 | 0 | 6.70 |
| 2024/25 | League Cup | Airdrie United | 4 | 4 | 319 | — | 1 | 0 | 0 | 6.70 |
| 2023/24 | Championship | Airdrie United | 4 | 4 | 319 | — | 1 | 0 | 0 | 6.70 |
| 2023/24 | Challenge Cup | Airdrie United | 4 | 4 | 319 | — | 1 | 0 | 0 | 6.70 |
| 2023/24 | League Cup | Airdrie United | 4 | 4 | 319 | — | 1 | 0 | 0 | 6.70 |
| 2023/24 | FA Cup | Airdrie United | 3 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2022/23 | Championship | Arbroath | 4 | 4 | 319 | — | 1 | 0 | 0 | 6.70 |
| 2022/23 | League Cup | Arbroath | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | Challenge Cup | Arbroath | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | League Cup | Aberdeen | 4 | 4 | 220 | 0 | — | 0 | 0 | — |
| 2021/22 | League Two | Stirling Albion | 13 | 12 | 1044 | 0 | — | 4 | 0 | — |
| 2021/22 | FA Cup | Stirling Albion | 1 | 1 | 86 | 0 | — | 0 | 0 | — |
| 2021 | Challenge Cup | Aberdeen U21 | 3 | 3 | 256 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Knee Injury | 20 Aug 2025 | Ongoing | 430 |
Trophies
| Competition | Season | Place |
|---|---|---|
| Challenge Cup (Scotland) | 2023/2024 | Winner |
