Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Hereford | 2023/24 – 2024/25 | 68 | 20 | — |
| Walsall | 2022/23 – 2023/24 | 50 | 3 | 1 |
| Cheltenham | 2020/21 – 2021/22 | 78 | 13 | 2 |
| Northampton | 2018/19 – 2019/20 | 85 | 21 | 2 |
| Doncaster | 2015/16 – 2017/18 | 106 | 29 | — |
| Swindon | 2012/13 – 2014/15 | 105 | 35 | — |
| Yeovil Town | 2010/11 – 2013/14 | 87 | 25 | — |
| Bristol Rovers | 2008/09 – 2009/10 | 49 | 4 | — |
| Hereford United | 2008/09 | 28 | 2 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 1 Jul 2023 | Walsall | Hereford | Free |
| 1 Jul 2022 | Cheltenham | Walsall | Free |
| 29 Jul 2020 | Northampton | Cheltenham | — |
| 1 Jul 2018 | Doncaster | Northampton | Free |
| 1 Jul 2015 | Swindon Town | Doncaster | Free |
| 7 Nov 2013 | Yeovil Town | Swindon Town | — |
| 23 Aug 2013 | Swindon Town | Yeovil Town | Loan |
| 1 Jul 2012 | Yeovil Town | Swindon Town | — |
| 1 Jul 2010 | Bristol Rovers | Yeovil Town | — |
| 1 Sept 2008 | Bristol Rovers | Hereford United | Loan |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2024/25 | National League - North - Play-offs | Hereford | 44 | 15 | 1576 | 9 | — | 1 | 0 | — |
| 2024/25 | FA Trophy | Hereford | 1 | 1 | 62 | 0 | — | 0 | 0 | — |
| 2023/24 | National League - North - Play-offs | Hereford | 22 | 12 | 1200 | 11 | — | 0 | 0 | — |
| 2023/24 | FA Trophy | Hereford | 1 | 1 | 54 | 0 | — | 0 | 0 | — |
| 2022/23 | League Two | Walsall | 42 | 27 | 1448 | 1 | 1 | 1 | 0 | 6.51 |
| 2022/23 | League Cup | Walsall | 1 | 1 | 65 | 0 | — | 1 | 0 | 6.70 |
| 2022/23 | EFL Trophy | Walsall | 3 | 2 | 181 | 0 | — | 0 | 0 | — |
| 2022/23 | FA Cup | Walsall | 4 | 1 | 118 | 2 | — | 0 | 0 | 6.20 |
| 2021/22 | League One | Cheltenham | 23 | 10 | 816 | 4 | 1 | 2 | 0 | 6.69 |
| 2021/22 | FA Cup | Cheltenham | 1 | 0 | 28 | 1 | — | 0 | 0 | — |
| 2021/22 | EFL Trophy | Cheltenham | 2 | 2 | 178 | 0 | — | 0 | 0 | — |
| 2021/22 | League Cup | Cheltenham | 1 | 1 | 54 | 0 | — | 0 | 0 | 6.30 |
| 2020/21 | League Two | Cheltenham | 45 | 20 | 1991 | 8 | 1 | 0 | 0 | 6.69 |
| 2020/21 | League Cup | Cheltenham | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.90 |
| 2020/21 | FA Cup | Cheltenham | 4 | 1 | 147 | 0 | — | 0 | 0 | 6.80 |
| 2020/21 | EFL Trophy | Cheltenham | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.20 |
| 2019/20 | League Two | Northampton | 34 | 20 | 1792 | 9 | 1 | 1 | 0 | 6.72 |
| 2019/20 | EFL Trophy | Northampton | 2 | 1 | 73 | 0 | — | 0 | 0 | — |
| 2019/20 | FA Cup | Northampton | 4 | 4 | 296 | 0 | — | 0 | 0 | 6.90 |
| 2019/20 | League Cup | Northampton | 1 | 1 | 65 | 0 | 1 | 0 | 0 | 7.30 |
| 2018/19 | League Two | Northampton | 39 | 26 | 2400 | 12 | — | 0 | 0 | — |
| 2018/19 | EFL Trophy | Northampton | 4 | 3 | 230 | 0 | — | 0 | 0 | — |
| 2018/19 | FA Cup | Northampton | 1 | 1 | 58 | 0 | — | 0 | 0 | — |
| 2017/18 | League One | Doncaster | 9 | 3 | 312 | 0 | — | 1 | 0 | — |
| 2017/18 | EFL Trophy | Doncaster | 3 | 3 | 180 | 1 | — | 0 | 0 | — |
| 2017/18 | League Cup | Doncaster | 1 | 0 | 30 | 0 | — | 0 | 0 | — |
| 2016/17 | League Two | Doncaster | 37 | 25 | 2327 | 11 | — | 4 | 0 | — |
| 2016/17 | League Cup | Doncaster | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2016/17 | EFL Trophy | Doncaster | 2 | 2 | 142 | 1 | — | 0 | 0 | — |
| 2015/16 | League One | Doncaster | 46 | 41 | 3558 | 12 | — | 4 | 0 | — |
| 2015/16 | League Cup | Doncaster | 2 | 2 | 240 | 2 | — | 0 | 0 | — |
| 2015/16 | EFL Trophy | Doncaster | 2 | 1 | 83 | 0 | — | 0 | 0 | — |
| 2015/16 | FA Cup | Doncaster | 3 | 3 | 270 | 2 | — | 0 | 0 | — |
| 2014/15 | League One | Swindon | 48 | 28 | 2887 | 21 | — | 2 | 0 | — |
| 2014/15 | League Cup | Swindon | 2 | 1 | 117 | 0 | — | 0 | 0 | — |
| 2014/15 | EFL Trophy | Swindon | 2 | 2 | 180 | 1 | — | 0 | 0 | — |
| 2014/15 | FA Cup | Swindon | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2013/14 | Championship | Yeovil Town | 9 | 7 | 614 | 0 | — | 0 | 0 | — |
| 2013/14 | League One | Swindon | 3 | 3 | 251 | 0 | — | 0 | 0 | — |
| 2013/14 | League Cup | Swindon | 1 | 1 | 90 | 1 | — | 0 | 0 | — |
| 2012/13 | League One | Swindon | 42 | 40 | 3438 | 11 | — | 3 | 0 | — |
| 2012/13 | EFL Trophy | Swindon | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2012/13 | League Cup | Swindon | 4 | 3 | 340 | 1 | — | 0 | 0 | — |
| 2012/13 | FA Cup | Swindon | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2011/12 | League One | Yeovil Town | 35 | 31 | 2779 | 16 | — | 1 | 0 | — |
| 2011/12 | League Cup | Yeovil Town | 1 | 1 | 59 | 0 | — | 0 | 0 | — |
| 2011/12 | FA Cup | Yeovil Town | 3 | 3 | 260 | 1 | — | 0 | 0 | — |
| 2010/11 | League One | Yeovil Town | 36 | 27 | 2508 | 6 | — | 2 | 0 | — |
| 2010/11 | League Cup | Yeovil Town | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2010/11 | FA Cup | Yeovil Town | 2 | 2 | 180 | 2 | — | 1 | 0 | — |
| 2009/10 | League One | Bristol Rovers | 43 | 18 | 2068 | 3 | — | 2 | 0 | — |
| 2009/10 | FA Cup | Bristol Rovers | 1 | 1 | 90 | 0 | — | 1 | 0 | — |
| 2009/10 | League Cup | Bristol Rovers | 1 | 0 | 21 | 0 | — | 0 | 0 | — |
| 2008/09 | League One | Hereford United | 26 | 19 | 1720 | 2 | — | 2 | 0 | — |
| 2008/09 | League One | Bristol Rovers | 4 | 0 | 82 | 1 | — | 0 | 0 | — |
| 2008/09 | FA Cup | Hereford United | 2 | 2 | 156 | 0 | — | 0 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
