Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Wigan | 2025/26 – 2026/27 | 63 | 7 | 9 |
| Kilmarnock | 2021/22 – 2024/25 | 127 | 14 | 4 |
| Hibernian | 2016/17 – 2021/22 | 29 | 4 | — |
| Dunfermline | 2020/21 | 30 | 6 | — |
| Hibernian U21 | 2018 – 2019 | 2 | 1 | — |
| Scotland U19 | 2018 – 2019 | 3 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 1 Jul 2021 | Dunfermline | Hibernian | — |
| 17 Jun 2021 | Hibernian | Kilmarnock | Free |
| 25 Sept 2020 | Hibernian | Dunfermline | Loan |
| 1 Jul 2025 | Kilmarnock | Wigan | Free Transfer |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Wigan | 1 | 1 | 95 | 0 | 0 | 0 | 0 | 6.20 |
| 2026/27 | EFL Trophy | Wigan | 1 | 0 | 30 | 1 | 0 | 0 | 0 | 6.94 |
| 2026/27 | League One | Wigan | 9 | 6 | 592 | 0 | 0 | 0 | 1 | 6.32 |
| 2025/26 | League Cup | Wigan | 3 | 0 | 110 | 1 | 0 | 1 | 0 | 7.07 |
| 2025/26 | EFL Trophy | Wigan | 1 | 0 | 62 | 0 | 1 | 0 | 0 | 7.50 |
| 2025/26 | FA Cup | Wigan | 3 | 3 | 90 | 0 | 0 | 2 | 0 | 6.30 |
| 2025/26 | League One | Wigan | 45 | 42 | 3743 | 5 | 8 | 6 | 0 | 7.10 |
| 2024/25 | Premiership | Kilmarnock | 33 | 26 | 2381 | 4 | 3 | 4 | 0 | 7.06 |
| 2024/25 | League Cup | Kilmarnock | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2024/25 | FA Cup | Kilmarnock | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2024/25 | UEFA Europa League | Kilmarnock | 2 | 0 | 29 | 0 | — | 0 | 0 | — |
| 2024/25 | UEFA Europa Conference League | Kilmarnock | 2 | 0 | 65 | 0 | — | 1 | 0 | — |
| 2023/24 | Premiership | Kilmarnock | 15 | 1 | 128 | 0 | 1 | 0 | 0 | 6.70 |
| 2023/24 | League Cup | Kilmarnock | 4 | 4 | 295 | 2 | — | 1 | 0 | — |
| 2023/24 | FA Cup | Kilmarnock | 2 | 1 | 128 | 0 | — | 0 | 0 | — |
| 2022/23 | Premiership | Kilmarnock | 19 | 4 | 510 | 0 | — | 1 | 0 | 6.53 |
| 2022/23 | League Cup | Kilmarnock | 3 | 2 | 196 | 1 | — | 0 | 0 | — |
| 2022/23 | FA Cup | Kilmarnock | 3 | 1 | 73 | 0 | — | 0 | 0 | — |
| 2021/22 | Championship | Kilmarnock | 34 | 24 | 2218 | 3 | — | 0 | 0 | — |
| 2021/22 | League Cup | Kilmarnock | 4 | 4 | 360 | 2 | — | 0 | 0 | — |
| 2021/22 | FA Cup | Kilmarnock | 1 | 1 | 120 | 0 | — | 0 | 0 | — |
| 2021/22 | Challenge Cup | Kilmarnock | 3 | 3 | 242 | 2 | — | 0 | 0 | — |
| 2020/21 | Championship | Dunfermline | 23 | 12 | 1213 | 4 | — | 0 | 0 | — |
| 2020/21 | League Cup | Dunfermline | 6 | 4 | 354 | 2 | — | 1 | 0 | — |
| 2020/21 | FA Cup | Dunfermline | 1 | 0 | 60 | 0 | — | 0 | 0 | — |
| 2019/20 | Premiership | Hibernian | 7 | 0 | 141 | 0 | — | 0 | 0 | 6.53 |
| 2019 | Challenge Cup | Hibernian U21 | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2019/20 | League Cup | Hibernian | 4 | 0 | 134 | 1 | — | 0 | 0 | — |
| 2019/20 | FA Cup | Hibernian | 2 | 0 | 48 | 0 | — | 0 | 0 | — |
| 2018/19 | Premiership | Hibernian | 6 | 2 | 229 | 0 | — | 0 | 0 | — |
| 2018 | Challenge Cup | Hibernian U21 | 1 | 1 | 82 | 1 | — | 0 | 0 | — |
| 2018/19 | Scottish Cup | Hibernian | 1 | 0 | 21 | 0 | — | 0 | 0 | — |
| 2018 | UEFA U19 Championship | Scotland U19 | 3 | 1 | 98 | 0 | — | 1 | 0 | — |
| 2017/18 | Premiership | Hibernian | 2 | 0 | 19 | 0 | — | 0 | 0 | — |
| 2017/18 | Challenge Cup | 1 | 1 | 90 | 1 | — | 0 | 0 | — | |
| 2017/18 | League Cup | Hibernian | 4 | 2 | 205 | 2 | — | 0 | 0 | — |
| 2016/17 | Championship | Hibernian | 2 | 1 | 102 | 0 | — | 0 | 0 | — |
| 2016/17 | Challenge Cup | Hibernian | 1 | 1 | 90 | 1 | — | 0 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
| Competition | Season | Place |
|---|---|---|
| Championship (Scotland) | 2021/2022 | Winner |
| Championship (Scotland) | 2016/2017 | Winner |
| FA Youth Cup (Scotland) | 2017/2018 | Winner |
| Development League (Scotland) | 2017/2018 | Winner |
