Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Warrington Town | 2023/24 – 2024/25 | 74 | 2 | — |
| Oldham | 2016/17 – 2022/23 | 142 | 18 | — |
| Walsall | 2022/23 | 16 | 0 | — |
| Tranmere | 2019/20 – 2021/22 | 114 | 9 | 5 |
| Fleetwood | 2019/20 | 17 | 3 | — |
| Bury | 2015/16 – 2018/19 | 68 | 2 | — |
| Blackpool | 2014/15 | 41 | 2 | — |
| Huddersfield | 2009/10 – 2013/14 | 223 | 10 | — |
| Southend | 2008/09 | 48 | 5 | — |
| Everton | 2003/04 | 1 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 28 Jul 2023 | Walsall | Warrington Town | Free |
| 1 Jun 2023 | Oldham | Walsall | — |
| 11 Nov 2022 | Walsall | Oldham | Loan |
| 1 Jul 2022 | Tranmere | Walsall | Free |
| 1 Jan 2020 | Fleetwood Town | Tranmere | Free |
| 1 Aug 2019 | Oldham | Fleetwood Town | Free |
| 1 Jul 2018 | Bury | Oldham | — |
| 3 Jan 2018 | Oldham | Bury | Loan |
| 20 Jul 2016 | Bury | Oldham | Free |
| 1 Jul 2015 | Blackpool | Bury | Free |
| 28 Jul 2014 | Huddersfield | Blackpool | Free |
| 1 Jul 2009 | Southend | Huddersfield | Free |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2024/25 | National League - North - Play-offs | Warrington Town | 31 | 30 | 2623 | 0 | — | 7 | 0 | — |
| 2024/25 | FA Trophy | Warrington Town | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2023/24 | National League - North - Play-offs | Warrington Town | 42 | 37 | 3270 | 2 | — | 0 | 0 | — |
| 2022/23 | National League | Oldham | 16 | 11 | 1079 | 2 | — | 3 | 0 | — |
| 2022/23 | League Two | Walsall | 14 | 11 | 897 | 0 | — | 0 | 0 | 6.77 |
| 2022/23 | FA Trophy | Oldham | 2 | 2 | 177 | 1 | — | 1 | 0 | — |
| 2022/23 | FA Cup | Walsall | 1 | 0 | 0 | 0 | — | 0 | 0 | — |
| 2022/23 | EFL Trophy | Walsall | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2021/22 | League Two | Tranmere | 46 | 46 | 4140 | 4 | 1 | 9 | 0 | 7.12 |
| 2021/22 | League Cup | Tranmere | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.30 |
| 2021/22 | FA Cup | Tranmere | 2 | 2 | 180 | 0 | — | 1 | 0 | 6.20 |
| 2021/22 | EFL Trophy | Tranmere | 2 | 1 | 90 | 0 | 1 | 0 | 0 | 7.70 |
| 2020/21 | League Two | Tranmere | 48 | 48 | 4320 | 4 | 3 | 6 | 0 | 7.02 |
| 2020/21 | League Cup | Tranmere | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.30 |
| 2020/21 | FA Cup | Tranmere | 2 | 2 | 180 | 1 | — | 0 | 0 | 7.30 |
| 2020/21 | EFL Trophy | Tranmere | 3 | 2 | 152 | 0 | — | 0 | 0 | 6.55 |
| 2019/20 | League One | Tranmere | 6 | 6 | 540 | 0 | — | 2 | 0 | 6.63 |
| 2019/20 | League One | Fleetwood | 12 | 11 | 914 | 1 | — | 3 | 0 | 6.63 |
| 2019/20 | FA Cup | Tranmere | 3 | 3 | 300 | 0 | — | 0 | 0 | 6.30 |
| 2019/20 | League Cup | Fleetwood | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.00 |
| 2019/20 | EFL Trophy | Fleetwood | 4 | 4 | 360 | 2 | — | 1 | 0 | — |
| 2018/19 | League Two | Oldham | 42 | 42 | 3732 | 3 | — | 9 | 0 | — |
| 2018/19 | EFL Trophy | Oldham | 3 | 3 | 270 | 1 | — | 2 | 0 | — |
| 2018/19 | FA Cup | Oldham | 4 | 4 | 360 | 2 | — | 0 | 1 | 7.27 |
| 2017/18 | League One | Bury | 18 | 16 | 1464 | 1 | — | 3 | 0 | — |
| 2017/18 | League One | Oldham | 19 | 18 | 1571 | 2 | — | 3 | 0 | — |
| 2017/18 | League Cup | Oldham | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2017/18 | EFL Trophy | Oldham | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2017/18 | FA Cup | Oldham | 1 | 1 | 90 | 1 | — | 0 | 0 | — |
| 2016/17 | League One | Oldham | 46 | 46 | 4140 | 5 | — | 9 | 0 | — |
| 2016/17 | League Cup | Oldham | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2016/17 | EFL Trophy | Oldham | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2016/17 | FA Cup | Oldham | 2 | 2 | 180 | 1 | — | 0 | 0 | — |
| 2015/16 | League One | Bury | 45 | 44 | 4001 | 1 | — | 6 | 0 | — |
| 2015/16 | League Cup | Bury | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2015/16 | FA Cup | Bury | 3 | 2 | 258 | 0 | — | 0 | 0 | — |
| 2014/15 | Championship | Blackpool | 39 | 37 | 3326 | 2 | — | 10 | 0 | — |
| 2014/15 | League Cup | Blackpool | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2014/15 | FA Cup | Blackpool | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2013/14 | Championship | Huddersfield | 26 | 24 | 2093 | 0 | — | 3 | 0 | — |
| 2013/14 | League Cup | Huddersfield | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2012/13 | Championship | Huddersfield | 43 | 42 | 3744 | 0 | — | 4 | 0 | — |
| 2012/13 | League Cup | Huddersfield | 1 | 1 | 90 | 0 | — | 1 | 0 | — |
| 2012/13 | FA Cup | Huddersfield | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2011/12 | League One | Huddersfield | 34 | 34 | 3090 | 0 | — | 5 | 0 | — |
| 2011/12 | EFL Trophy | Huddersfield | 1 | 1 | 90 | 1 | — | 1 | 0 | — |
| 2011/12 | League Cup | Huddersfield | 1 | 1 | 120 | 0 | — | 1 | 0 | — |
| 2010/11 | League One | Huddersfield | 49 | 49 | 4440 | 4 | — | 8 | 0 | — |
| 2010/11 | League Cup | Huddersfield | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2010/11 | FA Cup | Huddersfield | 5 | 5 | 420 | 0 | — | 1 | 0 | — |
| 2010/11 | EFL Trophy | Huddersfield | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2009/10 | League One | Huddersfield | 48 | 48 | 4307 | 5 | — | 6 | 0 | — |
| 2009/10 | League Cup | Huddersfield | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2009/10 | FA Cup | Huddersfield | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2008/09 | League One | Southend | 43 | 43 | 3823 | 4 | — | 6 | 1 | — |
| 2008/09 | FA Cup | Southend | 5 | 5 | 450 | 1 | — | 0 | 0 | — |
| 2003/04 | Premier League | Everton | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
