Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Stockport | 2024/25 – 2026/27 | 98 | 3 | 12 |
| Leeds | 2021/22 – 2023/24 | 5 | 0 | — |
| Leeds United U21 | 2021 – 2023 | 13 | 4 | — |
| MK Dons | 2023/24 | 22 | 0 | 1 |
| Oxford | 2022/23 | 40 | 1 | 3 |
| Chelsea U18 | 2017 – 2021 | 29 | 6 | — |
| Chelsea U23 | 2019 – 2021 | 23 | 0 | — |
| Leeds United U23 | 2021 | 21 | 0 | — |
| Chelsea | 2019/20 – 2020/21 | 0 | 0 | — |
| Chelsea U21 | 2020 | 2 | 0 | — |
| England U17 | 2019 | 5 | 0 | — |
| Chelsea U19 | 2019 | 4 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 19 Jan 2024 | Leeds | Milton Keynes Dons | Loan |
| 1 Jul 2023 | Oxford United | Leeds | — |
| 4 Aug 2022 | Leeds | Oxford United | Loan |
| 6 Nov 2021 | Oxford United | Leeds | — |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Stockport | 1 | 1 | 96 | 0 | 0 | 0 | 0 | 7.50 |
| 2026/27 | League One | Stockport | 11 | 11 | 819 | 0 | 4 | 0 | 0 | 7.05 |
| 2025/26 | EFL Trophy | Stockport | 3 | 2 | 145 | 0 | 0 | 0 | 0 | 6.90 |
| 2025/26 | League One | Stockport | 14 | 4 | 397 | 0 | 0 | 2 | 0 | 6.68 |
| 2024/25 | League One | Stockport | 34 | 30 | 2391 | 2 | 4 | 5 | 0 | 7.05 |
| 2024/25 | FA Cup | Stockport | 33 | 29 | 2025 | 1 | 3 | 2 | 0 | 6.83 |
| 2024/25 | EFL Trophy | Stockport | 2 | 1 | 77 | 0 | 1 | 0 | 0 | 7.20 |
| 2023/24 | League Two | MK Dons | 22 | 19 | 1636 | 0 | 1 | 5 | 0 | 6.91 |
| 2023 | Premier League 2 Division One | Leeds United U21 | 5 | 5 | 450 | 0 | — | 2 | 0 | — |
| 2023/24 | League Cup | Leeds | 1 | 0 | 0 | 0 | — | 0 | 0 | — |
| 2023 | Premier League Cup | Leeds United U21 | 3 | 3 | 270 | 2 | — | 1 | 0 | — |
| 2023 | Premier League International Cup | Leeds United U21 | 3 | 3 | 260 | 1 | — | 0 | 0 | — |
| 2022/23 | League One | Oxford | 33 | 29 | 2025 | 1 | 3 | 2 | 0 | 6.83 |
| 2022/23 | League Cup | Oxford | 2 | 2 | 132 | 0 | — | 1 | 0 | 6.80 |
| 2022/23 | EFL Trophy | Oxford | 2 | 2 | 153 | 0 | — | 1 | 0 | 6.70 |
| 2022/23 | FA Cup | Oxford | 3 | 2 | 183 | 0 | — | 0 | 0 | 7.00 |
| 2021/22 | Premier League | Leeds | 3 | 1 | 146 | 0 | — | 0 | 0 | 5.97 |
| 2021 | Premier League 2 Division One | Leeds United U23 | 21 | 21 | 1740 | 0 | — | 3 | 0 | — |
| 2021/22 | FA Cup | Leeds | 1 | 1 | 46 | 0 | — | 0 | 0 | 6.70 |
| 2021 | EFL Trophy | Leeds United U21 | 2 | 1 | 134 | 1 | — | 0 | 0 | 7.50 |
| 2020 | Premier League 2 Division One | Chelsea U23 | 20 | 18 | 1578 | 0 | — | 3 | 0 | — |
| 2020 | U18 Premier League - South | Chelsea U18 | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2020 | EFL Trophy | Chelsea U21 | 2 | 1 | 76 | 0 | — | 0 | 0 | 6.55 |
| 2020 | FA Youth Cup | Chelsea U18 | 3 | 3 | 270 | 1 | — | 0 | 0 | — |
| 2019 | UEFA U17 Championship | England U17 | 5 | 0 | 95 | 0 | — | 1 | 0 | — |
| 2019 | Premier League 2 | Chelsea U23 | 3 | 2 | 164 | 0 | — | 0 | 0 | — |
| 2019 | U18 Premier League | Chelsea U18 | 13 | 13 | 1114 | 4 | — | 2 | 0 | — |
| 2019 | FA Youth Cup | Chelsea U18 | 6 | 6 | 540 | 0 | — | 0 | 0 | — |
| 2019 | UEFA Youth League | Chelsea U19 | 4 | 4 | 339 | 0 | — | 0 | 0 | — |
| 2019/20 | UEFA U17 Championship | 5 | 0 | 95 | 0 | — | 1 | 0 | — | |
| 2018 | U18 Premier League | Chelsea U18 | 5 | 3 | 294 | 1 | — | 0 | 0 | — |
| 2017 | U18 Premier League | Chelsea U18 | 1 | 0 | 33 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Knee Injury | 30 Jul 2025 | Ongoing | 450 |
| Knock | 17 Mar 2022 | 19 Mar 2022 | 2 |
Trophies
| Competition | Season | Place |
|---|---|---|
| U18 Premier League (England) | 2017/2018 | Winner |
| FA Cup (England) | 2020/2021 | 2nd Place |
| FA Cup (England) | 2019/2020 | 2nd Place |
| FA Youth Cup (England) | 2019/2020 | 2nd Place |
| Premier League 2 (England) | 2020/2021 | 2nd Place |
| UEFA Champions League (Europe) | 2020/2021 | Winner |
| Queensland Champions Cup (World) | 2022 | 2nd Place |
