Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Mansfield | 2021/22 – 2026/27 | 180 | 3 | 14 |
| Port Vale | 2026/27 | 0 | 0 | 0 |
| Grimsby | 2019/20 – 2020/21 | 66 | 1 | 2 |
| Notts County | 2015/16 – 2018/19 | 154 | 8 | — |
| Wales U21 | 2013 – 2015 | 8 | 0 | — |
| Ipswich | 2012/13 – 2014/15 | 15 | 0 | — |
| Colchester | 2014/15 | 8 | 0 | — |
| Gillingham | 2013/14 | 3 | 0 | — |
| Macclesfield | 2010/11 – 2011/12 | 25 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 1 Jul 2021 | Grimsby | Mansfield Town | Free |
| 1 Jul 2019 | Notts County | Grimsby | Free |
| 4 Aug 2015 | Ipswich | Notts County | Free |
| 25 Mar 2015 | Colchester | Ipswich | — |
| 13 Nov 2014 | Ipswich | Colchester | Loan |
| 3 Nov 2014 | Colchester | Ipswich | — |
| 6 Oct 2014 | Ipswich | Colchester | Loan |
| 1 Jul 2014 | Gillingham | Ipswich | — |
| 3 Jan 2014 | Ipswich | Gillingham | Loan |
| 16 Dec 2013 | Gillingham | Ipswich | — |
| 13 Nov 2013 | Ipswich | Gillingham | Loan |
| 1 Jun 2012 | Macclesfield | Ipswich | € 285K |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Mansfield | 1 | 0 | 30 | 0 | 0 | 0 | 0 | 6.60 |
| 2026/27 | League One | Mansfield | 9 | 5 | 463 | 0 | 0 | 2 | 0 | 6.56 |
| 2025/26 | League Cup | Mansfield | 2 | 0 | 74 | 0 | 0 | 0 | 0 | 6.75 |
| 2025/26 | EFL Trophy | Mansfield | 1 | 1 | 69 | 0 | 0 | 0 | 0 | 7.20 |
| 2025/26 | FA Cup | Mansfield | 3 | 0 | 22 | 0 | 0 | 0 | 0 | 6.75 |
| 2025/26 | League One | Mansfield | 27 | 16 | 1488 | 0 | 1 | 7 | 0 | 6.73 |
| 2024/25 | League One | Mansfield | 34 | 30 | 2472 | 0 | 4 | 6 | 0 | 6.77 |
| 2024/25 | FA Cup | Mansfield | 1 | 1 | 29 | — | 0 | 0 | 0 | 6.20 |
| 2024/25 | League Cup | Mansfield | 1 | 0 | 11 | 0 | 0 | 0 | 0 | 7.00 |
| 2024/25 | EFL Trophy | Mansfield | 1 | 1 | 71 | 0 | 0 | 0 | 0 | 7.00 |
| 2023/24 | League Two | Mansfield | 4 | 3 | 135 | 1 | — | 0 | 0 | 6.55 |
| 2022/23 | League Two | Mansfield | 40 | 34 | 3107 | 1 | 5 | 3 | 0 | 6.95 |
| 2022/23 | League Cup | Mansfield | 1 | 1 | 90 | 0 | — | 1 | 0 | 6.20 |
| 2022/23 | EFL Trophy | Mansfield | 4 | 2 | 268 | 0 | — | 1 | 0 | 7.00 |
| 2022/23 | FA Cup | Mansfield | 2 | 2 | 180 | 0 | — | 1 | 0 | — |
| 2021/22 | League Two | Mansfield | 45 | 42 | 3680 | 1 | 4 | 8 | 0 | 6.92 |
| 2021/22 | FA Cup | Mansfield | 3 | 3 | 270 | 0 | — | 2 | 0 | — |
| 2021/22 | EFL Trophy | Mansfield | 1 | 0 | 44 | 0 | — | 0 | 0 | — |
| 2020/21 | League Two | Grimsby | 37 | 36 | 3223 | 1 | 1 | 4 | 0 | 6.64 |
| 2020/21 | League Cup | Grimsby | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.20 |
| 2020/21 | EFL Trophy | Grimsby | 1 | 1 | 76 | 0 | — | 0 | 0 | 6.30 |
| 2019/20 | League Two | Grimsby | 20 | 18 | 1626 | 0 | 1 | 6 | 0 | 6.75 |
| 2019/20 | League Cup | Grimsby | 3 | 2 | 180 | 0 | — | 0 | 0 | 6.30 |
| 2019/20 | EFL Trophy | Grimsby | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2019/20 | FA Cup | Grimsby | 1 | 1 | 82 | 0 | — | 0 | 0 | — |
| 2018/19 | League Two | Notts County | 25 | 23 | 2017 | 2 | — | 8 | 0 | — |
| 2018/19 | League Cup | Notts County | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2018/19 | EFL Trophy | Notts County | 3 | 2 | 204 | 0 | — | 1 | 0 | — |
| 2018/19 | FA Cup | Notts County | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2017/18 | League Two | Notts County | 45 | 37 | 3441 | 4 | — | 9 | 0 | — |
| 2017/18 | EFL Trophy | Notts County | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2017/18 | FA Cup | Notts County | 4 | 4 | 360 | 0 | — | 0 | 0 | 6.60 |
| 2016/17 | League Two | Notts County | 29 | 23 | 2134 | 2 | — | 3 | 0 | — |
| 2016/17 | EFL Trophy | Notts County | 3 | 2 | 215 | 0 | — | 0 | 0 | — |
| 2016/17 | FA Cup | Notts County | 1 | 0 | 17 | 0 | — | 0 | 0 | — |
| 2015/16 | League Two | Notts County | 38 | 35 | 3168 | 0 | — | 5 | 0 | — |
| 2015/16 | League Cup | Notts County | 1 | 1 | 120 | 0 | — | 0 | 0 | — |
| 2015/16 | EFL Trophy | Notts County | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2015/16 | FA Cup | Notts County | 1 | 1 | 82 | 0 | — | 0 | 0 | — |
| 2015 | UEFA U21 Championship | Wales U21 | 4 | 4 | 316 | 0 | — | 2 | 0 | — |
| 2014/15 | FA Cup | Colchester | 2 | 2 | 175 | 0 | — | 0 | 0 | — |
| 2014/15 | EFL Trophy | Colchester | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2014/15 | League Cup | Ipswich | 1 | 1 | 120 | 0 | — | 1 | 0 | — |
| 2014/15 | Championship | Ipswich | 3 | 2 | 158 | 0 | — | 0 | 0 | — |
| 2014/15 | League One | Colchester | 5 | 5 | 450 | 0 | — | 1 | 0 | — |
| 2013/14 | Championship | Ipswich | 4 | 4 | 360 | 0 | — | 2 | 0 | — |
| 2013 | UEFA U21 Championship | Wales U21 | 4 | 4 | 344 | 0 | — | 0 | 0 | — |
| 2013/14 | League One | Gillingham | 3 | 3 | 270 | 0 | — | 2 | 0 | — |
| 2012/13 | Championship | Ipswich | 6 | 2 | 215 | 0 | — | 0 | 0 | — |
| 2012/13 | FA Cup | Ipswich | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2011/12 | League Two | Macclesfield | 21 | 17 | 1581 | 0 | — | 1 | 0 | — |
| 2011/12 | League Cup | Macclesfield | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2011/12 | FA Cup | Macclesfield | 2 | 1 | 102 | 0 | — | 1 | 0 | — |
| 2010/11 | League Two | Macclesfield | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Injury | 18 Feb 2025 | 27 Feb 2025 | 9 |
| Injury | 4 Oct 2023 | 21 Mar 2024 | 169 |
| Injury | 16 Jul 2021 | 12 Aug 2021 | 27 |
| Inactive | 29 Mar 2025 | 3 Apr 2025 | 5 |
| Inactive | 26 Mar 2025 | 28 Mar 2025 | 2 |
| Inactive | 15 Feb 2025 | 17 Feb 2025 | 2 |
| Injury | 21 Apr 2025 | 28 Apr 2025 | 7 |
Trophies
| Competition | Season | Place |
|---|---|---|
| Nottinghamshire Saturday Senior Cup (England) | 2021/2022 | 2nd Place |
