Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Leyton Orient | 2022/23 – 2024/25 | 86 | 13 | 7 |
| Ebbsfleet United | 2024/25 | 23 | 3 | — |
| Southend | 2024/25 | 14 | 0 | — |
| Hull City | 2021/22 – 2022/23 | 16 | 0 | 3 |
| Luton | 2018/19 – 2020/21 | 59 | 11 | 1 |
| Barnsley | 2016/17 – 2018/19 | 67 | 7 | 4 |
| Peterborough | 2016/17 | 15 | 3 | — |
| Colchester | 2014/15 – 2015/16 | 71 | 17 | — |
| West Ham | 2011/12 – 2014/15 | 2 | 0 | — |
| Partick | 2013/14 | 2 | 1 | — |
| Wimbledon | 2011/12 | 20 | 2 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 19 Aug 2024 | Leyton Orient | Southend | Loan |
| 1 Jul 2022 | Hull City | Leyton Orient | — |
| 1 Jul 2021 | Luton | Hull City | Free |
| 18 Jan 2019 | Barnsley | Luton | — |
| 2 Jan 2017 | Peterborough | Barnsley | — |
| 31 Aug 2016 | Barnsley | Peterborough | Loan |
| 1 Jul 2016 | Colchester | Barnsley | 650K |
| 18 Nov 2014 | West Ham | Colchester | — |
| 7 Aug 2014 | West Ham | Colchester | Loan |
| 1 Jul 2014 | Partick | West Ham | — |
| 31 Jan 2014 | West Ham | Partick | Loan |
| 9 Jan 2012 | West Ham | AFC Wimbledon | Loan |
| 1 Jun 2025 | Ebbsfleet United | Leyton Orient | — |
| 1 Jul 2025 | Ebbsfleet United | Leyton Orient | Back from Loan |
| 7 Jan 2025 | Leyton Orient | Ebbsfleet United | Loan |
| 6 Jan 2025 | Southend | Leyton Orient | Back from Loan |
| 21 Mar 2025 | Leyton Orient | Ebbsfleet United | Transfer |
| 9 Mar 2026 | Ebbsfleet United | Bedford Town | Loan |
| 30 Jun 2026 | Ebbsfleet United | Bedford Town | Free agent |
| 30 May 2026 | Bedford Town | Ebbsfleet United | Return from loan |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2024/25 | National League | Ebbsfleet United | 21 | 21 | 1715 | 3 | — | 0 | 0 | — |
| 2024/25 | National League | Southend | 14 | 12 | 976 | 0 | — | 1 | 0 | — |
| 2024/25 | National League Cup | Ebbsfleet United | 2 | 1 | 78 | 0 | — | 0 | 0 | — |
| 2023/24 | League One | Leyton Orient | 35 | 20 | 1610 | 4 | 4 | 0 | 0 | 6.70 |
| 2023/24 | League Cup | Leyton Orient | 1 | 1 | 66 | 0 | — | 0 | 0 | 6.20 |
| 2023/24 | EFL Trophy | Leyton Orient | 3 | 2 | 183 | 0 | — | 0 | 0 | 7.03 |
| 2023/24 | FA Cup | Leyton Orient | 2 | 0 | 36 | 0 | — | 0 | 0 | — |
| 2022/23 | League Two | Leyton Orient | 43 | 35 | 2918 | 9 | 3 | 2 | 0 | 6.78 |
| 2022/23 | FA Cup | Leyton Orient | 1 | 1 | 68 | 0 | — | 0 | 0 | — |
| 2022/23 | League Cup | Leyton Orient | 1 | 1 | 57 | 0 | — | 1 | 0 | 7.30 |
| 2021/22 | Championship | Hull City | 14 | 7 | 687 | 0 | 1 | 0 | 1 | 6.81 |
| 2021/22 | League Cup | Hull City | 1 | 1 | 74 | 0 | 1 | 0 | 0 | 7.30 |
| 2021/22 | FA Cup | Hull City | 1 | 0 | 57 | 0 | 1 | 0 | 0 | 6.90 |
| 2020/21 | Championship | Luton | 21 | 10 | 820 | 3 | 1 | 0 | 0 | 6.81 |
| 2020/21 | League Cup | Luton | 2 | 2 | 166 | 0 | — | 0 | 0 | 6.80 |
| 2020/21 | FA Cup | Luton | 2 | 1 | 105 | 1 | — | 0 | 0 | 6.95 |
| 2019/20 | Championship | Luton | 17 | 1 | 429 | 1 | — | 1 | 0 | 6.68 |
| 2019/20 | League Cup | Luton | 2 | 2 | 150 | 0 | — | 0 | 0 | 6.35 |
| 2019/20 | FA Cup | Luton | 1 | 1 | 68 | 0 | — | 0 | 0 | — |
| 2018/19 | League One | Luton | 14 | 4 | 472 | 6 | — | 1 | 0 | — |
| 2018/19 | League One | Barnsley | 21 | 10 | 977 | 1 | — | 3 | 0 | — |
| 2018/19 | League Cup | Barnsley | 1 | 1 | 90 | 1 | — | 0 | 0 | — |
| 2018/19 | EFL Trophy | Barnsley | 3 | 2 | 186 | 3 | — | 0 | 0 | — |
| 2018/19 | FA Cup | Barnsley | 2 | 1 | 103 | 0 | — | 0 | 0 | — |
| 2017/18 | Championship | Barnsley | 34 | 22 | 1943 | 2 | 3 | 1 | 0 | 6.90 |
| 2017/18 | League Cup | Barnsley | 3 | 2 | 175 | 0 | — | 0 | 0 | 6.30 |
| 2017/18 | FA Cup | Barnsley | 1 | 0 | 26 | 0 | — | 0 | 0 | — |
| 2016/17 | League One | Peterborough | 13 | 5 | 561 | 2 | — | 1 | 0 | — |
| 2016/17 | EFL Trophy | Peterborough | 2 | 2 | 161 | 1 | — | 0 | 0 | — |
| 2016/17 | Championship | Barnsley | 1 | 0 | 17 | 0 | 1 | 0 | 0 | 7.06 |
| 2016/17 | League Cup | Barnsley | 1 | 1 | 61 | 0 | — | 0 | 0 | — |
| 2015/16 | League One | Colchester | 45 | 40 | 3589 | 12 | — | 1 | 0 | — |
| 2015/16 | League Cup | Colchester | 1 | 1 | 75 | 0 | — | 0 | 0 | — |
| 2015/16 | EFL Trophy | Colchester | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2015/16 | FA Cup | Colchester | 4 | 4 | 355 | 2 | — | 0 | 0 | — |
| 2014/15 | League Cup | Colchester | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2014/15 | EFL Trophy | Colchester | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2014/15 | League One | Colchester | 17 | 16 | 1390 | 3 | — | 1 | 0 | — |
| 2014/15 | FA Cup | Colchester | 1 | 1 | 60 | 0 | — | 0 | 0 | — |
| 2013/14 | Premiership | Partick | 2 | 0 | 32 | 1 | — | 0 | 0 | — |
| 2013/14 | FA Cup | West Ham | 1 | 1 | 55 | 0 | — | 0 | 0 | — |
| 2012/13 | League Cup | West Ham | 1 | 0 | 6 | 0 | — | 0 | 0 | — |
| 2011/12 | League Two | Wimbledon | 20 | 20 | 1690 | 2 | — | 2 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
