Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Accrington | 2017/18 – 2026/27 | 97 | 4 | 1 |
| Morecambe | 2022/23 – 2023/24 | 83 | 5 | 1 |
| Mansfield | 2020/21 – 2021/22 | 81 | 1 | 1 |
| Forest Green | 2017/18 – 2019/20 | 97 | 4 | — |
| Derby | 2014/15 – 2016/17 | 0 | 0 | — |
| Coventry | 2016/17 | 14 | 0 | — |
| Derby County U23 | 2016 | 11 | 1 | — |
| Rotherham | 2014/15 – 2015/16 | 20 | 2 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 2 Jul 2024 | Morecambe | Accrington ST | Free |
| 1 Jul 2022 | Mansfield Town | Morecambe | Free |
| 1 Aug 2020 | Forest Green | Mansfield Town | — |
| 4 Jan 2018 | Derby | Forest Green | — |
| 31 Aug 2017 | Derby | Accrington ST | Loan |
| 17 Jan 2017 | Derby | Coventry | Loan |
| 1 Jul 2016 | Rotherham | Derby | — |
| 17 Jul 2015 | Derby | Rotherham | Loan |
| 1 May 2015 | Rotherham | Derby | — |
| 6 Mar 2015 | Derby | Rotherham | Loan |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Accrington | 1 | 1 | 90 | 1 | 0 | 1 | 0 | 5.70 |
| 2026/27 | League Two | Accrington | 5 | 5 | 450 | 0 | 0 | 1 | 0 | 6.34 |
| 2025/26 | League Cup | Accrington | 2 | 2 | 180 | 0 | 1 | 0 | 0 | 7.40 |
| 2025/26 | FA Cup | Accrington | 2 | 2 | 90 | 0 | 0 | 0 | 0 | 7.20 |
| 2025/26 | League Two | Accrington | 32 | 32 | 2796 | 2 | 0 | 3 | 0 | 7.05 |
| 2024/25 | League Two | Accrington | 38 | 38 | 3177 | 1 | 0 | 6 | 1 | 6.85 |
| 2024/25 | League Cup | Accrington | 1 | 1 | 90 | 0 | 0 | 0 | 0 | 6.70 |
| 2024/25 | FA Cup | Accrington | 2 | 2 | 180 | 0 | 0 | 0 | 0 | 6.30 |
| 2023/24 | League Two | Morecambe | 31 | 21 | 2022 | 2 | 1 | 5 | 0 | 6.79 |
| 2023/24 | League Cup | Morecambe | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.30 |
| 2023/24 | EFL Trophy | Morecambe | 2 | 2 | 180 | 1 | — | 1 | 0 | 6.75 |
| 2023/24 | FA Cup | Morecambe | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2022/23 | League One | Morecambe | 41 | 39 | 3446 | 1 | — | 8 | 0 | 6.73 |
| 2022/23 | FA Cup | Morecambe | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | League Cup | Morecambe | 3 | 3 | 270 | 0 | — | 0 | 0 | 6.90 |
| 2022/23 | EFL Trophy | Morecambe | 2 | 1 | 164 | 1 | — | 0 | 0 | 6.70 |
| 2021/22 | League Two | Mansfield | 30 | 23 | 2133 | 1 | — | 4 | 1 | 6.57 |
| 2021/22 | EFL Trophy | Mansfield | 3 | 3 | 224 | 0 | — | 1 | 0 | 6.90 |
| 2021/22 | League Cup | Mansfield | 1 | 1 | 90 | 0 | — | 0 | 0 | 5.70 |
| 2020/21 | League Two | Mansfield | 43 | 43 | 3826 | 0 | 1 | 1 | 0 | 6.83 |
| 2020/21 | FA Cup | Mansfield | 3 | 3 | 330 | 0 | — | 0 | 0 | 6.70 |
| 2020/21 | League Cup | Mansfield | 1 | 1 | 64 | 0 | — | 0 | 0 | 6.50 |
| 2019/20 | League Two | Forest Green | 30 | 28 | 2555 | 3 | — | 2 | 0 | 6.82 |
| 2019/20 | League Cup | Forest Green | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.00 |
| 2019/20 | FA Cup | Forest Green | 3 | 3 | 270 | 0 | — | 1 | 0 | — |
| 2018/19 | League Two | Forest Green | 40 | 40 | 3576 | 0 | — | 7 | 1 | — |
| 2018/19 | League Cup | Forest Green | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2018/19 | EFL Trophy | Forest Green | 2 | 2 | 180 | 0 | — | 1 | 0 | — |
| 2018/19 | FA Cup | Forest Green | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2017/18 | League Two | Forest Green | 18 | 18 | 1548 | 1 | — | 1 | 0 | — |
| 2017/18 | League Two | Accrington | 12 | 12 | 973 | 0 | — | 1 | 1 | — |
| 2017/18 | EFL Trophy | Accrington | 2 | 1 | 115 | 0 | — | 0 | 0 | — |
| 2016/17 | League One | Coventry | 14 | 12 | 1074 | 0 | — | 2 | 0 | — |
| 2016 | Premier League 2 | Derby County U23 | 8 | 8 | 720 | 1 | — | 0 | 0 | — |
| 2016 | EFL Trophy | Derby County U23 | 3 | 3 | 270 | 0 | — | 1 | 0 | — |
| 2015/16 | Championship | Rotherham | 16 | 15 | 1376 | 2 | — | 1 | 0 | 6.64 |
| 2014/15 | Championship | Rotherham | 4 | 4 | 360 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Calf Injury | 5 Jun 2025 | Ongoing | 506 |
Trophies
| Competition | Season | Place |
|---|---|---|
| EFL Trophy (England) | 2016/2017 | Winner |
| Nottinghamshire Saturday Senior Cup (England) | 2021/2022 | 2nd Place |
