Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Barnet | 2025/26 – 2026/27 | 32 | 21 | 6 |
| Crawley | 2025/26 | 26 | 5 | 1 |
| Peterborough | 2022/23 – 2024/25 | 13 | 0 | 1 |
| Swindon | 2024/25 | 44 | 13 | 3 |
| Boreham Wood | 2019/20 – 2023/24 | 104 | 48 | 1 |
| Fleetwood | 2023/24 | 20 | 2 | 1 |
| Chesterfield | 2021/22 – 2022/23 | 53 | 33 | 1 |
| Oxford City | 2018/19 | 48 | 29 | — |
| Boston United | 2017/18 | 36 | 9 | — |
| MK Dons | 2014/15 – 2016/17 | 13 | 1 | — |
| Throttur Reykjavik | 2016/17 | 7 | 1 | — |
| Nuneaton Town | 2015/16 | 5 | 1 | — |
| Corby Town | 2015/16 | 10 | 5 | — |
| Chelmsford City | 2014/15 | 4 | 0 | — |
| Aldershot Town | 2014/15 | 2 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 26 Aug 2024 | Peterborough | Swindon Town | Loan |
| 1 Jul 2024 | Boreham Wood | Peterborough | — |
| 1 Feb 2024 | Peterborough | Boreham Wood | Loan |
| 1 Sept 2023 | Peterborough | Fleetwood Town | Loan |
| 1 Jul 2023 | Chesterfield | Peterborough | — |
| 1 Jun 2023 | Peterborough | Chesterfield | — |
| 31 Jan 2023 | Chesterfield | Peterborough | Loan |
| 10 Aug 2021 | Boreham Wood | Chesterfield | Free |
| 1 Jul 2019 | Oxford City | Boreham Wood | Free |
| 1 Jul 2018 | Boston United | Oxford City | Free |
| 1 Jul 2017 | Milton Keynes Dons | Boston United | Free |
| 31 Jan 2017 | Milton Keynes Dons | Yeovil Town | Loan |
| 19 Jul 2016 | Throttur Reykjavik | Milton Keynes Dons | — |
| 30 Jan 2015 | Milton Keynes Dons | Aldershot Town | Loan |
| 1 Jul 2025 | Peterborough | Crawley Town | Free Transfer |
| 21 Jan 2026 | Crawley Town | Barnet | Transfer |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Barnet | 1 | 1 | 90 | 1 | 0 | 0 | 0 | 7.20 |
| 2026/27 | League Two | Barnet | 10 | 10 | 895 | 8 | 5 | 0 | 0 | 7.20 |
| 2025/26 | League Cup | Crawley | 1 | 1 | 90 | 1 | 0 | 0 | 0 | 6.50 |
| 2025/26 | EFL Trophy | Crawley | 2 | 2 | 165 | 0 | 1 | 0 | 0 | 6.45 |
| 2025/26 | League Two | Crawley | 23 | 10 | 1121 | 4 | 0 | 1 | 0 | 6.55 |
| 2025/26 | League Two | Barnet | 21 | 21 | 1810 | 12 | 1 | 3 | 0 | 6.82 |
| 2024/25 | League Two | Swindon | 39 | 25 | 2283 | 11 | 3 | 4 | 0 | 6.88 |
| 2024/25 | EFL Trophy | Swindon | 3 | 3 | 203 | 1 | 0 | 1 | 0 | 6.50 |
| 2024/25 | FA Cup | Swindon | 2 | 2 | 165 | 1 | — | 0 | 0 | — |
| 2023/24 | National League | Boreham Wood | 16 | 16 | 1418 | 7 | — | 3 | 0 | — |
| 2023/24 | League One | Fleetwood | 14 | 1 | 397 | 0 | 1 | 0 | 0 | 6.66 |
| 2023/24 | League One | Peterborough | 2 | 0 | 4 | 0 | 1 | 0 | 0 | 6.66 |
| 2023/24 | EFL Trophy | Fleetwood | 4 | 4 | 333 | 2 | — | 0 | 0 | 7.20 |
| 2023/24 | FA Cup | Fleetwood | 2 | 0 | 30 | 0 | — | 0 | 0 | — |
| 2023/24 | League Cup | Peterborough | 2 | 2 | 130 | 0 | — | 0 | 0 | 6.70 |
| 2022/23 | League One | Peterborough | 9 | 0 | 114 | 0 | — | 0 | 0 | 6.30 |
| 2022/23 | National League | Chesterfield | 17 | 5 | 745 | 7 | — | 0 | 0 | — |
| 2022/23 | FA Cup | Chesterfield | 5 | 1 | 137 | 1 | — | 0 | 0 | 6.30 |
| 2021/22 | National League | Chesterfield | 27 | 27 | 2402 | 24 | — | 3 | 0 | — |
| 2021/22 | FA Cup | Chesterfield | 4 | 2 | 226 | 1 | 1 | 0 | 0 | 6.70 |
| 2020/21 | National League | Boreham Wood | 42 | 42 | 3665 | 19 | — | 3 | 0 | — |
| 2020/21 | FA Cup | Boreham Wood | 4 | 4 | 379 | 3 | 1 | 0 | 0 | 7.00 |
| 2020/21 | FA Trophy | Boreham Wood | 1 | 1 | 84 | 0 | — | 0 | 0 | — |
| 2019/20 | National League | Boreham Wood | 39 | 39 | 3304 | 19 | — | 0 | 0 | — |
| 2019/20 | FA Trophy | Boreham Wood | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2019/20 | FA Cup | Boreham Wood | 1 | 1 | 74 | 0 | — | 0 | 0 | — |
| 2018/19 | National League N / S | Oxford City | 42 | 40 | 3568 | 24 | — | 0 | 0 | — |
| 2018/19 | FA Trophy | Oxford City | 2 | 2 | 210 | 2 | — | 0 | 0 | — |
| 2018/19 | FA Cup | Oxford City | 4 | 4 | 313 | 3 | — | 0 | 0 | 6.70 |
| 2017/18 | National League N / S | Boston United | 34 | 14 | 1420 | 8 | — | 0 | 0 | — |
| 2017/18 | FA Cup | Boston United | 2 | 2 | 186 | 1 | — | 0 | 0 | — |
| 2016/17 | League One | MK Dons | 6 | 0 | 41 | 0 | — | 0 | 0 | — |
| 2016/17 | Úrvalsdeild | Throttur Reykjavik | 6 | 2 | 284 | 0 | — | 0 | 0 | — |
| 2016/17 | League Cup | MK Dons | 2 | 2 | 200 | 1 | — | 0 | 0 | — |
| 2016/17 | EFL Trophy | MK Dons | 3 | 2 | 185 | 0 | — | 0 | 0 | — |
| 2016/17 | FA Cup | MK Dons | 1 | 0 | 20 | 0 | — | 0 | 0 | — |
| 2016/17 | Cup | Throttur Reykjavik | 1 | 0 | 16 | 1 | — | 0 | 0 | — |
| 2015/16 | National League N / S | Nuneaton Town | 5 | 2 | 149 | 1 | — | 0 | 0 | — |
| 2015/16 | National League N / S | Corby Town | 10 | 9 | 742 | 5 | — | 0 | 0 | — |
| 2014/15 | National League N / S | Chelmsford City | 4 | 1 | 123 | 0 | — | 0 | 0 | — |
| 2014/15 | National League | Aldershot Town | 2 | 0 | 19 | 0 | — | 0 | 0 | — |
| 2014/15 | FA Cup | MK Dons | 1 | 0 | 0 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Knee Injury | 8 Jul 2025 | Ongoing | 472 |
Trophies
| Competition | Season | Place |
|---|---|---|
| Lincolnshire Senior Cup (England) | 2017 | 2nd Place |
| Oxfordshire Senior Cup (England) | 2018/2019 | Winner |
