Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Oldham | 2025/26 – 2026/27 | 32 | 6 | 2 |
| Tranmere | 2021/22 – 2024/25 | 131 | 22 | 12 |
| Sunderland | 2020/21 – 2022/23 | 2 | 1 | — |
| Hartlepool | 2016/17 – 2019/20 | 68 | 13 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 25 Jan 2022 | Sunderland | Tranmere | Free |
| 7 Jan 2022 | Tranmere | Sunderland | — |
| 3 Sept 2021 | Sunderland | Tranmere | Loan |
| 1 Jul 2025 | Tranmere | Oldham | Free Transfer |
| 29 Jun 2025 | Tranmere | Oldham | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Oldham | 1 | 0 | 23 | 0 | 0 | 0 | 0 | 6.30 |
| 2026/27 | EFL Trophy | Oldham | 1 | 0 | 28 | 1 | 1 | 0 | 0 | 3.85 |
| 2026/27 | League Two | Oldham | 1 | 0 | 24 | 0 | 0 | 0 | 0 | 3.45 |
| 2025/26 | League Cup | Oldham | 1 | 1 | 61 | 0 | 0 | 0 | 0 | 6.30 |
| 2025/26 | EFL Trophy | Oldham | 2 | 2 | 90 | 0 | 0 | 0 | 0 | 6.60 |
| 2025/26 | League Two | Oldham | 26 | 11 | 1125 | 5 | 1 | 2 | 0 | 6.78 |
| 2024/25 | League Two | Tranmere | 23 | 11 | 921 | 2 | 5 | 1 | 0 | 6.90 |
| 2024/25 | EFL Trophy | Tranmere | 2 | 2 | 135 | 2 | 0 | 0 | 0 | 7.60 |
| 2024/25 | FA Cup | Tranmere | 1 | 0 | 0 | 0 | — | 0 | 0 | — |
| 2023/24 | League Two | Tranmere | 36 | 12 | 1267 | 6 | — | 2 | 0 | 6.69 |
| 2023/24 | League Cup | Tranmere | 2 | 1 | 115 | 0 | — | 0 | 0 | 6.20 |
| 2023/24 | EFL Trophy | Tranmere | 1 | 0 | 13 | 0 | — | 0 | 0 | 6.20 |
| 2022/23 | League Two | Tranmere | 44 | 40 | 3314 | 10 | 4 | 3 | 0 | 6.92 |
| 2022/23 | League Cup | Tranmere | 2 | 1 | 122 | 1 | — | 0 | 0 | 7.10 |
| 2022/23 | EFL Trophy | Tranmere | 2 | 0 | 83 | 0 | — | 0 | 0 | 6.70 |
| 2022/23 | FA Cup | Tranmere | 1 | 0 | 44 | 0 | — | 0 | 0 | — |
| 2021/22 | EFL Trophy | Tranmere | 1 | 0 | 15 | 0 | — | 0 | 0 | 6.90 |
| 2021/22 | FA Cup | Tranmere | 1 | 1 | 46 | 0 | — | 0 | 0 | 6.20 |
| 2021/22 | League Cup | Sunderland | 1 | 1 | 90 | 1 | — | 0 | 0 | 7.00 |
| 2021/22 | League Two | Tranmere | 15 | 13 | 1042 | 1 | 3 | 3 | 0 | 6.99 |
| 2020/21 | EFL Trophy | Sunderland | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.70 |
| 2019/20 | National League | Hartlepool | 18 | 7 | 724 | 1 | — | 4 | 0 | — |
| 2019/20 | FA Cup | Hartlepool | 3 | 3 | 256 | 1 | — | 0 | 0 | — |
| 2019/20 | FA Trophy | Hartlepool | 1 | 1 | 46 | 0 | — | 0 | 0 | — |
| 2018/19 | National League - Play-offs | Hartlepool | 29 | 16 | 1507 | 9 | — | 4 | 0 | — |
| 2018/19 | FA Trophy | Hartlepool | 2 | 1 | 111 | 0 | — | 0 | 0 | — |
| 2018/19 | FA Cup | Hartlepool | 1 | 0 | 24 | 0 | — | 0 | 0 | — |
| 2017/18 | National League | Hartlepool | 12 | 7 | 589 | 2 | — | 1 | 0 | — |
| 2016/17 | League Two | Hartlepool | 2 | 0 | 0 | 0 | — | 0 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
| Competition | Season | Place |
|---|---|---|
| EFL Trophy (England) | 2020/2021 | Winner |
