Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 12/2026 - 06/2027 | ![]() | Oldham Athletic | Midfield | 18 | |
| 09/2026 - 12/2026 | ![]() | Solihull Moors | Midfield | 18 | |
| 07/2026 - 09/2026 | ![]() | Oldham Athletic | Midfield | 18 | |
| 07/2025 - 06/2026 | ![]() | Oldham Athletic | Midfield | 8 | |
| 07/2024 - 07/2025 | ![]() | Exeter City | Midfield | 6 | |
| 02/2024 - 06/2024 | ![]() | Exeter City | Midfield | 8 | |
| 01/2024 - 01/2024 | ![]() | Hull City | Midfield | ||
| 08/2023 - 01/2024 | ![]() | Bristol Rovers | Midfield | 15 | |
| 08/2022 - 08/2023 | ![]() | Hull City | Midfield | 15 | |
| 07/2021 - 08/2022 | ![]() | Birmingham City | Midfield | 6 | |
| 01/2020 - 06/2021 | ![]() | Millwall FC | Midfield | 19 | |
| 08/2018 - 01/2020 | ![]() | Stoke City | Midfield | 38 | |
| 10/2019 - 10/2019 | ![]() | Stoke City U21 | Midfield | ||
| 09/2015 - 08/2018 | ![]() | Brentford FC | Midfield | 15 | |
| 07/2014 - 08/2015 | ![]() | Shrewsbury Town | Midfield | 4 | |
| 07/2012 - 06/2014 | ![]() | Shrewsbury Town | Midfield | 22 |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Championship | 274 | 246 | 28 | 57 | 21.851 | 3 | - | 16 | 54 | - | 2 | » All matches | |
| FA Cup | 19 | 17 | 2 | 5 | 1.531 | - | - | 1 | 5 | - | - | » All matches | |
| League Cup | 16 | 13 | 3 | 4 | 1.335 | - | - | 1 | 4 | - | - | » All matches | |
| League One | 111 | 86 | 25 | 22 | 7.877 | 3 | - | 2 | 17 | 1 | 2 | » All matches | |
| League Two | 88 | 83 | 5 | 7 | 7.484 | - | - | - | 16 | 1 | - | » All matches | |
| National League | 9 | 9 | - | 4 | 716 | - | - | - | 2 | - | - | » All matches | |
| EFL Trophy | 7 | 5 | 2 | 1 | 473 | - | - | - | 1 | - | - | » All matches | |
| Total | 524 | 459 | 65 | 100 | 41.267 | 6 | - | 20 | 99 | 2 | 4 | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
| U21 Premier League 2 Div. 2 | 1 | 1 | - | - | 90 | - | - | - | - | - | - | » All matches | |
| Total | 1 | 1 | - | - | 90 | - | - | - | - | - | - |











