Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Plymouth | 2019/20 – 2026/27 | 297 | 24 | 12 |
| Walsall | 2016/17 – 2018/19 | 103 | 12 | — |
| Colchester | 2015/16 | 45 | 2 | — |
| Yeovil Town | 2011/12 – 2014/15 | 110 | 3 | — |
| Bristol City | 2010/11 – 2012/13 | 0 | 0 | — |
| Stockport | 2011/12 | 13 | 0 | — |
| Bath City | 2010/11 | 12 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 1 Jul 2019 | Walsall | Plymouth | Free |
| 1 Jul 2016 | Colchester | Walsall | Free |
| 7 Jul 2015 | Yeovil Town | Colchester | Free |
| 17 Jan 2013 | Bristol City | Yeovil Town | — |
| 21 Sept 2012 | Bristol City | Yeovil Town | Loan |
| 12 Jan 2012 | Bristol City | Yeovil Town | Loan |
| 27 Sept 2011 | Bristol City | Stockport County | Loan |
| 1 Sept 2010 | Bristol City | Bath City | Loan |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Plymouth | 1 | 0 | 16 | 0 | 0 | 0 | 0 | 5.60 |
| 2026/27 | EFL Trophy | Plymouth | 1 | 1 | 60 | 0 | 0 | 0 | 0 | 6.41 |
| 2026/27 | League One | Plymouth | 6 | 3 | 250 | 0 | 0 | 0 | 0 | 6.64 |
| 2025/26 | League Cup | Plymouth | 1 | 1 | 99 | 0 | 0 | 0 | 0 | 6.90 |
| 2025/26 | EFL Trophy | Plymouth | 5 | 5 | 333 | 0 | 0 | 2 | 0 | 6.90 |
| 2025/26 | League One | Plymouth | 35 | 32 | 2671 | 0 | 3 | 8 | 1 | 6.72 |
| 2024/25 | Championship | Plymouth | 22 | 18 | 1135 | 1 | 1 | 4 | 1 | 6.89 |
| 2024/25 | League Cup | Plymouth | 2 | 2 | 90 | — | 0 | 0 | 0 | 7.20 |
| 2023/24 | Championship | Plymouth | 35 | 23 | 2167 | 3 | — | 4 | 0 | 6.68 |
| 2023/24 | FA Cup | Plymouth | 2 | 2 | 182 | 0 | — | 1 | 0 | 7.30 |
| 2022/23 | League One | Plymouth | 43 | 40 | 3145 | 3 | 4 | 6 | 1 | 6.94 |
| 2022/23 | FA Cup | Plymouth | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | League Cup | Plymouth | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.90 |
| 2022/23 | EFL Trophy | Plymouth | 5 | 4 | 375 | 0 | — | 0 | 0 | 6.70 |
| 2021/22 | League One | Plymouth | 41 | 38 | 3444 | 5 | 2 | 5 | 0 | 6.96 |
| 2021/22 | EFL Trophy | Plymouth | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2021/22 | League Cup | Plymouth | 2 | 2 | 180 | 0 | — | 0 | 0 | 6.60 |
| 2021/22 | FA Cup | Plymouth | 5 | 5 | 505 | 0 | — | 0 | 0 | 7.40 |
| 2020/21 | League One | Plymouth | 40 | 35 | 3014 | 7 | 2 | 9 | 0 | 6.75 |
| 2020/21 | EFL Trophy | Plymouth | 2 | 1 | 96 | 0 | — | 0 | 0 | 7.00 |
| 2020/21 | League Cup | Plymouth | 2 | 1 | 106 | 1 | — | 0 | 0 | 6.60 |
| 2020/21 | FA Cup | Plymouth | 4 | 4 | 360 | 1 | — | 0 | 0 | 6.60 |
| 2019/20 | League Two | Plymouth | 34 | 31 | 2551 | 3 | — | 6 | 0 | 6.81 |
| 2019/20 | League Cup | Plymouth | 2 | 2 | 151 | 0 | — | 0 | 0 | 7.15 |
| 2019/20 | EFL Trophy | Plymouth | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2019/20 | FA Cup | Plymouth | 3 | 3 | 263 | 0 | — | 0 | 0 | — |
| 2018/19 | League One | Walsall | 20 | 18 | 1542 | 2 | — | 1 | 0 | — |
| 2018/19 | EFL Trophy | Walsall | 1 | 0 | 20 | 0 | — | 0 | 0 | — |
| 2017/18 | League One | Walsall | 30 | 29 | 2599 | 7 | — | 4 | 0 | — |
| 2017/18 | League Cup | Walsall | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2017/18 | EFL Trophy | Walsall | 2 | 1 | 112 | 0 | — | 1 | 0 | — |
| 2017/18 | FA Cup | Walsall | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2016/17 | League One | Walsall | 43 | 43 | 3755 | 3 | — | 5 | 1 | — |
| 2016/17 | FA Cup | Walsall | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2016/17 | League Cup | Walsall | 1 | 1 | 120 | 0 | — | 1 | 0 | — |
| 2016/17 | EFL Trophy | Walsall | 3 | 2 | 199 | 0 | — | 0 | 0 | — |
| 2015/16 | League One | Colchester | 42 | 40 | 3138 | 2 | — | 9 | 1 | — |
| 2015/16 | League Cup | Colchester | 1 | 1 | 120 | 0 | — | 0 | 0 | — |
| 2015/16 | FA Cup | Colchester | 2 | 1 | 107 | 0 | — | 0 | 0 | — |
| 2014/15 | League One | Yeovil Town | 34 | 33 | 2947 | 0 | — | 7 | 0 | — |
| 2014/15 | League Cup | Yeovil Town | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2014/15 | FA Cup | Yeovil Town | 4 | 4 | 360 | 0 | — | 0 | 0 | — |
| 2013/14 | Championship | Yeovil Town | 46 | 46 | 4092 | 1 | — | 6 | 0 | — |
| 2013/14 | League Cup | Yeovil Town | 2 | 2 | 183 | 0 | — | 0 | 0 | — |
| 2013/14 | FA Cup | Yeovil Town | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2012/13 | EFL Trophy | Yeovil Town | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2012/13 | League One | Yeovil Town | 16 | 15 | 1345 | 1 | — | 2 | 0 | — |
| 2011/12 | League One | Yeovil Town | 4 | 4 | 360 | 1 | — | 0 | 0 | — |
| 2011/12 | National League | Stockport | 11 | 11 | 990 | 0 | — | 1 | 0 | — |
| 2011/12 | FA Trophy | Stockport | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2010/11 | National League | Bath City | 10 | 8 | 741 | 0 | — | 2 | 0 | — |
| 2010/11 | FA Cup | Bath City | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Hamstring | 3 Aug 2025 | 22 Aug 2025 | 19 |
| Hamstring | 27 Oct 2024 | 17 Jan 2025 | 82 |
| Knock | 30 Sept 2024 | 4 Oct 2024 | 4 |
Trophies
| Competition | Season | Place |
|---|---|---|
| League One (England) | 2022/2023 | Winner |
| EFL Trophy (England) | 2022/2023 | 2nd Place |
