Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Dagenham & Redbridge | 2023/24 – 2024/25 | 87 | 2 | 0 |
| Crawley | 2020/21 – 2023/24 | 113 | 6 | 5 |
| Woking | 2022/23 | 7 | 0 | — |
| Grimsby | 2018/19 – 2019/20 | 85 | 2 | 1 |
| Gillingham | 2012/13 – 2017/18 | 181 | 9 | — |
| Tamworth | 2012/13 | 6 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 21 Jul 2023 | Crawley Town | Dagenham & Redbridge | Free |
| 1 Jun 2023 | Woking | Crawley Town | — |
| 31 Jan 2023 | Crawley Town | Woking | Loan |
| 31 Aug 2020 | Grimsby | Crawley Town | Free |
| 1 Jul 2018 | Gillingham | Grimsby | Free |
| 19 Feb 2013 | Gillingham | Tamworth | Loan |
| 1 Jul 2025 | Dagenham & Redbridge | Ebbsfleet United | Free Transfer |
| 30 Jun 2025 | Dagenham & Redbridge | Ebbsfleet United | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2024/25 | National League | Dagenham & Redbridge | 34 | 32 | 2796 | 1 | — | 7 | 1 | — |
| 2024/25 | FA Cup | Dagenham & Redbridge | 1 | 1 | 90 | — | 0 | 0 | 0 | 7.00 |
| 2024/25 | FA Trophy | Dagenham & Redbridge | 1 | 1 | 83 | 0 | — | 0 | 0 | — |
| 2024/25 | National League Cup | Dagenham & Redbridge | 3 | 3 | 243 | 0 | — | 0 | 0 | — |
| 2023/24 | National League | Dagenham & Redbridge | 46 | 46 | 4140 | 1 | — | 7 | 0 | — |
| 2023/24 | FA Trophy | Dagenham & Redbridge | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2023/24 | FA Cup | Dagenham & Redbridge | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | National League | Woking | 7 | 3 | 297 | 0 | — | 0 | 0 | — |
| 2022/23 | League Two | Crawley | 21 | 20 | 1799 | 0 | — | 3 | 0 | 6.85 |
| 2022/23 | FA Cup | Crawley | 1 | 1 | 90 | 1 | — | 0 | 0 | — |
| 2022/23 | League Cup | Crawley | 3 | 2 | 204 | 0 | — | 0 | 0 | 6.80 |
| 2022/23 | EFL Trophy | Crawley | 2 | 1 | 123 | 0 | — | 0 | 0 | — |
| 2021/22 | League Two | Crawley | 32 | 31 | 2768 | 4 | 2 | 2 | 0 | 6.97 |
| 2021/22 | EFL Trophy | Crawley | 1 | 0 | 44 | 0 | — | 0 | 0 | — |
| 2021/22 | League Cup | Crawley | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.90 |
| 2021/22 | FA Cup | Crawley | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2020/21 | League Two | Crawley | 46 | 42 | 3716 | 1 | 3 | 3 | 0 | 6.76 |
| 2020/21 | EFL Trophy | Crawley | 1 | 0 | 21 | 0 | — | 0 | 0 | 6.50 |
| 2020/21 | FA Cup | Crawley | 4 | 4 | 390 | 0 | — | 1 | 0 | 6.50 |
| 2019/20 | League Two | Grimsby | 28 | 28 | 2405 | 1 | 1 | 2 | 0 | 7.23 |
| 2019/20 | League Cup | Grimsby | 3 | 2 | 205 | 0 | — | 1 | 0 | 6.93 |
| 2019/20 | EFL Trophy | Grimsby | 2 | 1 | 124 | 0 | — | 0 | 0 | — |
| 2019/20 | FA Cup | Grimsby | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2018/19 | League Two | Grimsby | 44 | 39 | 3613 | 0 | — | 4 | 0 | — |
| 2018/19 | League Cup | Grimsby | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2018/19 | EFL Trophy | Grimsby | 2 | 1 | 121 | 1 | — | 0 | 0 | — |
| 2018/19 | FA Cup | Grimsby | 3 | 3 | 270 | 0 | — | 0 | 0 | 6.55 |
| 2017/18 | League One | Gillingham | 37 | 33 | 3018 | 0 | — | 5 | 0 | — |
| 2017/18 | League Cup | Gillingham | 1 | 1 | 78 | 0 | — | 0 | 0 | — |
| 2017/18 | EFL Trophy | Gillingham | 2 | 2 | 180 | 0 | — | 1 | 0 | — |
| 2017/18 | FA Cup | Gillingham | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2016/17 | League One | Gillingham | 28 | 24 | 2133 | 1 | — | 2 | 0 | — |
| 2016/17 | League Cup | Gillingham | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2016/17 | EFL Trophy | Gillingham | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2016/17 | FA Cup | Gillingham | 2 | 2 | 210 | 1 | — | 1 | 0 | — |
| 2015/16 | League One | Gillingham | 38 | 26 | 2431 | 4 | — | 6 | 0 | — |
| 2015/16 | FA Cup | Gillingham | 1 | 0 | 29 | 0 | — | 0 | 0 | — |
| 2015/16 | League Cup | Gillingham | 2 | 2 | 180 | 1 | — | 1 | 0 | — |
| 2015/16 | EFL Trophy | Gillingham | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2014/15 | League One | Gillingham | 37 | 35 | 3050 | 1 | — | 6 | 0 | — |
| 2014/15 | League Cup | Gillingham | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2014/15 | EFL Trophy | Gillingham | 6 | 6 | 540 | 0 | — | 1 | 0 | — |
| 2014/15 | FA Cup | Gillingham | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2013/14 | League One | Gillingham | 19 | 18 | 1449 | 1 | — | 1 | 0 | — |
| 2012/13 | National League | Tamworth | 6 | 5 | 450 | 0 | — | 0 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
