Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Doncaster | 2023/24 – 2026/27 | 112 | 4 | 4 |
| FC Halifax Town | 2020/21 – 2022/23 | 118 | 0 | — |
| Gloucester City | 2019/20 | 8 | 1 | — |
| Luton | 2016/17 – 2018/19 | 24 | 0 | — |
| Harrogate Town | 2018/19 | 6 | 0 | — |
| Huddersfield | 2016/17 | 0 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 1 Jul 2023 | FC Halifax Town | Doncaster | Free |
| 1 Aug 2020 | Gloucester City | FC Halifax Town | Free |
| 26 Nov 2019 | Luton | Gloucester City | — |
| 1 Jul 2019 | Harrogate Town | Luton | — |
| 31 Jan 2019 | Luton | Harrogate Town | Loan |
| 31 Aug 2016 | Huddersfield | Luton | — |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Doncaster | 2 | 2 | 186 | 0 | 1 | 0 | 0 | 6.60 |
| 2026/27 | League One | Doncaster | 7 | 7 | 630 | 2 | 0 | 4 | 0 | 6.96 |
| 2025/26 | League Cup | Doncaster | 2 | 2 | 180 | 0 | 0 | 0 | 0 | 6.95 |
| 2025/26 | EFL Trophy | Doncaster | 5 | 4 | 315 | 1 | 0 | 0 | 0 | 7.28 |
| 2025/26 | FA Cup | Doncaster | 2 | 1 | 92 | 1 | 0 | 0 | 0 | 7.00 |
| 2025/26 | League One | Doncaster | 37 | 28 | 2676 | 0 | 0 | 9 | 0 | 6.73 |
| 2024/25 | League Two | Doncaster | 23 | 18 | 1420 | — | 1 | 3 | 1 | 6.93 |
| 2024/25 | FA Cup | Doncaster | 1 | 0 | 45 | — | 0 | 0 | 0 | 6.70 |
| 2024/25 | League Cup | Doncaster | 2 | 2 | 165 | — | 0 | 2 | 0 | 6.95 |
| 2024/25 | EFL Trophy | Doncaster | 3 | 3 | 240 | 0 | 1 | 0 | 0 | 7.13 |
| 2023/24 | League Two | Doncaster | 23 | 20 | 1797 | 0 | 1 | 8 | 0 | 6.77 |
| 2023/24 | League Cup | Doncaster | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.00 |
| 2023/24 | FA Cup | Doncaster | 2 | 2 | 210 | 0 | — | 0 | 0 | — |
| 2023/24 | EFL Trophy | Doncaster | 2 | 1 | 111 | 0 | — | 1 | 0 | 6.70 |
| 2022/23 | National League | FC Halifax Town | 36 | 34 | 3069 | 0 | — | 5 | 0 | — |
| 2022/23 | FA Cup | FC Halifax Town | 2 | 2 | 146 | 0 | — | 1 | 0 | — |
| 2022/23 | FA Trophy | FC Halifax Town | 5 | 5 | 450 | 0 | — | 0 | 0 | — |
| 2021/22 | National League | FC Halifax Town | 34 | 30 | 2702 | 0 | — | 6 | 0 | — |
| 2021/22 | FA Cup | FC Halifax Town | 4 | 4 | 360 | 0 | — | 0 | 0 | 6.30 |
| 2021/22 | FA Trophy | FC Halifax Town | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2020/21 | National League | FC Halifax Town | 31 | 21 | 1937 | 0 | — | 3 | 0 | — |
| 2020/21 | FA Cup | FC Halifax Town | 1 | 0 | 6 | 0 | — | 0 | 0 | — |
| 2020/21 | FA Trophy | FC Halifax Town | 2 | 2 | 163 | 0 | — | 0 | 0 | — |
| 2019/20 | National League - South | Gloucester City | 8 | 8 | 670 | 1 | — | 0 | 0 | — |
| 2018/19 | National League - Play-offs | Harrogate Town | 5 | 4 | 323 | 0 | — | 0 | 0 | — |
| 2018/19 | FA Trophy | Harrogate Town | 1 | 0 | 6 | 0 | — | 0 | 0 | — |
| 2018/19 | EFL Trophy | Luton | 3 | 3 | 267 | 0 | — | 1 | 0 | — |
| 2017/18 | EFL Trophy | Luton | 5 | 5 | 450 | 0 | — | 1 | 0 | — |
| 2016/17 | League Two | Luton | 10 | 9 | 830 | 0 | — | 2 | 0 | — |
| 2016/17 | EFL Trophy | Luton | 6 | 6 | 496 | 0 | — | 1 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Injury | 21 Apr 2025 | Ongoing | 550 |
| Red Card | 20 Feb 2025 | 22 Feb 2025 | 2 |
Trophies
| Competition | Season | Place |
|---|---|---|
| League Two (England) | 2024/2025 | Winner |
| League Two (England) | 2017/2018 | 2nd Place |
| FA Trophy (England) | 2022/2023 | Winner |
