Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Rochdale | 2026/27 | 2 | 0 | 0 |
| MK Dons | 2023/24 – 2025/26 | 41 | 2 | 2 |
| Chesterfield | 2014/15 – 2023/24 | 166 | 9 | — |
| Crawley | 2023/24 | 39 | 3 | 0 |
| AFC Fylde | 2016/17 | 5 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 14 Jun 2024 | Chesterfield | Milton Keynes Dons | Free |
| 1 Sept 2023 | Chesterfield | Crawley Town | Free |
| 22 Mar 2017 | AFC Fylde | Chesterfield | — |
| 17 Feb 2017 | Chesterfield | AFC Fylde | Loan |
| 29 Jun 2026 | Milton Keynes Dons | Rochdale | Free agent |
| 8 Jul 2026 | Milton Keynes Dons | Rochdale | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Two | Rochdale | 2 | 0 | 37 | 0 | 0 | 0 | 0 | 6.90 |
| 2025/26 | EFL Trophy | MK Dons | 2 | 2 | 61 | 0 | 0 | 0 | 0 | 6.30 |
| 2025/26 | League Two | MK Dons | 7 | 5 | 374 | 1 | 0 | 2 | 0 | 7.08 |
| 2024/25 | League Two | MK Dons | 30 | 29 | 2553 | 1 | 2 | 4 | 0 | 7.08 |
| 2024/25 | FA Cup | MK Dons | 2 | 1 | 90 | — | — | 0 | 0 | 6.20 |
| 2023/24 | League Two | Crawley | 37 | 36 | 3254 | 3 | 0 | 12 | 0 | 7.02 |
| 2023/24 | FA Cup | Crawley | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2023/24 | EFL Trophy | Crawley | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.20 |
| 2022/23 | National League | Chesterfield | 18 | 12 | 1147 | 1 | — | 5 | 0 | — |
| 2022/23 | FA Trophy | Chesterfield | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2021/22 | National League | Chesterfield | 26 | 26 | 2212 | 4 | — | 3 | 0 | — |
| 2021/22 | FA Cup | Chesterfield | 2 | 1 | 107 | 0 | — | 0 | 0 | 6.20 |
| 2020/21 | National League | Chesterfield | 41 | 41 | 3604 | 1 | — | 7 | 0 | — |
| 2020/21 | FA Cup | Chesterfield | 1 | 1 | 90 | 0 | — | 1 | 0 | — |
| 2020/21 | FA Trophy | Chesterfield | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2019/20 | National League | Chesterfield | 15 | 14 | 1199 | 0 | — | 3 | 1 | — |
| 2018/19 | National League - Play-offs | Chesterfield | 26 | 22 | 1965 | 1 | — | 0 | 0 | — |
| 2018/19 | FA Cup | Chesterfield | 3 | 3 | 270 | 1 | — | 1 | 0 | — |
| 2017/18 | League Two | Chesterfield | 18 | 13 | 1379 | 0 | — | 5 | 0 | — |
| 2017/18 | League Cup | Chesterfield | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2017/18 | EFL Trophy | Chesterfield | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2016/17 | National League N / S | AFC Fylde | 5 | 5 | 448 | 0 | — | 0 | 0 | — |
| 2016/17 | EFL Trophy | Chesterfield | 5 | 4 | 370 | 1 | — | 1 | 0 | — |
| 2016/17 | League One | Chesterfield | 4 | 3 | 258 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Unknown | 3 Jul 2025 | 11 Sept 2025 | 70 |
Trophies
| Competition | Season | Place |
|---|---|---|
| League Two (England) | 2013/2014 | Winner |
| EFL Trophy (England) | 2013/2014 | 2nd Place |
| National League (England) | 2023/2024 | Winner |
