Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| MK Dons | 2024/25 – 2026/27 | 58 | 1 | 6 |
| Notts County | 2023/24 – 2024/25 | 73 | 20 | 14 |
| Willem II | 2017/18 – 2022/23 | 84 | 7 | 10 |
| Morecambe | 2022/23 | 21 | 2 | 4 |
| Cheltenham | 2021/22 | 16 | 0 | 1 |
| Birmingham | 2019/20 – 2020/21 | 46 | 2 | 5 |
| Hull City | 2020/21 | 23 | 0 | 1 |
| Cambuur | 2017/18 | 15 | 3 | — |
| GA Eagles | 2016/17 | 16 | 2 | 2 |
| Oxford | 2016/17 | 11 | 3 | — |
| England U19 | 2016 | 2 | 0 | — |
| Arsenal U19 | 2013 – 2015 | 11 | 5 | — |
| Barnsley | 2015/16 | 13 | 1 | — |
| Arsenal | 2015/16 | 1 | 0 | — |
| England U17 | 2013 | 3 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 1 Jul 2023 | Morecambe | Notts County | Free |
| 10 Jan 2023 | Willem II | Morecambe | — |
| 2 Feb 2022 | Cheltenham | Willem II | Free |
| 1 Oct 2021 | Birmingham | Cheltenham | Free |
| 1 Jul 2021 | Hull City | Birmingham | — |
| 18 Jan 2021 | Birmingham | Hull City | Loan |
| 18 Jul 2019 | Willem II | Birmingham | — |
| 1 Jul 2018 | Cambuur | Willem II | — |
| 30 Jan 2018 | Willem II | Cambuur | Loan |
| 17 Jul 2017 | Arsenal | Willem II | — |
| 10 Jan 2017 | Arsenal | GO Ahead Eagles | Loan |
| 1 Jul 2016 | Arsenal | Oxford United | Loan |
| 1 Nov 2015 | Barnsley | Arsenal | — |
| 31 Jul 2015 | Arsenal | Barnsley | Loan |
| 1 Jul 2013 | Aston Villa | Arsenal | — |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | EFL Trophy | MK Dons | 1 | 1 | 45 | 0 | 0 | 0 | 0 | 7.04 |
| 2026/27 | League One | MK Dons | 6 | 2 | 244 | 0 | 1 | 0 | 0 | 5.76 |
| 2025/26 | EFL Trophy | MK Dons | 1 | 1 | 87 | 0 | 0 | 0 | 0 | 6.30 |
| 2025/26 | FA Cup | MK Dons | 2 | 2 | 79 | 0 | 0 | 0 | 0 | 6.90 |
| 2025/26 | League Two | MK Dons | 30 | 13 | 1133 | 1 | 2 | 6 | 0 | 6.74 |
| 2024/25 | League Two | MK Dons | 18 | 18 | 1581 | 0 | 3 | 2 | 0 | 7.22 |
| 2024/25 | League Two | Notts County | 18 | 18 | 1538 | 4 | 3 | 2 | 0 | 7.22 |
| 2024/25 | FA Cup | Notts County | 4 | 3 | 94 | — | 0 | 1 | 0 | 6.80 |
| 2024/25 | League Cup | Notts County | 1 | 0 | 26 | 0 | 1 | 0 | 0 | 7.20 |
| 2023/24 | League Two | Notts County | 46 | 43 | 3807 | 15 | 10 | 5 | 0 | 7.49 |
| 2023/24 | FA Cup | Notts County | 1 | 1 | 84 | 1 | — | 0 | 0 | — |
| 2023/24 | League Cup | Notts County | 1 | 1 | 68 | 0 | — | 0 | 0 | 6.90 |
| 2023/24 | EFL Trophy | Notts County | 2 | 0 | 88 | 0 | — | 0 | 0 | 7.10 |
| 2022/23 | League One | Morecambe | 21 | 20 | 1654 | 2 | 4 | 4 | 0 | 6.80 |
| 2022/23 | Eerste Divisie | Willem II | 17 | 13 | 1215 | 1 | 1 | 2 | 0 | 6.82 |
| 2022/23 | KNVB Beker | Willem II | 1 | 1 | 46 | 0 | — | 1 | 0 | — |
| 2021/22 | Eredivisie | Willem II | 14 | 9 | 858 | 0 | — | 3 | 0 | 6.74 |
| 2021/22 | League One | Cheltenham | 12 | 9 | 750 | 0 | 1 | 3 | 0 | 6.80 |
| 2021/22 | EFL Trophy | Cheltenham | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2021/22 | FA Cup | Cheltenham | 3 | 2 | 130 | 0 | — | 0 | 0 | — |
| 2020/21 | League One | Hull City | 22 | 6 | 685 | 0 | 1 | 0 | 0 | 6.65 |
| 2020/21 | EFL Trophy | Hull City | 1 | 1 | 76 | 0 | — | 0 | 0 | 7.30 |
| 2020/21 | League Cup | Birmingham | 1 | 1 | 60 | 0 | — | 0 | 0 | 7.20 |
| 2020/21 | Friendlies Clubs | Birmingham | 1 | 1 | 87 | 0 | — | 0 | 0 | — |
| 2020/21 | Championship | Birmingham | 3 | 1 | 109 | 0 | — | 0 | 0 | 6.37 |
| 2019/20 | Championship | Birmingham | 38 | 29 | 2510 | 1 | 5 | 5 | 0 | 6.92 |
| 2019/20 | League Cup | Birmingham | 1 | 1 | 55 | 0 | — | 0 | 0 | 6.80 |
| 2019/20 | FA Cup | Birmingham | 2 | 1 | 96 | 1 | — | 0 | 0 | 6.70 |
| 2018/19 | Eredivisie | Willem II | 34 | 34 | 2936 | 5 | 7 | 3 | 0 | 6.96 |
| 2018/19 | KNVB Beker | Willem II | 6 | 5 | 508 | 1 | — | 0 | 0 | — |
| 2017/18 | Eerste Divisie | Cambuur | 15 | 13 | 1224 | 3 | — | 3 | 0 | — |
| 2017/18 | Eredivisie | Willem II | 10 | 3 | 240 | 0 | 2 | 1 | 0 | 8.05 |
| 2017/18 | KNVB Beker | Willem II | 2 | 0 | 13 | 0 | — | 0 | 0 | — |
| 2016/17 | Eredivisie | GA Eagles | 16 | 15 | 1275 | 2 | 2 | 2 | 0 | 7.03 |
| 2016/17 | League One | Oxford | 6 | 2 | 262 | 2 | — | 0 | 0 | — |
| 2016/17 | League Cup | Oxford | 2 | 0 | 54 | 1 | — | 1 | 0 | — |
| 2016/17 | EFL Trophy | Oxford | 3 | 3 | 255 | 0 | — | 1 | 0 | — |
| 2016 | UEFA U19 Championship | England U19 | 2 | 2 | 133 | 0 | — | 0 | 0 | — |
| 2015/16 | League One | Barnsley | 11 | 6 | 589 | 0 | — | 2 | 0 | — |
| 2015/16 | League Cup | Barnsley | 1 | 1 | 120 | 1 | — | 0 | 0 | — |
| 2015/16 | EFL Trophy | Barnsley | 1 | 1 | 87 | 0 | — | 0 | 0 | — |
| 2015 | UEFA Youth League | Arsenal U19 | 3 | 3 | 162 | 0 | — | 1 | 0 | — |
| 2015/16 | Premier League Asia Trophy | Arsenal | 1 | 0 | 26 | 0 | — | 0 | 0 | — |
| 2014 | UEFA Youth League | Arsenal U19 | 7 | 7 | 630 | 5 | — | 1 | 0 | — |
| 2013 | UEFA U17 Championship | England U17 | 3 | 3 | 213 | 0 | — | 1 | 1 | — |
| 2013 | UEFA Youth League | Arsenal U19 | 1 | 0 | 30 | 0 | — | 0 | 0 | — |
| 2013/14 | UEFA U17 Championship | 3 | 3 | 213 | 0 | — | 1 | 1 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Thigh Injury | 13 Apr 2025 | 13 Aug 2025 | 122 |
Trophies
| Competition | Season | Place |
|---|---|---|
| KNVB Beker (Netherlands) | 2018/2019 | 2nd Place |
| League One (England) | 2020/2021 | Winner |
| Premier League Asia Trophy (World) | 2015 | Winner |
