Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Northampton | 2024/25 – 2025/26 | 24 | 1 | 0 |
| Colchester | 2024/25 – 2025/26 | 4 | 0 | 0 |
| Ross County | 2021/22 – 2024/25 | 98 | 4 | 4 |
| Bristol Rovers | 2020/21 – 2021/22 | 49 | 2 | — |
| Sunderland | 2018/19 – 2019/20 | 42 | 3 | — |
| Salford | 2019/20 | 17 | 1 | — |
| Peterborough | 2013/14 – 2017/18 | 118 | 5 | — |
| Hartlepool | 2011/12 – 2013/14 | 85 | 6 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 9 Jul 2024 | Ross County | Northampton | — |
| 25 Aug 2021 | Bristol Rovers | Ross County | — |
| 20 Jul 2020 | Sunderland | Bristol Rovers | Free |
| 2 Sept 2019 | Sunderland | Salford City | Loan |
| 28 Jul 2018 | Peterborough | Sunderland | — |
| 31 Jan 2014 | Hartlepool | Peterborough | — |
| 26 Mar 2026 | Colchester | Eastleigh | Loan |
| 7 Aug 2025 | Northampton | Colchester | Free Transfer |
| 29 Jun 2026 | Colchester | AFC Hornchurch | Transfer |
| 30 Jun 2026 | Colchester | AFC Hornchurch | Transfer |
| 30 May 2026 | Eastleigh | Colchester | Return from loan |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2025/26 | EFL Trophy | Colchester | 1 | 1 | 90 | 0 | 0 | 1 | 0 | 7.30 |
| 2025/26 | League Two | Colchester | 2 | 1 | 46 | 0 | 0 | 0 | 0 | 6.50 |
| 2024/25 | FA Cup | Northampton | 1 | 1 | 120 | 0 | — | 0 | 0 | — |
| 2024/25 | League One | Northampton | 22 | 11 | 1124 | 1 | 0 | 3 | 0 | 6.74 |
| 2024/25 | FA Cup | Colchester | 1 | 1 | — | — | — | 0 | 0 | — |
| 2024/25 | League Cup | Northampton | 1 | 1 | 90 | 0 | 0 | 0 | 0 | 6.70 |
| 2023/24 | Premiership | Ross County | 30 | 30 | 2700 | 0 | 1 | 7 | 1 | 6.90 |
| 2023/24 | League Cup | Ross County | 6 | 6 | 494 | 1 | — | 1 | 1 | — |
| 2022/23 | Premiership | Ross County | 29 | 27 | 2282 | 1 | 2 | 6 | 2 | 6.97 |
| 2022/23 | League Cup | Ross County | 2 | 2 | 146 | 0 | — | 0 | 0 | — |
| 2022/23 | FA Cup | Ross County | 1 | 1 | 120 | 0 | — | 0 | 0 | — |
| 2021/22 | Premiership | Ross County | 30 | 27 | 2501 | 2 | 1 | 14 | 0 | 6.88 |
| 2021/22 | League Two | Bristol Rovers | 3 | 2 | 145 | 0 | — | 1 | 0 | 6.57 |
| 2021/22 | League Cup | Bristol Rovers | 1 | 1 | 90 | 0 | — | 1 | 0 | 7.00 |
| 2020/21 | League One | Bristol Rovers | 38 | 32 | 2950 | 1 | — | 6 | 0 | 6.91 |
| 2020/21 | League Cup | Bristol Rovers | 1 | 1 | 67 | 0 | — | 0 | 0 | 6.90 |
| 2020/21 | FA Cup | Bristol Rovers | 3 | 3 | 270 | 1 | — | 0 | 0 | 6.85 |
| 2020/21 | EFL Trophy | Bristol Rovers | 3 | 3 | 270 | 0 | — | 2 | 0 | 6.53 |
| 2019/20 | League Two | Salford | 13 | 10 | 896 | 1 | — | 4 | 0 | 6.90 |
| 2019/20 | EFL Trophy | Salford | 4 | 3 | 285 | 0 | — | 1 | 0 | 6.60 |
| 2019/20 | League Cup | Sunderland | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.30 |
| 2018/19 | League One | Sunderland | 34 | 34 | 3060 | 3 | — | 7 | 0 | — |
| 2018/19 | FA Cup | Sunderland | 3 | 3 | 270 | 0 | — | 0 | 0 | 6.70 |
| 2018/19 | League Cup | Sunderland | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.30 |
| 2018/19 | EFL Trophy | Sunderland | 3 | 3 | 300 | 0 | — | 1 | 0 | — |
| 2017/18 | League One | Peterborough | 33 | 32 | 2846 | 2 | — | 6 | 0 | — |
| 2017/18 | League Cup | Peterborough | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2017/18 | EFL Trophy | Peterborough | 6 | 6 | 540 | 0 | — | 0 | 0 | — |
| 2017/18 | FA Cup | Peterborough | 3 | 2 | 185 | 1 | — | 0 | 0 | 9.20 |
| 2016/17 | League One | Peterborough | 27 | 27 | 2398 | 1 | — | 9 | 0 | — |
| 2016/17 | League Cup | Peterborough | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2016/17 | EFL Trophy | Peterborough | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2015/16 | League One | Peterborough | 18 | 17 | 1540 | 1 | — | 8 | 0 | — |
| 2015/16 | FA Cup | Peterborough | 4 | 3 | 300 | 0 | — | 1 | 1 | — |
| 2014/15 | League One | Peterborough | 11 | 11 | 940 | 0 | — | 1 | 0 | — |
| 2013/14 | League One | Peterborough | 13 | 12 | 1045 | 0 | — | 3 | 0 | — |
| 2013/14 | League Two | Hartlepool | 28 | 28 | 2508 | 2 | — | 8 | 0 | — |
| 2013/14 | League Cup | Hartlepool | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2013/14 | EFL Trophy | Hartlepool | 2 | 2 | 180 | 0 | — | 1 | 0 | — |
| 2013/14 | FA Cup | Hartlepool | 3 | 3 | 270 | 2 | — | 1 | 0 | — |
| 2012/13 | League One | Hartlepool | 32 | 28 | 2510 | 2 | — | 7 | 0 | — |
| 2012/13 | EFL Trophy | Hartlepool | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2012/13 | FA Cup | Hartlepool | 1 | 1 | 55 | 0 | — | 0 | 0 | — |
| 2011/12 | League One | Hartlepool | 17 | 14 | 1214 | 0 | — | 3 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
