Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Colchester | 2022/23 – 2026/27 | 155 | 1 | 5 |
| Leyton Orient | 2022/23 – 2023/24 | 76 | 1 | 2 |
| Swindon | 2019/20 – 2021/22 | 107 | 1 | 7 |
| Oldham | 2016/17 – 2018/19 | 90 | 2 | 1 |
| Brighton | 2015/16 – 2017/18 | 5 | 0 | — |
| Brighton U23 | 2016 | 3 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 1 Jul 2024 | Leyton Orient | Colchester | Free |
| 28 Jul 2022 | Swindon Town | Leyton Orient | Free |
| 1 Jul 2019 | Oldham | Swindon Town | Free |
| 13 Jul 2017 | Brighton | Oldham | — |
| 1 Jul 2017 | Oldham | Brighton | — |
| 26 Jan 2017 | Brighton | Oldham | Loan |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Colchester | 1 | 1 | 74 | 0 | 0 | 0 | 0 | 6.90 |
| 2026/27 | EFL Trophy | Colchester | 2 | 0 | 74 | 0 | 0 | 0 | 0 | 6.15 |
| 2026/27 | League Two | Colchester | 11 | 10 | 847 | 1 | 0 | 2 | 0 | 6.60 |
| 2025/26 | EFL Trophy | Colchester | 4 | 3 | 299 | 0 | 0 | 0 | 0 | 7.33 |
| 2025/26 | League Two | Colchester | 39 | 29 | 2823 | 0 | 1 | 4 | 0 | 6.85 |
| 2024/25 | League Two | Colchester | 31 | 26 | 1282 | — | 0 | 5 | 0 | 6.70 |
| 2024/25 | FA Cup | Colchester | 31 | 29 | 2492 | — | 2 | 6 | 0 | 6.73 |
| 2024/25 | League Cup | Colchester | 2 | 2 | 135 | — | 0 | 0 | 0 | 6.45 |
| 2024/25 | EFL Trophy | Colchester | 3 | 3 | 270 | 0 | 0 | 2 | 0 | 6.77 |
| 2023/24 | League One | Leyton Orient | 39 | 28 | 1926 | 1 | — | 5 | 0 | 6.74 |
| 2023/24 | League Cup | Leyton Orient | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.90 |
| 2023/24 | EFL Trophy | Leyton Orient | 2 | 2 | 165 | 0 | — | 0 | 0 | 7.10 |
| 2023/24 | FA Cup | Leyton Orient | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | League Two | Leyton Orient | 32 | 29 | 2581 | 0 | 2 | 6 | 0 | 6.73 |
| 2022/23 | League Two | Colchester | 31 | 29 | 2492 | — | 2 | 6 | 0 | 6.73 |
| 2022/23 | FA Cup | Leyton Orient | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2021/22 | League Two | Swindon | 37 | 35 | 3032 | 0 | 1 | 4 | 0 | 6.76 |
| 2021/22 | League Cup | Swindon | 1 | 0 | 50 | 0 | — | 0 | 0 | 6.20 |
| 2021/22 | FA Cup | Swindon | 3 | 2 | 256 | 0 | — | 0 | 0 | 6.20 |
| 2021/22 | EFL Trophy | Swindon | 3 | 3 | 243 | 0 | — | 1 | 0 | 6.70 |
| 2020/21 | League One | Swindon | 19 | 13 | 1252 | 0 | — | 0 | 1 | 6.52 |
| 2020/21 | League Cup | Swindon | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.30 |
| 2020/21 | FA Cup | Swindon | 1 | 0 | 13 | 0 | — | 0 | 0 | — |
| 2020/21 | EFL Trophy | Swindon | 2 | 2 | 164 | 0 | — | 0 | 0 | 6.75 |
| 2019/20 | League Two | Swindon | 34 | 33 | 3052 | 1 | 6 | 3 | 0 | 6.70 |
| 2019/20 | League Cup | Swindon | 1 | 1 | 90 | 0 | — | 1 | 0 | 6.90 |
| 2019/20 | EFL Trophy | Swindon | 3 | 2 | 143 | 0 | — | 1 | 0 | — |
| 2019/20 | FA Cup | Swindon | 2 | 2 | 180 | 0 | — | 1 | 0 | — |
| 2018/19 | League Two | Oldham | 38 | 32 | 3089 | 1 | — | 4 | 0 | — |
| 2018/19 | League Cup | Oldham | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2018/19 | EFL Trophy | Oldham | 2 | 1 | 150 | 0 | — | 1 | 0 | — |
| 2018/19 | FA Cup | Oldham | 2 | 2 | 180 | 1 | 1 | 1 | 0 | 7.00 |
| 2017/18 | League One | Oldham | 33 | 32 | 2871 | 0 | — | 6 | 0 | — |
| 2017/18 | EFL Trophy | Oldham | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2017/18 | FA Cup | Oldham | 1 | 1 | 70 | 0 | — | 0 | 0 | — |
| 2017/18 | League Cup | Oldham | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2016/17 | League One | Oldham | 10 | 9 | 768 | 0 | — | 0 | 0 | — |
| 2016/17 | Championship | Brighton | 1 | 0 | 17 | 0 | — | 0 | 0 | 6.30 |
| 2016 | EFL Trophy | Brighton U23 | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2016/17 | League Cup | Brighton | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2016/17 | FA Cup | Brighton | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Muscle Injury | 15 Dec 2024 | 6 Mar 2025 | 81 |
Trophies
| Competition | Season | Place |
|---|---|---|
| League Two (England) | 2022/2023 | Winner |
| League Two (England) | 2019/2020 | Winner |
