Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Chesterfield | 2026/27 | 14 | 0 | 1 |
| Gillingham | 2022/23 – 2025/26 | 203 | 1 | 28 |
| Swindon | 2022/23 – 2023/24 | 76 | 1 | 12 |
| Barrow | 2021/22 | 51 | 0 | 4 |
| Stevenage | 2020/21 | 31 | 0 | 1 |
| Yeovil Town | 2019/20 | 32 | 1 | — |
| West Bromwich Albion U18 | 2016 – 2017 | 1 | 0 | — |
| Blackburn Rovers U18 | 2016 | 1 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 17 Jan 2024 | Swindon Town | Gillingham | — |
| 15 Jul 2022 | Barrow | Swindon Town | — |
| 16 Jul 2026 | Gillingham | Chesterfield | Free agent |
| 15 Jul 2026 | Gillingham | Chesterfield | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Chesterfield | 1 | 1 | 90 | 0 | 0 | 0 | 0 | 7.70 |
| 2026/27 | EFL Trophy | Chesterfield | 1 | 0 | 11 | 0 | 0 | 0 | 0 | 2.98 |
| 2026/27 | League Two | Chesterfield | 12 | 12 | 1053 | 0 | 1 | 2 | 0 | 6.92 |
| 2025/26 | League Cup | Gillingham | 1 | 1 | 90 | 0 | 0 | 0 | 0 | 6.50 |
| 2025/26 | EFL Trophy | Gillingham | 3 | 3 | 108 | 0 | 0 | 0 | 0 | 6.65 |
| 2025/26 | League Two | Gillingham | 43 | 40 | 3452 | 0 | 3 | 5 | 1 | 6.88 |
| 2024/25 | League Two | Gillingham | 44 | 42 | 3667 | 1 | 2 | 10 | 0 | 6.80 |
| 2024/25 | FA Cup | Gillingham | 45 | 43 | 3648 | — | 11 | 5 | 0 | 6.91 |
| 2024/25 | EFL Trophy | Gillingham | 2 | 2 | 92 | 0 | 0 | 0 | 0 | 6.45 |
| 2023/24 | League Two | Gillingham | 20 | 20 | 1800 | 0 | 1 | 4 | 0 | 7.00 |
| 2023/24 | League Two | Swindon | 27 | 27 | 2430 | 1 | 1 | 6 | 0 | 7.00 |
| 2023/24 | League Cup | Swindon | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.90 |
| 2023/24 | FA Cup | Swindon | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | League Two | Swindon | 44 | 41 | 3705 | 0 | 11 | 5 | 0 | 6.91 |
| 2022/23 | League Two | Gillingham | 45 | 43 | 3648 | — | 11 | 5 | 0 | 6.91 |
| 2022/23 | EFL Trophy | Swindon | 2 | 2 | 170 | 0 | — | 0 | 0 | — |
| 2022/23 | FA Cup | Swindon | 1 | 1 | 60 | 0 | — | 1 | 0 | — |
| 2021/22 | League Two | Barrow | 44 | 37 | 3389 | 0 | 4 | 4 | 0 | 6.73 |
| 2021/22 | EFL Trophy | Barrow | 2 | 2 | 180 | 0 | — | 0 | 0 | 6.30 |
| 2021/22 | League Cup | Barrow | 2 | 2 | 180 | 0 | — | 0 | 0 | 6.80 |
| 2021/22 | FA Cup | Barrow | 3 | 2 | 185 | 0 | — | 1 | 0 | 6.90 |
| 2020/21 | League Two | Stevenage | 26 | 20 | 1703 | 0 | 1 | 4 | 0 | 6.83 |
| 2020/21 | FA Cup | Stevenage | 1 | 1 | 120 | 0 | — | 1 | 0 | — |
| 2020/21 | EFL Trophy | Stevenage | 3 | 3 | 270 | 0 | — | 0 | 0 | 7.05 |
| 2020/21 | League Cup | Stevenage | 1 | 0 | 11 | 0 | — | 0 | 0 | 6.30 |
| 2019/20 | National League | Yeovil Town | 28 | 24 | 2167 | 1 | — | 7 | 0 | — |
| 2019/20 | FA Trophy | Yeovil Town | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2019/20 | FA Cup | Yeovil Town | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2016 | U18 Premier League | West Bromwich Albion U18 | 1 | 0 | 25 | 0 | — | 0 | 0 | — |
| 2016 | U18 Premier League | Blackburn Rovers U18 | 1 | 0 | 12 | 0 | — | 0 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
