Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Gillingham | 2026/27 | 9 | 0 | 0 |
| Colchester | 2025/26 | 30 | 4 | 0 |
| Oxford | 2023/24 – 2024/25 | 11 | 1 | 1 |
| Wigan | 2024/25 | 8 | 0 | 0 |
| Cheltenham | 2022/23 – 2023/24 | 32 | 7 | 1 |
| Torquay | 2022/23 | 29 | 8 | — |
| Hartlepool | 2021/22 | 15 | 2 | 2 |
| Chester | 2019/20 – 2020/21 | 9 | 1 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 19 Jan 2024 | Cheltenham | Oxford United | — |
| 8 Jan 2023 | Torquay | Stoke City | — |
| 18 Nov 2021 | Hartlepool | Stoke City U23 | — |
| 5 Jan 2025 | Oxford United | Wigan | Loan |
| 1 Jul 2025 | Wigan | Oxford United | Back from Loan |
| 30 May 2025 | Wigan | Oxford United | Return from loan |
| 9 Jul 2025 | Oxford United | Colchester | Loan |
| 30 Jun 2026 | Oxford United | Gillingham | Free agent |
| 30 May 2026 | Colchester | Oxford United | Return from loan |
| 29 Jun 2026 | Oxford United | Gillingham | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Gillingham | 1 | 0 | 23 | 0 | 0 | 0 | 0 | 6.60 |
| 2026/27 | EFL Trophy | Gillingham | 1 | — | 45 | 0 | 0 | 0 | 0 | 6.31 |
| 2026/27 | League Two | Gillingham | 7 | 5 | 320 | 0 | 0 | 1 | 0 | 6.57 |
| 2025/26 | EFL Trophy | Colchester | 2 | 2 | 123 | 0 | 0 | 1 | 0 | 6.10 |
| 2025/26 | League Two | Colchester | 28 | 12 | 1223 | 4 | 0 | 4 | 0 | 6.56 |
| 2024/25 | League One | Wigan | 6 | 2 | 184 | 0 | 0 | 1 | 0 | 6.48 |
| 2024/25 | Championship | Oxford | 3 | 0 | 20 | 0 | 0 | 0 | 0 | 6.47 |
| 2024/25 | FA Cup | Wigan | 2 | 0 | 35 | 0 | 0 | 0 | 0 | 6.90 |
| 2023/24 | League One | Oxford | 8 | 1 | 226 | 1 | 1 | 0 | 0 | 7.21 |
| 2023/24 | League One | Cheltenham | 16 | 13 | 1040 | 6 | 1 | 3 | 0 | 7.21 |
| 2023/24 | EFL Trophy | Cheltenham | 2 | 1 | 67 | 0 | — | 0 | 0 | 6.50 |
| 2023/24 | FA Cup | Cheltenham | 1 | 1 | 62 | 0 | — | 0 | 0 | — |
| 2022/23 | League One | Cheltenham | 12 | 5 | 538 | 0 | — | 0 | 0 | 6.46 |
| 2022/23 | National League | Torquay | 24 | 24 | 2148 | 6 | — | 6 | 0 | — |
| 2022/23 | EFL Trophy | Cheltenham | 1 | 1 | 79 | 1 | — | 0 | 0 | 6.90 |
| 2022/23 | FA Cup | Torquay | 4 | 4 | 337 | 1 | — | 0 | 0 | 6.20 |
| 2022/23 | FA Trophy | Torquay | 1 | 1 | 90 | 1 | — | 0 | 0 | — |
| 2021/22 | League Two | Hartlepool | 10 | 8 | 674 | 1 | 2 | 1 | 0 | 6.69 |
| 2021/22 | EFL Trophy | Hartlepool | 4 | 4 | 318 | 1 | — | 0 | 0 | 7.25 |
| 2021/22 | FA Cup | Hartlepool | 1 | 0 | 14 | 0 | — | 0 | 0 | — |
| 2020/21 | National League - South | Chester | 6 | 3 | 265 | 0 | — | 0 | 0 | — |
| 2020/21 | FA Trophy | Chester | 2 | 1 | 112 | 1 | — | 0 | 0 | — |
| 2019/20 | FA Trophy | Chester | 1 | 0 | 16 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Leg Injury | 11 Aug 2025 | 18 Sept 2025 | 38 |
| Ankle Injury | 4 Aug 2024 | 30 Sept 2024 | 57 |
Trophies
| Competition | Season | Place |
|---|---|---|
| Premier League 2 Division Two (England) | 2020/2021 | 2nd Place |
