Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Rochdale | 2026/27 | 14 | 0 | 1 |
| Hartlepool | 2023/24 – 2024/25 | 90 | 43 | — |
| FC Halifax Town | 2022/23 | 49 | 14 | — |
| Grimsby | 2021/22 | 16 | 7 | — |
| Tranmere | 2021/22 | 12 | 0 | 1 |
| Salford | 2017/18 – 2020/21 | 99 | 17 | — |
| Oldham | 2019/20 | 4 | 0 | — |
| Chester | 2018/19 | 7 | 0 | — |
| Boston United | 2016/17 | 7 | 1 | — |
| Kidderminster Harriers | 2016/17 | 33 | 6 | — |
| Chesterfield | 2014/15 – 2015/16 | 29 | 1 | — |
| Mansfield | 2015/16 | 10 | 1 | — |
| Fleetwood | 2013/14 | 6 | 0 | — |
| Hyde United | 2013/14 | 7 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 4 Jul 2023 | FC Halifax Town | Hartlepool | Free |
| 1 Jul 2022 | Tranmere | FC Halifax Town | — |
| 30 Jun 2022 | Grimsby | Tranmere | — |
| 18 Feb 2022 | Tranmere | Grimsby | Loan |
| 1 Jul 2021 | Salford City | Tranmere | Free |
| 1 Jul 2020 | Oldham | Salford City | — |
| 10 Jan 2020 | Salford City | Oldham | Loan |
| 23 Nov 2018 | Chester | Salford City | — |
| 26 Oct 2018 | Salford City | Chester | Loan |
| 1 Jul 2017 | Kidderminster Harriers | Salford City | Free |
| 1 May 2017 | Boston United | Kidderminster Harriers | — |
| 17 Mar 2017 | Kidderminster Harriers | Boston United | Loan |
| 1 Jul 2016 | Chesterfield | Kidderminster Harriers | Free |
| 1 Jun 2016 | Mansfield Town | Chesterfield | — |
| 16 Mar 2016 | Chesterfield | Mansfield Town | Loan |
| 3 Jan 2015 | Sheffield Wednesday | Chesterfield | Loan |
| 24 Jan 2014 | Fleetwood Town | Sheffield Wednesday | — |
| 1 Nov 2013 | Sheffield Wednesday | Fleetwood Town | Loan |
| 14 Oct 2013 | Hyde United | Sheffield Wednesday | — |
| 13 Sept 2013 | Sheffield Wednesday | Hyde United | Loan |
| 4 Jul 2025 | Hartlepool | Aldershot Town | Free Transfer |
| 4 Jul 2025 | Hartlepool | Rochdale | Free Transfer |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Rochdale | 2 | 2 | 153 | 0 | 0 | 0 | 0 | 6.30 |
| 2026/27 | EFL Trophy | Rochdale | 1 | 1 | 165 | 0 | 0 | 0 | 0 | 6.62 |
| 2026/27 | League Two | Rochdale | 11 | 5 | 521 | 0 | 1 | 0 | 0 | 6.39 |
| 2024/25 | National League | Hartlepool | 46 | 41 | 3795 | 17 | — | 5 | 0 | — |
| 2024/25 | FA Cup | Hartlepool | 2 | 2 | 180 | 1 | — | 0 | 0 | — |
| 2024/25 | FA Trophy | Hartlepool | 1 | 0 | 0 | 0 | — | 0 | 0 | — |
| 2023/24 | National League | Hartlepool | 39 | 39 | 3441 | 23 | — | 7 | 0 | — |
| 2023/24 | FA Trophy | Hartlepool | 1 | 1 | 90 | 2 | — | 0 | 0 | — |
| 2023/24 | FA Cup | Hartlepool | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | National League | FC Halifax Town | 42 | 33 | 2907 | 13 | — | 6 | 1 | — |
| 2022/23 | FA Trophy | FC Halifax Town | 5 | 4 | 359 | 0 | — | 0 | 0 | — |
| 2022/23 | FA Cup | FC Halifax Town | 2 | 1 | 117 | 1 | — | 0 | 0 | — |
| 2021/22 | National League | Grimsby | 16 | 3 | 496 | 7 | — | 1 | 0 | — |
| 2021/22 | League Two | Tranmere | 6 | 4 | 367 | 0 | — | 2 | 0 | 6.58 |
| 2021/22 | EFL Trophy | Tranmere | 3 | 0 | 59 | 0 | 1 | 1 | 0 | 6.70 |
| 2021/22 | League Cup | Tranmere | 1 | 0 | 30 | 0 | — | 0 | 0 | 7.30 |
| 2021/22 | FA Cup | Tranmere | 2 | 0 | 43 | 0 | — | 1 | 0 | 6.70 |
| 2020/21 | League Two | Salford | 14 | 1 | 229 | 0 | — | 1 | 0 | 6.53 |
| 2020/21 | FA Cup | Salford | 2 | 1 | 76 | 1 | — | 0 | 0 | — |
| 2020/21 | EFL Trophy | Salford | 3 | 0 | 80 | 3 | — | 0 | 0 | 7.65 |
| 2019/20 | League Two | Oldham | 4 | 1 | 70 | 0 | — | 0 | 0 | 6.53 |
| 2019/20 | League Two | Salford | 20 | 10 | 992 | 3 | — | 5 | 0 | 6.53 |
| 2019/20 | FA Cup | Salford | 2 | 0 | 32 | 0 | — | 0 | 0 | — |
| 2019/20 | League Cup | Salford | 1 | 1 | 70 | 0 | — | 0 | 0 | 6.80 |
| 2019/20 | EFL Trophy | Salford | 4 | 1 | 131 | 0 | — | 0 | 0 | 6.30 |
| 2018/19 | National League - Play-offs | Salford | 23 | 13 | 1254 | 4 | — | 0 | 0 | — |
| 2018/19 | National League N / S | Chester | 7 | 4 | 365 | 0 | — | 0 | 0 | — |
| 2018/19 | FA Trophy | Salford | 4 | 3 | 249 | 3 | — | 0 | 0 | — |
| 2017/18 | National League N / S | Salford | 26 | 12 | 1137 | 3 | — | 0 | 0 | — |
| 2016/17 | National League N / S | Boston United | 7 | 6 | 536 | 1 | — | 0 | 0 | — |
| 2016/17 | FA Trophy | Kidderminster Harriers | 2 | 1 | 122 | 1 | — | 0 | 0 | — |
| 2016/17 | FA Cup | Kidderminster Harriers | 2 | 2 | 180 | 1 | — | 0 | 0 | — |
| 2016/17 | National League N / S | Kidderminster Harriers | 29 | 20 | 1922 | 4 | — | 0 | 0 | — |
| 2015/16 | League Two | Mansfield | 10 | 9 | 564 | 1 | — | 1 | 0 | — |
| 2015/16 | League One | Chesterfield | 16 | 3 | 468 | 0 | — | 2 | 0 | — |
| 2015/16 | League Cup | Chesterfield | 1 | 0 | 18 | 1 | — | 0 | 1 | — |
| 2015/16 | EFL Trophy | Chesterfield | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2015/16 | FA Cup | Chesterfield | 1 | 1 | 77 | 0 | — | 0 | 0 | — |
| 2014/15 | League One | Chesterfield | 9 | 0 | 85 | 0 | — | 1 | 0 | — |
| 2014/15 | FA Cup | Chesterfield | 1 | 0 | 2 | 0 | — | 0 | 0 | — |
| 2013/14 | League Two | Fleetwood | 4 | 0 | 37 | 0 | — | 0 | 0 | — |
| 2013/14 | National League | Hyde United | 7 | 3 | 346 | 0 | — | 1 | 0 | — |
| 2013/14 | EFL Trophy | Fleetwood | 1 | 0 | 4 | 0 | — | 0 | 0 | — |
| 2013/14 | FA Cup | Fleetwood | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Suspended | 17 Nov 2019 | 24 Nov 2019 | 7 |
| Suspended | 20 Sept 2015 | 30 Sept 2015 | 10 |
| Suspended | 14 Aug 2015 | 23 Aug 2015 | 9 |
Trophies
| Competition | Season | Place |
|---|---|---|
| FA Trophy (England) | 2022/2023 | Winner |
