Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Walsall | 2026/27 | 14 | 1 | 1 |
| Barnsley | 2023/24 – 2025/26 | 6 | 1 | — |
| Barrow | 2024/25 | 43 | 5 | 1 |
| Morecambe | 2024/25 | 19 | 3 | 0 |
| Kilmarnock | 2023/24 | 22 | 0 | 1 |
| Oldham | 2023/24 | 14 | 0 | — |
| Solihull Moors | 2021/22 – 2022/23 | 88 | 37 | — |
| Chesterfield | 2022/23 | 14 | 7 | — |
| Cambridge | 2019/20 – 2021/22 | 33 | 2 | — |
| Weymouth | 2020/21 | 25 | 12 | — |
| Morton | 2018/19 | 12 | 0 | — |
| Rangers | 2018/19 | 0 | 0 | — |
| Rangers U21 | 2018 | 1 | 0 | — |
| Stenhousemuir | 2017/18 | 6 | 3 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 27 Jun 2024 | Barnsley | Barrow | Loan |
| 1 Jun 2024 | Oldham | Barnsley | — |
| 23 Jan 2024 | Barnsley | Oldham | Loan |
| 20 Jan 2024 | Kilmarnock | Barnsley | — |
| 1 Sept 2023 | Barnsley | Kilmarnock | Loan |
| 24 Jul 2023 | Solihull Moors | Barnsley | Free |
| 1 Jun 2023 | Chesterfield | Solihull Moors | — |
| 7 Mar 2023 | Solihull Moors | Chesterfield | Loan |
| 13 Aug 2021 | Cambridge United | Solihull Moors | — |
| 1 Jun 2021 | Weymouth | Cambridge United | — |
| 23 Jan 2021 | Cambridge United | Weymouth | Loan |
| 29 Jul 2019 | Rangers | Cambridge United | — |
| 1 Jul 2018 | Stenhousemuir | Rangers | — |
| 1 Apr 2018 | Rangers | Stenhousemuir | Loan |
| 15 Jan 2025 | Barrow | Barnsley | Back from Loan |
| 1 Jul 2025 | Morecambe | Barnsley | Back from Loan |
| 31 Jan 2025 | Barnsley | Morecambe | Loan |
| 8 Aug 2025 | Barnsley | Southend | Loan |
| 29 Jun 2026 | Barnsley | Walsall | Free agent |
| 29 Jun 2026 | Southend | Barnsley | Return from loan |
| 30 Jun 2026 | Barnsley | Walsall | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Walsall | 2 | 1 | 85 | 0 | 0 | 0 | 0 | 6.40 |
| 2026/27 | EFL Trophy | Walsall | 1 | 1 | 62 | 0 | 0 | 0 | 0 | 6.19 |
| 2026/27 | League Two | Walsall | 11 | 5 | 436 | 1 | 1 | 0 | 0 | 6.67 |
| 2024/25 | League Two | Barrow | 18 | 6 | 612 | 3 | 0 | 4 | 0 | 6.58 |
| 2024/25 | League Two | Morecambe | 19 | 12 | 639 | 3 | 0 | 4 | 0 | 6.58 |
| 2024/25 | FA Cup | Barrow | 19 | 9 | 224 | — | 1 | 0 | 0 | 6.44 |
| 2024/25 | League Cup | Barrow | 3 | 1 | 8 | — | 0 | 0 | 0 | 6.20 |
| 2024/25 | EFL Trophy | Barrow | 3 | 2 | 224 | 2 | 0 | 1 | 0 | 6.97 |
| 2023/24 | League One | Barnsley | 5 | 3 | 133 | 1 | — | 0 | 0 | 6.55 |
| 2023/24 | Premiership | Kilmarnock | 19 | 9 | 224 | — | 1 | 0 | 0 | 6.44 |
| 2023/24 | National League | Oldham | 14 | 7 | 757 | 0 | — | 1 | 0 | — |
| 2023/24 | League Cup | Kilmarnock | 3 | 1 | 8 | — | 0 | 0 | 0 | 6.20 |
| 2023/24 | League Cup | Barnsley | 1 | 1 | 66 | 0 | — | 0 | 0 | 6.90 |
| 2022/23 | National League | Chesterfield | 14 | 11 | 924 | 7 | — | 0 | 0 | — |
| 2022/23 | National League | Solihull Moors | 34 | 29 | 2617 | 13 | — | 5 | 0 | — |
| 2022/23 | FA Cup | Solihull Moors | 2 | 2 | 163 | 1 | — | 0 | 0 | — |
| 2022/23 | FA Trophy | Solihull Moors | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2021/22 | National League | Solihull Moors | 45 | 37 | 3278 | 20 | — | 4 | 0 | — |
| 2021/22 | FA Trophy | Solihull Moors | 4 | 4 | 346 | 3 | — | 0 | 0 | — |
| 2021/22 | FA Cup | Solihull Moors | 2 | 1 | 125 | 0 | — | 0 | 0 | 7.00 |
| 2020/21 | National League | Weymouth | 25 | 25 | 2157 | 12 | — | 5 | 0 | — |
| 2020/21 | League Two | Cambridge | 1 | 0 | 11 | 0 | — | 0 | 0 | 6.20 |
| 2020/21 | EFL Trophy | Cambridge | 3 | 2 | 189 | 0 | — | 0 | 0 | 6.97 |
| 2020/21 | FA Cup | Cambridge | 1 | 0 | 14 | 0 | — | 0 | 0 | — |
| 2019/20 | League Two | Cambridge | 22 | 2 | 381 | 2 | — | 0 | 0 | 6.51 |
| 2019/20 | League Cup | Cambridge | 2 | 2 | 144 | 0 | — | 0 | 0 | 6.70 |
| 2019/20 | EFL Trophy | Cambridge | 3 | 3 | 224 | 0 | — | 0 | 0 | — |
| 2019/20 | FA Cup | Cambridge | 1 | 0 | 14 | 0 | — | 0 | 0 | — |
| 2018/19 | Championship | Morton | 12 | 5 | 521 | 0 | — | 0 | 0 | — |
| 2018 | Challenge Cup | Rangers U21 | 1 | 0 | 20 | 0 | — | 0 | 0 | — |
| 2017/18 | League Two | Stenhousemuir | 6 | 6 | 500 | 3 | — | 0 | 0 | — |
| 2017/18 | Challenge Cup | 1 | 1 | 61 | 0 | — | 0 | 0 | — | |
| 2016/17 | Challenge Cup | 2 | 0 | 61 | 0 | — | 0 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
