Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| MK Dons | 2026/27 | 4 | 0 | 0 |
| Wrexham | 2022/23 – 2025/26 | 113 | 4 | 15 |
| Solihull Moors | 2020/21 – 2022/23 | 91 | 6 | — |
| Shrewsbury | 2016/17 – 2020/21 | 19 | 2 | 2 |
| Gloucester City | 2020/21 | 1 | 0 | — |
| AFC Telford United | 2018/19 – 2019/20 | 28 | 4 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 19 Mar 2021 | Shrewsbury | Solihull Moors | Loan |
| 8 Mar 2021 | Gloucester City | Shrewsbury | — |
| 8 Feb 2021 | Shrewsbury | Gloucester City | Loan |
| 1 Jul 2020 | AFC Telford United | Shrewsbury | — |
| 7 Nov 2019 | Shrewsbury | AFC Telford United | Loan |
| 3 May 2019 | AFC Telford United | Shrewsbury | — |
| 11 Jan 2019 | Shrewsbury | AFC Telford United | Loan |
| 7 Jan 2019 | AFC Telford United | Shrewsbury | — |
| 9 Nov 2018 | Shrewsbury | AFC Telford United | Loan |
| 19 Aug 2026 | Wrexham | Milton Keynes Dons | Loan |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League One | MK Dons | 4 | 2 | 164 | 0 | 0 | 0 | 0 | 7.05 |
| 2025/26 | League Cup | Wrexham | 4 | 3 | 267 | 0 | 2 | 0 | 0 | 7.05 |
| 2025/26 | FA Cup | Wrexham | 2 | 0 | 60 | 0 | 0 | 0 | 0 | 7.00 |
| 2025/26 | Championship | Wrexham | 12 | 4 | 422 | 0 | 0 | 0 | 0 | 6.65 |
| 2024/25 | League One | Wrexham | 40 | 31 | 2866 | 2 | 9 | 1 | 0 | 6.95 |
| 2024/25 | FA Cup | Wrexham | 1 | 1 | 90 | — | 0 | 0 | 0 | 7.90 |
| 2024/25 | League Cup | Wrexham | 1 | 0 | 11 | 0 | 0 | 0 | 0 | 6.90 |
| 2024/25 | EFL Trophy | Wrexham | 3 | 1 | 129 | 0 | 0 | 0 | 0 | 6.50 |
| 2023/24 | League Two | Wrexham | 32 | 25 | 2112 | 2 | 4 | 1 | 1 | 6.85 |
| 2023/24 | League Cup | Wrexham | 2 | 1 | 107 | 0 | — | 1 | 0 | 6.50 |
| 2023/24 | EFL Trophy | Wrexham | 1 | 0 | 14 | 0 | — | 0 | 0 | 6.20 |
| 2023/24 | FA Cup | Wrexham | 2 | 1 | 91 | 0 | — | 0 | 0 | 6.45 |
| 2023/24 | Friendlies Clubs | Wrexham | 1 | 0 | 44 | 0 | — | 0 | 0 | — |
| 2022/23 | National League | Wrexham | 12 | 12 | 1062 | 0 | — | 0 | 0 | — |
| 2022/23 | National League | Solihull Moors | 33 | 28 | 2708 | 0 | — | 1 | 0 | — |
| 2022/23 | FA Cup | Solihull Moors | 3 | 3 | 278 | 1 | — | 0 | 0 | — |
| 2022/23 | FA Trophy | Solihull Moors | 2 | 0 | 58 | 1 | — | 0 | 0 | — |
| 2021/22 | National League | Solihull Moors | 42 | 36 | 3254 | 3 | — | 1 | 0 | — |
| 2021/22 | FA Cup | Solihull Moors | 2 | 1 | 142 | 0 | — | 0 | 0 | 6.70 |
| 2021/22 | FA Trophy | Solihull Moors | 4 | 3 | 290 | 0 | — | 0 | 0 | — |
| 2020/21 | National League | Solihull Moors | 5 | 5 | 379 | 1 | — | 0 | 0 | — |
| 2020/21 | National League - South | Gloucester City | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2020/21 | League One | Shrewsbury | 7 | 3 | 271 | 0 | — | 0 | 0 | 6.57 |
| 2020/21 | FA Cup | Shrewsbury | 1 | 0 | 21 | 0 | — | 0 | 0 | — |
| 2020/21 | EFL Trophy | Shrewsbury | 4 | 3 | 295 | 2 | 2 | 1 | 0 | 7.07 |
| 2019/20 | National League - South | AFC Telford United | 18 | 17 | 1539 | 3 | — | 0 | 0 | — |
| 2019/20 | FA Trophy | AFC Telford United | 1 | 0 | 30 | 0 | — | 0 | 0 | — |
| 2019/20 | League Cup | Shrewsbury | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.20 |
| 2019/20 | EFL Trophy | Shrewsbury | 2 | 1 | 92 | 0 | — | 0 | 0 | — |
| 2018/19 | National League N / S | AFC Telford United | 8 | 4 | 391 | 0 | — | 0 | 0 | — |
| 2018/19 | League One | Shrewsbury | 1 | 0 | 2 | 0 | — | 0 | 0 | — |
| 2018/19 | FA Trophy | AFC Telford United | 1 | 1 | 90 | 1 | — | 0 | 0 | — |
| 2018/19 | EFL Trophy | Shrewsbury | 2 | 1 | 118 | 0 | — | 0 | 0 | — |
| 2017/18 | EFL Trophy | Shrewsbury | 1 | 0 | 23 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Inactive | 11 Mar 2025 | 20 Mar 2025 | 9 |
Trophies
| Competition | Season | Place |
|---|---|---|
| EFL Trophy (England) | 2017/2018 | 2nd Place |
| National League (England) | 2022/2023 | Winner |
| League Two (England) | 2023/2024 | 2nd Place |
| League One (England) | 2024/2025 | 2nd Place |
| Florida Cup (World) | 2023 | 2nd Place |
