| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2016-2017 | 18 | Stevenage | eng ENG | 4. League Two | 9 | 0 | 91 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 18 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 11 | 7 | 611 | 6.8 | 2 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 0.29 | 0.15 | 0.44 | 0.15 | 0.29 | Matches |
| 2017-2018 | 19 | Exeter City | eng ENG | 4. League Two | 1 | 1 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 19 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 7 | 2 | 202 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 20 | Leicester City | eng ENG | Jr. PL2 — Div. 1 | 19 | 12 | 940 | 10.4 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 21 | Carlisle United | eng ENG | EFL Cup | 1 | 1 | 80 | 0.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 21 | Carlisle United | eng ENG | FA Cup | 5 | 2 | 194 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 21 | Carlisle United | eng ENG | 4. League Two | 26 | 9 | 1,044 | 11.6 | 3 | 0 | 3 | 3 | 0 | 0 | 5 | 0 | 0.26 | 0.00 | 0.26 | 0.26 | 0.26 | Matches |
| 2020-2021 | 22 | Scunthorpe United | eng ENG | EFL Cup | 1 | 1 | 77 | 0.9 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.17 | 0.00 | 1.17 | 1.17 | 1.17 | Matches |
| 2020-2021 | 22 | Scunthorpe United | eng ENG | 4. League Two | 41 | 35 | 2,832 | 31.5 | 8 | 6 | 14 | 8 | 0 | 0 | 7 | 0 | 0.25 | 0.19 | 0.44 | 0.25 | 0.44 | Matches |
| 2021-2022 | 23 | Scunthorpe United | eng ENG | EFL Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 23 | Scunthorpe United | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 23 | Scunthorpe United | eng ENG | 4. League Two | 15 | 12 | 965 | 10.7 | 4 | 1 | 5 | 3 | 1 | 2 | 3 | 0 | 0.37 | 0.09 | 0.47 | 0.28 | 0.37 | Matches |
| 2021-2022 | 23 | Bristol Rovers | eng ENG | 4. League Two | 13 | 2 | 410 | 4.6 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.22 | 0.00 | 0.22 | 0.22 | 0.22 | Matches |
| 2022-2023 | 24 | Bristol Rovers | eng ENG | EFL Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 24 | Bristol Rovers | eng ENG | FA Cup | 1 | 1 | 65 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 24 | Bristol Rovers | eng ENG | 3. League One | 34 | 16 | 1,625 | 18.1 | 4 | 1 | 5 | 4 | 0 | 0 | 7 | 1 | 0.22 | 0.06 | 0.28 | 0.22 | 0.28 | Matches |
| 2023-2024 | 25 | Port Vale | eng ENG | EFL Cup | 2 | 0 | 73 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 25 | Bristol Rovers | eng ENG | EFL Cup | 0 | 0 | Matches | |||||||||||||||
| 2023-2024 | 25 | Port Vale | eng ENG | FA Cup | 4 | 0 | 104 | 1.2 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.87 | 0.00 | 0.87 | 0.87 | 0.87 | Matches |
| 2023-2024 | 25 | Port Vale | eng ENG | 3. League One | 26 | 15 | 1,326 | 14.7 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.07 | 0.00 | 0.07 | 0.07 | 0.07 | Matches |
| 2023-2024 | 25 | Bristol Rovers | eng ENG | 3. League One | 3 | 0 | 39 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 26 | Cambridge United | eng ENG | FA Cup | 1 | 1 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 26 | Cambridge United | eng ENG | 3. League One | 32 | 18 | 1,532 | 17.0 | 2 | 1 | 3 | 2 | 0 | 0 | 9 | 1 | 0.12 | 0.06 | 0.18 | 0.12 | 0.18 | Matches |
| 2025-2026 | 27 | Cambridge United | eng ENG | EFL Cup | 1 | 0 | 24 | 0.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 3.75 | 0.00 | 3.75 | 3.75 | 3.75 | Matches |
| 2025-2026 | 27 | Crawley Town | eng ENG | FA Cup | 1 | 1 | 44 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 27 | Crawley Town | eng ENG | 4. League Two | 15 | 11 | 1,026 | 11.4 | 3 | 0 | 3 | 3 | 0 | 1 | 3 | 1 | 0.26 | 0.00 | 0.26 | 0.26 | 0.26 | Matches |
| 2025-2026 | 27 | Cambridge United | eng ENG | 4. League Two | 3 | 0 | 24 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 9 Seasons | 8 Clubs | 4 Leagues | 238 | 129 | 11,935 | 132.6 | 29 | 9 | 38 | 28 | 1 | 3 | 48 | 4 | 0.22 | 0.07 | 0.29 | 0.21 | 0.28 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Bristol Rovers (3 Seasons) | 4 Leagues | 52 | 20 | 2,229 | 24.8 | 5 | 1 | 6 | 5 | 0 | 0 | 11 | 1 | 0.20 | 0.04 | 0.24 | 0.20 | 0.24 | ||||
| Scunthorpe United (2 Seasons) | 3 Leagues | 59 | 50 | 4,054 | 45.0 | 13 | 7 | 20 | 12 | 1 | 2 | 10 | 0 | 0.29 | 0.16 | 0.44 | 0.27 | 0.42 | ||||
| Cambridge United (2 Seasons) | 4 Leagues | 37 | 19 | 1,625 | 18.1 | 3 | 1 | 4 | 3 | 0 | 0 | 10 | 1 | 0.17 | 0.06 | 0.22 | 0.17 | 0.22 | ||||
| Tottenham Hotspur (2 Seasons) | 1 League | 18 | 9 | 813 | 9.0 | 2 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 0.22 | 0.11 | 0.33 | 0.11 | 0.22 | ||||
| Carlisle United (1 Season) | 3 Leagues | 32 | 12 | 1,318 | 14.6 | 3 | 0 | 3 | 3 | 0 | 0 | 7 | 0 | 0.20 | 0.00 | 0.20 | 0.20 | 0.20 | ||||
| Port Vale (1 Season) | 3 Leagues | 32 | 15 | 1,503 | 16.7 | 2 | 0 | 2 | 2 | 0 | 0 | 4 | 0 | 0.12 | 0.00 | 0.12 | 0.12 | 0.12 | ||||
| Leicester City (1 Season) | 1 League | 19 | 12 | 940 | 10.4 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Crawley Town (1 Season) | 2 Leagues | 16 | 12 | 1,070 | 11.9 | 3 | 0 | 3 | 3 | 0 | 1 | 4 | 2 | 0.25 | 0.00 | 0.25 | 0.25 | 0.25 | ||||
| Stevenage (1 Season) | 1 League | 9 | 0 | 91 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Exeter City (1 Season) | 1 League | 1 | 1 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| League Two (6 Seasons) | 123 | 70 | 6,437 | 71.5 | 19 | 7 | 26 | 18 | 1 | 3 | 23 | 1 | 0.27 | 0.10 | 0.36 | 0.25 | 0.35 | |||||
| FA Cup (6 Seasons) | 13 | 6 | 542 | 6.0 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 1 | 0.17 | 0.00 | 0.17 | 0.17 | 0.17 | |||||
| EFL Cup (6 Seasons) | 7 | 4 | 434 | 4.8 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.41 | 0.00 | 0.41 | 0.41 | 0.41 | |||||
| League One (3 Seasons) | 95 | 49 | 4,522 | 50.2 | 7 | 2 | 9 | 7 | 0 | 0 | 18 | 2 | 0.14 | 0.04 | 0.18 | 0.14 | 0.18 | |||||
| PL2 — Div. 1 (3 Seasons) | 37 | 21 | 1,753 | 19.5 | 2 | 1 | 3 | 1 | 1 | 1 | 4 | 1 | 0.10 | 0.05 | 0.15 | 0.05 | 0.10 | |||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2016-2017 | 18 | Stevenage | 1 League | 9 | 0 | 91 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2016-2017 | 18 | Tottenham Hotspur | 1 League | 11 | 7 | 611 | 6.8 | 2 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 0.29 | 0.15 | 0.44 | 0.15 | 0.29 | |
| 2017-2018 | 19 | Tottenham Hotspur | 1 League | 7 | 2 | 202 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2017-2018 | 19 | Exeter City | 1 League | 1 | 1 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2018-2019 | 20 | Leicester City | 1 League | 19 | 12 | 940 | 10.4 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2019-2020 | 21 | Carlisle United | 3 Leagues | 32 | 12 | 1,318 | 14.6 | 3 | 0 | 3 | 3 | 0 | 0 | 7 | 0 | 0.20 | 0.00 | 0.20 | 0.20 | 0.20 | |
| 2020-2021 | 22 | Scunthorpe United | 2 Leagues | 42 | 36 | 2,909 | 32.3 | 9 | 6 | 15 | 9 | 0 | 0 | 7 | 0 | 0.28 | 0.19 | 0.46 | 0.28 | 0.46 | |
| 2021-2022 | 23 | Scunthorpe United | 3 Leagues | 17 | 14 | 1,145 | 12.7 | 4 | 1 | 5 | 3 | 1 | 2 | 3 | 0 | 0.31 | 0.08 | 0.39 | 0.24 | 0.31 | |
| 2021-2022 | 23 | Bristol Rovers | 1 League | 13 | 2 | 410 | 4.6 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.22 | 0.00 | 0.22 | 0.22 | 0.22 | |
| 2022-2023 | 24 | Bristol Rovers | 3 Leagues | 36 | 18 | 1,780 | 19.8 | 4 | 1 | 5 | 4 | 0 | 0 | 8 | 1 | 0.20 | 0.05 | 0.25 | 0.20 | 0.25 | |
| 2023-2024 | 25 | Bristol Rovers | 2 Leagues | 3 | 0 | 39 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2023-2024 | 25 | Port Vale | 3 Leagues | 32 | 15 | 1,503 | 16.7 | 2 | 0 | 2 | 2 | 0 | 0 | 4 | 0 | 0.12 | 0.00 | 0.12 | 0.12 | 0.12 | |
| 2024-2025 | 26 | Cambridge United | 2 Leagues | 33 | 19 | 1,577 | 17.5 | 2 | 1 | 3 | 2 | 0 | 0 | 10 | 1 | 0.11 | 0.06 | 0.17 | 0.11 | 0.17 | |
| 2025-2026 | 27 | Cambridge United | 2 Leagues | 4 | 0 | 48 | 0.5 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.87 | 0.00 | 1.87 | 1.87 | 1.87 | |
| 2025-2026 | 27 | Crawley Town | 2 Leagues | 16 | 12 | 1,070 | 11.9 | 3 | 0 | 3 | 3 | 0 | 1 | 4 | 2 | 0.25 | 0.00 | 0.25 | 0.25 | 0.25 | |
| 9 Seasons | 8 Clubs | 4 Leagues | 238 | 129 | 11,935 | 132.6 | 29 | 9 | 38 | 28 | 1 | 3 | 48 | 4 | 0.22 | 0.07 | 0.29 | 0.21 | 0.28 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Bristol Rovers (3 Seasons) | 4 Leagues | 52 | 20 | 2,229 | 24.8 | 5 | 1 | 6 | 5 | 0 | 0 | 11 | 1 | 0.20 | 0.04 | 0.24 | 0.20 | 0.24 | |||
| Scunthorpe United (2 Seasons) | 3 Leagues | 59 | 50 | 4,054 | 45.0 | 13 | 7 | 20 | 12 | 1 | 2 | 10 | 0 | 0.29 | 0.16 | 0.44 | 0.27 | 0.42 | |||
| Cambridge United (2 Seasons) | 4 Leagues | 37 | 19 | 1,625 | 18.1 | 3 | 1 | 4 | 3 | 0 | 0 | 10 | 1 | 0.17 | 0.06 | 0.22 | 0.17 | 0.22 | |||
| Tottenham Hotspur (2 Seasons) | 1 League | 18 | 9 | 813 | 9.0 | 2 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 0.22 | 0.11 | 0.33 | 0.11 | 0.22 | |||
| Carlisle United (1 Season) | 3 Leagues | 32 | 12 | 1,318 | 14.6 | 3 | 0 | 3 | 3 | 0 | 0 | 7 | 0 | 0.20 | 0.00 | 0.20 | 0.20 | 0.20 | |||
| Port Vale (1 Season) | 3 Leagues | 32 | 15 | 1,503 | 16.7 | 2 | 0 | 2 | 2 | 0 | 0 | 4 | 0 | 0.12 | 0.00 | 0.12 | 0.12 | 0.12 | |||
| Leicester City (1 Season) | 1 League | 19 | 12 | 940 | 10.4 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Crawley Town (1 Season) | 2 Leagues | 16 | 12 | 1,070 | 11.9 | 3 | 0 | 3 | 3 | 0 | 1 | 4 | 2 | 0.25 | 0.00 | 0.25 | 0.25 | 0.25 | |||
| Stevenage (1 Season) | 1 League | 9 | 0 | 91 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Exeter City (1 Season) | 1 League | 1 | 1 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| League Two (6 Seasons) | 123 | 70 | 6,437 | 71.5 | 19 | 7 | 26 | 18 | 1 | 3 | 23 | 1 | 0.27 | 0.10 | 0.36 | 0.25 | 0.35 | ||||
| FA Cup (6 Seasons) | 13 | 6 | 542 | 6.0 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 1 | 0.17 | 0.00 | 0.17 | 0.17 | 0.17 | ||||
| EFL Cup (6 Seasons) | 7 | 4 | 434 | 4.8 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.41 | 0.00 | 0.41 | 0.41 | 0.41 | ||||
| League One (3 Seasons) | 95 | 49 | 4,522 | 50.2 | 7 | 2 | 9 | 7 | 0 | 0 | 18 | 2 | 0.14 | 0.04 | 0.18 | 0.14 | 0.18 | ||||
| PL2 — Div. 1 (3 Seasons) | 37 | 21 | 1,753 | 19.5 | 2 | 1 | 3 | 1 | 1 | 1 | 4 | 1 | 0.10 | 0.05 | 0.15 | 0.05 | 0.10 | ||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2016-2017 | 18 | Stevenage | eng ENG | 4. League Two | 10th | 9 | 0 | 91 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 18 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 10th | 11 | 7 | 611 | 6.8 | 2 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 0.29 | 0.15 | 0.44 | 0.15 | 0.29 | Matches |
| 2017-2018 | 19 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 9th | 7 | 2 | 202 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 19 | Exeter City | eng ENG | 4. League Two | 4th | 1 | 1 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 20 | Leicester City | eng ENG | Jr. PL2 — Div. 1 | 10th | 19 | 12 | 940 | 10.4 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 21 | Carlisle United | eng ENG | 4. League Two | 18th | 26 | 9 | 1,044 | 11.6 | 3 | 0 | 3 | 3 | 0 | 0 | 5 | 0 | 0.26 | 0.00 | 0.26 | 0.26 | 0.26 | Matches |
| 2020-2021 | 22 | Scunthorpe United | eng ENG | 4. League Two | 22nd | 41 | 35 | 2,832 | 31.5 | 8 | 6 | 14 | 8 | 0 | 0 | 7 | 0 | 0.25 | 0.19 | 0.44 | 0.25 | 0.44 | Matches |
| 2021-2022 | 23 | Scunthorpe United | eng ENG | 4. League Two | 24th | 15 | 12 | 965 | 10.7 | 4 | 1 | 5 | 3 | 1 | 2 | 3 | 0 | 0.37 | 0.09 | 0.47 | 0.28 | 0.37 | Matches |
| 2021-2022 | 23 | Bristol Rovers | eng ENG | 4. League Two | 3rd | 13 | 2 | 410 | 4.6 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.22 | 0.00 | 0.22 | 0.22 | 0.22 | Matches |
| 2022-2023 | 24 | Bristol Rovers | eng ENG | 3. League One | 17th | 34 | 16 | 1,625 | 18.1 | 4 | 1 | 5 | 4 | 0 | 0 | 7 | 1 | 0.22 | 0.06 | 0.28 | 0.22 | 0.28 | Matches |
| 2023-2024 | 25 | Bristol Rovers | eng ENG | 3. League One | 15th | 3 | 0 | 39 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 25 | Port Vale | eng ENG | 3. League One | 23rd | 26 | 15 | 1,326 | 14.7 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.07 | 0.00 | 0.07 | 0.07 | 0.07 | Matches |
| 2024-2025 | 26 | Cambridge United | eng ENG | 3. League One | 23rd | 32 | 18 | 1,532 | 17.0 | 2 | 1 | 3 | 2 | 0 | 0 | 9 | 1 | 0.12 | 0.06 | 0.18 | 0.12 | 0.18 | Matches |
| 2025-2026 | 27 | Cambridge United | eng ENG | 4. League Two | 3rd | 3 | 0 | 24 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 27 | Crawley Town | eng ENG | 4. League Two | 22nd | 15 | 11 | 1,026 | 11.4 | 3 | 0 | 3 | 3 | 0 | 1 | 3 | 1 | 0.26 | 0.00 | 0.26 | 0.26 | 0.26 | Matches |
| 9 Seasons | 8 Clubs | 2 Leagues | 218 | 119 | 10,959 | 121.8 | 26 | 9 | 35 | 25 | 1 | 3 | 41 | 3 | 0.21 | 0.07 | 0.29 | 0.21 | 0.28 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Bristol Rovers (3 Seasons) | 2 Leagues | 50 | 18 | 2,074 | 23.0 | 5 | 1 | 6 | 5 | 0 | 0 | 10 | 1 | 0.22 | 0.04 | 0.26 | 0.22 | 0.26 | |||||
| Scunthorpe United (2 Seasons) | 1 League | 56 | 47 | 3,797 | 42.2 | 12 | 7 | 19 | 11 | 1 | 2 | 10 | 0 | 0.28 | 0.17 | 0.45 | 0.26 | 0.43 | |||||
| Cambridge United (2 Seasons) | 2 Leagues | 35 | 18 | 1,556 | 17.3 | 2 | 1 | 3 | 2 | 0 | 0 | 9 | 1 | 0.12 | 0.06 | 0.17 | 0.12 | 0.17 | |||||
| Tottenham Hotspur (2 Seasons) | 1 League | 18 | 9 | 813 | 9.0 | 2 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 0.22 | 0.11 | 0.33 | 0.11 | 0.22 | |||||
| Carlisle United (1 Season) | 1 League | 26 | 9 | 1,044 | 11.6 | 3 | 0 | 3 | 3 | 0 | 0 | 5 | 0 | 0.26 | 0.00 | 0.26 | 0.26 | 0.26 | |||||
| Port Vale (1 Season) | 1 League | 26 | 15 | 1,326 | 14.7 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.07 | 0.00 | 0.07 | 0.07 | 0.07 | |||||
| Leicester City (1 Season) | 1 League | 19 | 12 | 940 | 10.4 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Crawley Town (1 Season) | 1 League | 15 | 11 | 1,026 | 11.4 | 3 | 0 | 3 | 3 | 0 | 1 | 3 | 1 | 0.26 | 0.00 | 0.26 | 0.26 | 0.26 | |||||
| Stevenage (1 Season) | 1 League | 9 | 0 | 91 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Exeter City (1 Season) | 1 League | 1 | 1 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| League Two (6 Seasons) | 123 | 70 | 6,437 | 71.5 | 19 | 7 | 26 | 18 | 1 | 3 | 23 | 1 | 0.27 | 0.10 | 0.36 | 0.25 | 0.35 | ||||||
| League One (3 Seasons) | 95 | 49 | 4,522 | 50.2 | 7 | 2 | 9 | 7 | 0 | 0 | 18 | 2 | 0.14 | 0.04 | 0.18 | 0.14 | 0.18 | ||||||
| PL2 — Div. 1 (3 Seasons) | 37 | 21 | 1,753 | 19.5 | 2 | 1 | 3 | 1 | 1 | 1 | 4 | 1 | 0.10 | 0.05 | 0.15 | 0.05 | 0.10 | ||||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2019-2020 | 21 | Carlisle United | eng ENG | EFL Cup | 33rd | 1 | 1 | 80 | 0.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 21 | Carlisle United | eng ENG | FA Cup | 33rd | 5 | 2 | 194 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 22 | Scunthorpe United | eng ENG | EFL Cup | 58th | 1 | 1 | 77 | 0.9 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.17 | 0.00 | 1.17 | 1.17 | 1.17 | Matches |
| 2021-2022 | 23 | Scunthorpe United | eng ENG | EFL Cup | Rd1 | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 23 | Scunthorpe United | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2022-2023 | 24 | Bristol Rovers | eng ENG | EFL Cup | Rd1 | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 24 | Bristol Rovers | eng ENG | FA Cup | 1 | 1 | 65 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2023-2024 | 25 | Bristol Rovers | eng ENG | EFL Cup | Rd1 | 0 | 0 | Matches | |||||||||||||||
| 2023-2024 | 25 | Port Vale | eng ENG | EFL Cup | QF | 2 | 0 | 73 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 25 | Port Vale | eng ENG | FA Cup | 4 | 0 | 104 | 1.2 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.87 | 0.00 | 0.87 | 0.87 | 0.87 | Matches | |
| 2024-2025 | 26 | Cambridge United | eng ENG | FA Cup | 1 | 1 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2025-2026 | 27 | Cambridge United | eng ENG | EFL Cup | Rd3 | 1 | 0 | 24 | 0.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 3.75 | 0.00 | 3.75 | 3.75 | 3.75 | Matches |
| 2025-2026 | 27 | Crawley Town | eng ENG | FA Cup | 1 | 1 | 44 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 7 Seasons | 6 Clubs | 2 Leagues | 20 | 10 | 976 | 10.8 | 3 | 0 | 3 | 3 | 0 | 0 | 7 | 1 | 0.28 | 0.00 | 0.28 | 0.28 | 0.28 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Scunthorpe United (2 Seasons) | 2 Leagues | 3 | 3 | 257 | 2.9 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.35 | 0.00 | 0.35 | 0.35 | 0.35 | |||||
| Cambridge United (2 Seasons) | 2 Leagues | 2 | 1 | 69 | 0.8 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1.30 | 0.00 | 1.30 | 1.30 | 1.30 | |||||
| Bristol Rovers (2 Seasons) | 2 Leagues | 2 | 2 | 155 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Carlisle United (1 Season) | 2 Leagues | 6 | 3 | 274 | 3.0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Port Vale (1 Season) | 2 Leagues | 6 | 0 | 177 | 2.0 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.51 | 0.00 | 0.51 | 0.51 | 0.51 | |||||
| Crawley Town (1 Season) | 1 League | 1 | 1 | 44 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| FA Cup (6 Seasons) | 13 | 6 | 542 | 6.0 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 1 | 0.17 | 0.00 | 0.17 | 0.17 | 0.17 | ||||||
| EFL Cup (6 Seasons) | 7 | 4 | 434 | 4.8 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.41 | 0.00 | 0.41 | 0.41 | 0.41 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016-2017 | 18 | Stevenage | eng ENG | 4. League Two | 1.0 | 0 | 0 | 1 | 0.00 | 0.99 | 0.00 | 0 | 0 | Matches | ||
| 2016-2017 | 18 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 6.8 | 2 | 1 | 1 | Matches | |||||||
| 2017-2018 | 19 | Exeter City | eng ENG | 4. League Two | 0.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2017-2018 | 19 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 2.2 | 0 | 0 | 0 | Matches | |||||||
| 2018-2019 | 20 | Leicester City | eng ENG | Jr. PL2 — Div. 1 | 10.4 | 0 | 0 | 0 | Matches | |||||||
| 2019-2020 | 21 | Carlisle United | eng ENG | EFL Cup | 0.9 | 0 | 2 | 1 | 50.0 | 2.25 | 1.13 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 21 | Carlisle United | eng ENG | FA Cup | 2.2 | 0 | 3 | 2 | 66.7 | 1.39 | 0.93 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 21 | Carlisle United | eng ENG | 4. League Two | 11.6 | 3 | 20 | 7 | 35.0 | 1.72 | 0.60 | 0.15 | 0.43 | 0 | 0 | Matches |
| 2020-2021 | 22 | Scunthorpe United | eng ENG | EFL Cup | 0.9 | 1 | 2 | 2 | 100.0 | 2.34 | 2.34 | 0.50 | 0.50 | 0 | 0 | Matches |
| 2020-2021 | 22 | Scunthorpe United | eng ENG | 4. League Two | 31.5 | 8 | 54 | 21 | 38.9 | 1.72 | 0.67 | 0.15 | 0.38 | 0 | 0 | Matches |
| 2021-2022 | 23 | Scunthorpe United | eng ENG | EFL Cup | 1.0 | 0 | 2 | 1 | 50.0 | 2.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 23 | Scunthorpe United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 23 | Scunthorpe United | eng ENG | 4. League Two | 10.7 | 4 | 29 | 9 | 31.0 | 2.70 | 0.84 | 0.10 | 0.33 | 1 | 2 | Matches |
| 2021-2022 | 23 | Bristol Rovers | eng ENG | 4. League Two | 4.6 | 1 | 11 | 3 | 27.3 | 2.41 | 0.66 | 0.09 | 0.33 | 0 | 0 | Matches |
| 2022-2023 | 24 | Bristol Rovers | eng ENG | EFL Cup | 1.0 | 0 | 2 | 0 | 0.0 | 2.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 24 | Bristol Rovers | eng ENG | FA Cup | 0.7 | 0 | 1 | 0 | 0.0 | 1.38 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 24 | Bristol Rovers | eng ENG | 3. League One | 18.1 | 4 | 41 | 16 | 39.0 | 2.27 | 0.89 | 0.10 | 0.25 | 0 | 0 | Matches |
| 2023-2024 | 25 | Port Vale | eng ENG | EFL Cup | 0.8 | 0 | 1 | 0 | 0.0 | 1.23 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 25 | Port Vale | eng ENG | FA Cup | 1.2 | 1 | 3 | 3 | 100.0 | 2.60 | 2.60 | 0.33 | 0.33 | 0 | 0 | Matches |
| 2023-2024 | 25 | Port Vale | eng ENG | 3. League One | 14.7 | 1 | 24 | 7 | 29.2 | 1.63 | 0.48 | 0.04 | 0.14 | 0 | 0 | Matches |
| 2023-2024 | 25 | Bristol Rovers | eng ENG | 3. League One | 0.4 | 0 | 1 | 1 | 100.0 | 2.31 | 2.31 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 26 | Cambridge United | eng ENG | FA Cup | 0.5 | 0 | 0 | 0 | Matches | |||||||
| 2024-2025 | 26 | Cambridge United | eng ENG | 3. League One | 17.0 | 2 | 25 | 7 | 28.0 | 1.47 | 0.41 | 0.08 | 0.29 | 0 | 0 | Matches |
| 2025-2026 | 27 | Cambridge United | eng ENG | EFL Cup | 0.3 | 1 | 1 | 1 | 100.0 | 3.75 | 3.75 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2025-2026 | 27 | Crawley Town | eng ENG | FA Cup | 0.5 | 0 | 0 | 0 | Matches | |||||||
| 2025-2026 | 27 | Crawley Town | eng ENG | 4. League Two | 11.4 | 3 | 25 | 11 | 44.0 | 2.19 | 0.96 | 0.12 | 0.27 | 0 | 1 | Matches |
| 2025-2026 | 27 | Cambridge United | eng ENG | 4. League Two | 0.3 | 0 | 2 | 1 | 50.0 | 7.50 | 3.75 | 0.00 | 0.00 | 0 | 0 | Matches |
| 9 Seasons | 8 Clubs | 4 Leagues | 132.6 | 29 | 249 | 94 | 37.8 | 1.89 | 0.71 | 0.11 | 0.30 | 1 | 3 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Bristol Rovers (3 Seasons) | 4 Leagues | 24.8 | 5 | 56 | 20 | 35.7 | 2.26 | 0.81 | 0.09 | 0.25 | 0 | 0 | ||||
| Scunthorpe United (2 Seasons) | 3 Leagues | 45.0 | 13 | 87 | 33 | 37.9 | 1.93 | 0.73 | 0.14 | 0.36 | 1 | 2 | ||||
| Cambridge United (2 Seasons) | 4 Leagues | 18.1 | 3 | 28 | 9 | 32.1 | 1.59 | 0.51 | 0.11 | 0.33 | 0 | 0 | ||||
| Tottenham Hotspur (2 Seasons) | 1 League | 9.0 | 2 | 1 | 1 | |||||||||||
| Carlisle United (1 Season) | 3 Leagues | 14.6 | 3 | 25 | 10 | 40.0 | 1.71 | 0.68 | 0.12 | 0.30 | 0 | 0 | ||||
| Port Vale (1 Season) | 3 Leagues | 16.7 | 2 | 28 | 10 | 35.7 | 1.68 | 0.60 | 0.07 | 0.20 | 0 | 0 | ||||
| Leicester City (1 Season) | 1 League | 10.4 | 0 | 0 | 0 | |||||||||||
| Crawley Town (1 Season) | 2 Leagues | 11.9 | 3 | 25 | 11 | 44.0 | 2.19 | 0.96 | 0.12 | 0.27 | 0 | 1 | ||||
| Stevenage (1 Season) | 1 League | 1.0 | 0 | 0 | 1 | 0.00 | 0.99 | 0.00 | 0 | 0 | ||||||
| Exeter City (1 Season) | 1 League | 0.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||
| League Two (6 Seasons) | 71.5 | 19 | 141 | 53 | 37.6 | 1.97 | 0.74 | 0.13 | 0.34 | 1 | 3 | |||||
| FA Cup (6 Seasons) | 6.0 | 1 | 7 | 5 | 71.4 | 1.39 | 0.99 | 0.14 | 0.20 | 0 | 0 | |||||
| EFL Cup (6 Seasons) | 4.8 | 2 | 10 | 5 | 50.0 | 2.07 | 1.04 | 0.20 | 0.40 | 0 | 0 | |||||
| League One (3 Seasons) | 50.2 | 7 | 91 | 31 | 34.1 | 1.81 | 0.62 | 0.08 | 0.23 | 0 | 0 | |||||
| PL2 — Div. 1 (3 Seasons) | 19.5 | 2 | 1 | 1 | ||||||||||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016-2017 | 18 | Stevenage | 1 League | 1.0 | 0 | 0 | 1 | 0.00 | 0.99 | 0.00 | 0 | 0 | |||
| 2016-2017 | 18 | Tottenham Hotspur | 1 League | 6.8 | 2 | 1 | 1 | ||||||||
| 2017-2018 | 19 | Tottenham Hotspur | 1 League | 2.2 | 0 | 0 | 0 | ||||||||
| 2017-2018 | 19 | Exeter City | 1 League | 0.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2018-2019 | 20 | Leicester City | 1 League | 10.4 | 0 | 0 | 0 | ||||||||
| 2019-2020 | 21 | Carlisle United | 3 Leagues | 14.6 | 3 | 25 | 10 | 40.0 | 1.71 | 0.68 | 0.12 | 0.30 | 0 | 0 | |
| 2020-2021 | 22 | Scunthorpe United | 2 Leagues | 32.3 | 9 | 56 | 23 | 41.1 | 1.73 | 0.71 | 0.16 | 0.39 | 0 | 0 | |
| 2021-2022 | 23 | Scunthorpe United | 3 Leagues | 12.7 | 4 | 31 | 10 | 32.3 | 2.44 | 0.79 | 0.10 | 0.30 | 1 | 2 | |
| 2021-2022 | 23 | Bristol Rovers | 1 League | 4.6 | 1 | 11 | 3 | 27.3 | 2.41 | 0.66 | 0.09 | 0.33 | 0 | 0 | |
| 2022-2023 | 24 | Bristol Rovers | 3 Leagues | 19.8 | 4 | 44 | 16 | 36.4 | 2.22 | 0.81 | 0.09 | 0.25 | 0 | 0 | |
| 2023-2024 | 25 | Bristol Rovers | 2 Leagues | 0.4 | 0 | 1 | 1 | 100.0 | 2.31 | 2.31 | 0.00 | 0.00 | 0 | 0 | |
| 2023-2024 | 25 | Port Vale | 3 Leagues | 16.7 | 2 | 28 | 10 | 35.7 | 1.68 | 0.60 | 0.07 | 0.20 | 0 | 0 | |
| 2024-2025 | 26 | Cambridge United | 2 Leagues | 17.5 | 2 | 25 | 7 | 28.0 | 1.47 | 0.41 | 0.08 | 0.29 | 0 | 0 | |
| 2025-2026 | 27 | Cambridge United | 2 Leagues | 0.5 | 1 | 3 | 2 | 66.7 | 5.63 | 3.75 | 0.33 | 0.50 | 0 | 0 | |
| 2025-2026 | 27 | Crawley Town | 2 Leagues | 11.9 | 3 | 25 | 11 | 44.0 | 2.19 | 0.96 | 0.12 | 0.27 | 0 | 1 | |
| 9 Seasons | 8 Clubs | 4 Leagues | 132.6 | 29 | 249 | 94 | 37.8 | 1.89 | 0.71 | 0.11 | 0.30 | 1 | 3 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Bristol Rovers (3 Seasons) | 4 Leagues | 24.8 | 5 | 56 | 20 | 35.7 | 2.26 | 0.81 | 0.09 | 0.25 | 0 | 0 | |||
| Scunthorpe United (2 Seasons) | 3 Leagues | 45.0 | 13 | 87 | 33 | 37.9 | 1.93 | 0.73 | 0.14 | 0.36 | 1 | 2 | |||
| Cambridge United (2 Seasons) | 4 Leagues | 18.1 | 3 | 28 | 9 | 32.1 | 1.59 | 0.51 | 0.11 | 0.33 | 0 | 0 | |||
| Tottenham Hotspur (2 Seasons) | 1 League | 9.0 | 2 | 1 | 1 | ||||||||||
| Carlisle United (1 Season) | 3 Leagues | 14.6 | 3 | 25 | 10 | 40.0 | 1.71 | 0.68 | 0.12 | 0.30 | 0 | 0 | |||
| Port Vale (1 Season) | 3 Leagues | 16.7 | 2 | 28 | 10 | 35.7 | 1.68 | 0.60 | 0.07 | 0.20 | 0 | 0 | |||
| Leicester City (1 Season) | 1 League | 10.4 | 0 | 0 | 0 | ||||||||||
| Crawley Town (1 Season) | 2 Leagues | 11.9 | 3 | 25 | 11 | 44.0 | 2.19 | 0.96 | 0.12 | 0.27 | 0 | 1 | |||
| Stevenage (1 Season) | 1 League | 1.0 | 0 | 0 | 1 | 0.00 | 0.99 | 0.00 | 0 | 0 | |||||
| Exeter City (1 Season) | 1 League | 0.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||
| League Two (6 Seasons) | 71.5 | 19 | 141 | 53 | 37.6 | 1.97 | 0.74 | 0.13 | 0.34 | 1 | 3 | ||||
| FA Cup (6 Seasons) | 6.0 | 1 | 7 | 5 | 71.4 | 1.39 | 0.99 | 0.14 | 0.20 | 0 | 0 | ||||
| EFL Cup (6 Seasons) | 4.8 | 2 | 10 | 5 | 50.0 | 2.07 | 1.04 | 0.20 | 0.40 | 0 | 0 | ||||
| League One (3 Seasons) | 50.2 | 7 | 91 | 31 | 34.1 | 1.81 | 0.62 | 0.08 | 0.23 | 0 | 0 | ||||
| PL2 — Div. 1 (3 Seasons) | 19.5 | 2 | 1 | 1 | |||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016-2017 | 18 | Stevenage | eng ENG | 4. League Two | 10th | 1.0 | 0 | 0 | 1 | 0.00 | 0.99 | 0.00 | 0 | 0 | Matches | ||
| 2016-2017 | 18 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 10th | 6.8 | 2 | 1 | 1 | Matches | |||||||
| 2017-2018 | 19 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 9th | 2.2 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 19 | Exeter City | eng ENG | 4. League Two | 4th | 0.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 20 | Leicester City | eng ENG | Jr. PL2 — Div. 1 | 10th | 10.4 | 0 | 0 | 0 | Matches | |||||||
| 2019-2020 | 21 | Carlisle United | eng ENG | 4. League Two | 18th | 11.6 | 3 | 20 | 7 | 35.0 | 1.72 | 0.60 | 0.15 | 0.43 | 0 | 0 | Matches |
| 2020-2021 | 22 | Scunthorpe United | eng ENG | 4. League Two | 22nd | 31.5 | 8 | 54 | 21 | 38.9 | 1.72 | 0.67 | 0.15 | 0.38 | 0 | 0 | Matches |
| 2021-2022 | 23 | Scunthorpe United | eng ENG | 4. League Two | 24th | 10.7 | 4 | 29 | 9 | 31.0 | 2.70 | 0.84 | 0.10 | 0.33 | 1 | 2 | Matches |
| 2021-2022 | 23 | Bristol Rovers | eng ENG | 4. League Two | 3rd | 4.6 | 1 | 11 | 3 | 27.3 | 2.41 | 0.66 | 0.09 | 0.33 | 0 | 0 | Matches |
| 2022-2023 | 24 | Bristol Rovers | eng ENG | 3. League One | 17th | 18.1 | 4 | 41 | 16 | 39.0 | 2.27 | 0.89 | 0.10 | 0.25 | 0 | 0 | Matches |
| 2023-2024 | 25 | Bristol Rovers | eng ENG | 3. League One | 15th | 0.4 | 0 | 1 | 1 | 100.0 | 2.31 | 2.31 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 25 | Port Vale | eng ENG | 3. League One | 23rd | 14.7 | 1 | 24 | 7 | 29.2 | 1.63 | 0.48 | 0.04 | 0.14 | 0 | 0 | Matches |
| 2024-2025 | 26 | Cambridge United | eng ENG | 3. League One | 23rd | 17.0 | 2 | 25 | 7 | 28.0 | 1.47 | 0.41 | 0.08 | 0.29 | 0 | 0 | Matches |
| 2025-2026 | 27 | Cambridge United | eng ENG | 4. League Two | 3rd | 0.3 | 0 | 2 | 1 | 50.0 | 7.50 | 3.75 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2025-2026 | 27 | Crawley Town | eng ENG | 4. League Two | 22nd | 11.4 | 3 | 25 | 11 | 44.0 | 2.19 | 0.96 | 0.12 | 0.27 | 0 | 1 | Matches |
| 9 Seasons | 8 Clubs | 2 Leagues | 121.8 | 26 | 232 | 84 | 36.2 | 1.91 | 0.69 | 0.11 | 0.30 | 1 | 3 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Bristol Rovers (3 Seasons) | 2 Leagues | 23.0 | 5 | 53 | 20 | 37.7 | 2.30 | 0.87 | 0.09 | 0.25 | 0 | 0 | |||||
| Scunthorpe United (2 Seasons) | 1 League | 42.2 | 12 | 83 | 30 | 36.1 | 1.97 | 0.71 | 0.13 | 0.37 | 1 | 2 | |||||
| Cambridge United (2 Seasons) | 2 Leagues | 17.3 | 2 | 27 | 8 | 29.6 | 1.56 | 0.46 | 0.07 | 0.25 | 0 | 0 | |||||
| Tottenham Hotspur (2 Seasons) | 1 League | 9.0 | 2 | 1 | 1 | ||||||||||||
| Carlisle United (1 Season) | 1 League | 11.6 | 3 | 20 | 7 | 35.0 | 1.72 | 0.60 | 0.15 | 0.43 | 0 | 0 | |||||
| Port Vale (1 Season) | 1 League | 14.7 | 1 | 24 | 7 | 29.2 | 1.63 | 0.48 | 0.04 | 0.14 | 0 | 0 | |||||
| Leicester City (1 Season) | 1 League | 10.4 | 0 | 0 | 0 | ||||||||||||
| Crawley Town (1 Season) | 1 League | 11.4 | 3 | 25 | 11 | 44.0 | 2.19 | 0.96 | 0.12 | 0.27 | 0 | 1 | |||||
| Stevenage (1 Season) | 1 League | 1.0 | 0 | 0 | 1 | 0.00 | 0.99 | 0.00 | 0 | 0 | |||||||
| Exeter City (1 Season) | 1 League | 0.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| League Two (6 Seasons) | 71.5 | 19 | 141 | 53 | 37.6 | 1.97 | 0.74 | 0.13 | 0.34 | 1 | 3 | ||||||
| League One (3 Seasons) | 50.2 | 7 | 91 | 31 | 34.1 | 1.81 | 0.62 | 0.08 | 0.23 | 0 | 0 | ||||||
| PL2 — Div. 1 (3 Seasons) | 19.5 | 2 | 1 | 1 | |||||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2019-2020 | 21 | Carlisle United | eng ENG | EFL Cup | 33rd | 0.9 | 0 | 2 | 1 | 50.0 | 2.25 | 1.13 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 21 | Carlisle United | eng ENG | FA Cup | 33rd | 2.2 | 0 | 3 | 2 | 66.7 | 1.39 | 0.93 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 22 | Scunthorpe United | eng ENG | EFL Cup | 58th | 0.9 | 1 | 2 | 2 | 100.0 | 2.34 | 2.34 | 0.50 | 0.50 | 0 | 0 | Matches |
| 2021-2022 | 23 | Scunthorpe United | eng ENG | EFL Cup | Rd1 | 1.0 | 0 | 2 | 1 | 50.0 | 2.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 23 | Scunthorpe United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | ||||
| 2022-2023 | 24 | Bristol Rovers | eng ENG | EFL Cup | Rd1 | 1.0 | 0 | 2 | 0 | 0.0 | 2.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 24 | Bristol Rovers | eng ENG | FA Cup | 0.7 | 0 | 1 | 0 | 0.0 | 1.38 | 0.00 | 0.00 | 0 | 0 | Matches | ||
| 2023-2024 | 25 | Port Vale | eng ENG | EFL Cup | QF | 0.8 | 0 | 1 | 0 | 0.0 | 1.23 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 25 | Port Vale | eng ENG | FA Cup | 1.2 | 1 | 3 | 3 | 100.0 | 2.60 | 2.60 | 0.33 | 0.33 | 0 | 0 | Matches | |
| 2024-2025 | 26 | Cambridge United | eng ENG | FA Cup | 0.5 | 0 | 0 | 0 | Matches | ||||||||
| 2025-2026 | 27 | Cambridge United | eng ENG | EFL Cup | Rd3 | 0.3 | 1 | 1 | 1 | 100.0 | 3.75 | 3.75 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2025-2026 | 27 | Crawley Town | eng ENG | FA Cup | 0.5 | 0 | 0 | 0 | Matches | ||||||||
| 7 Seasons | 6 Clubs | 2 Leagues | 10.8 | 3 | 17 | 10 | 58.8 | 1.72 | 1.01 | 0.18 | 0.30 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Scunthorpe United (2 Seasons) | 2 Leagues | 2.9 | 1 | 4 | 3 | 75.0 | 1.40 | 1.05 | 0.25 | 0.33 | 0 | 0 | |||||
| Cambridge United (2 Seasons) | 2 Leagues | 0.8 | 1 | 1 | 1 | 100.0 | 3.75 | 3.75 | 1.00 | 1.00 | 0 | 0 | |||||
| Bristol Rovers (2 Seasons) | 2 Leagues | 1.7 | 0 | 3 | 0 | 0.0 | 1.74 | 0.00 | 0.00 | 0 | 0 | ||||||
| Carlisle United (1 Season) | 2 Leagues | 3.0 | 0 | 5 | 3 | 60.0 | 1.64 | 0.99 | 0.00 | 0.00 | 0 | 0 | |||||
| Port Vale (1 Season) | 2 Leagues | 2.0 | 1 | 4 | 3 | 75.0 | 2.03 | 1.53 | 0.25 | 0.33 | 0 | 0 | |||||
| Crawley Town (1 Season) | 1 League | 0.5 | 0 | 0 | 0 | ||||||||||||
| FA Cup (6 Seasons) | 6.0 | 1 | 7 | 5 | 71.4 | 1.39 | 0.99 | 0.14 | 0.20 | 0 | 0 | ||||||
| EFL Cup (6 Seasons) | 4.8 | 2 | 10 | 5 | 50.0 | 2.07 | 1.04 | 0.20 | 0.40 | 0 | 0 | ||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016-2017 | 18 | Stevenage | eng ENG | 4. League Two | 9 | 91 | 10 | 2.2 | 1.0 | 0 | 0 | 9 | 6 | 1.78 | 0 | 2 | -2 | -1.98 | -2.11 | Matches | ||
| 2016-2017 | 18 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 11 | 611 | 56 | 30.9 | 6.8 | 7 | 75 | 3 | 4 | 21 | 0 | 1.36 | 12 | 15 | -3 | -0.44 | +0.08 | Matches |
| 2017-2018 | 19 | Exeter City | eng ENG | 4. League Two | 1 | 45 | 45 | 1.1 | 0.5 | 1 | 0 | 0 | 6 | 0.00 | 0 | 1 | -1 | -2.00 | -2.24 | Matches | ||
| 2017-2018 | 19 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 7 | 202 | 29 | 10.2 | 2.2 | 2 | 65 | 0 | 5 | 14 | 4 | 0.86 | 0 | 5 | -5 | -2.23 | -1.97 | Matches |
| 2018-2019 | 20 | Leicester City | eng ENG | Jr. PL2 — Div. 1 | 19 | 940 | 49 | 47.5 | 10.4 | 12 | 65 | 3 | 7 | 23 | 1 | 1.11 | 9 | 17 | -8 | -0.77 | -0.68 | Matches |
| 2019-2020 | 21 | Carlisle United | eng ENG | EFL Cup | 1 | 80 | 80 | 44.4 | 0.9 | 1 | 80 | 0 | 0 | 1 | 3.00 | 3 | 0 | +3 | +3.38 | +4.28 | Matches | |
| 2019-2020 | 21 | Carlisle United | eng ENG | FA Cup | 5 | 194 | 39 | 43.1 | 2.2 | 2 | 74 | 1 | 3 | 15 | 0 | 1.60 | 3 | 1 | +2 | +0.93 | +0.58 | Matches |
| 2019-2020 | 21 | Carlisle United | eng ENG | 4. League Two | 26 | 1,044 | 40 | 31.4 | 11.6 | 9 | 77 | 4 | 17 | 20 | 7 | 1.19 | 10 | 22 | -12 | -1.03 | -0.84 | Matches |
| 2020-2021 | 22 | Scunthorpe United | eng ENG | EFL Cup | 1 | 77 | 77 | 85.6 | 0.9 | 1 | 77 | 0 | 0 | 0 | 0.00 | 1 | 1 | 0 | 0.00 | +6.92 | Matches | |
| 2020-2021 | 22 | Scunthorpe United | eng ENG | 4. League Two | 41 | 2,832 | 69 | 68.4 | 31.5 | 35 | 77 | 9 | 6 | 22 | 0 | 1.05 | 27 | 36 | -9 | -0.29 | +0.68 | Matches |
| 2021-2022 | 23 | Scunthorpe United | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2021-2022 | 23 | Scunthorpe United | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2021-2022 | 23 | Scunthorpe United | eng ENG | 4. League Two | 15 | 965 | 64 | 23.3 | 10.7 | 12 | 71 | 4 | 3 | 39 | 0 | 0.80 | 9 | 22 | -13 | -1.21 | +0.15 | Matches |
| 2021-2022 | 23 | Bristol Rovers | eng ENG | 4. League Two | 13 | 410 | 32 | 9.9 | 4.6 | 2 | 89 | 0 | 11 | 21 | 5 | 2.31 | 7 | 1 | +6 | +1.32 | +0.93 | Matches |
| 2022-2023 | 24 | Bristol Rovers | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2022-2023 | 24 | Bristol Rovers | eng ENG | FA Cup | 1 | 65 | 65 | 36.1 | 0.7 | 1 | 65 | 0 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.77 | -3.55 | Matches | |
| 2022-2023 | 24 | Bristol Rovers | eng ENG | 3. League One | 34 | 1,625 | 48 | 39.3 | 18.1 | 16 | 71 | 5 | 18 | 27 | 0 | 1.12 | 31 | 33 | -2 | -0.11 | +0.35 | Matches |
| 2023-2024 | 25 | Port Vale | eng ENG | EFL Cup | 2 | 73 | 37 | 15.2 | 0.8 | 0 | 0 | 2 | 37 | 0 | 1.50 | 0 | 1 | -1 | -1.23 | -1.45 | Matches | |
| 2023-2024 | 25 | Bristol Rovers | eng ENG | EFL Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2023-2024 | 25 | Port Vale | eng ENG | FA Cup | 4 | 104 | 26 | 26.7 | 1.2 | 0 | 0 | 4 | 26 | 0 | 1.50 | 2 | 3 | -1 | -0.87 | -1.81 | Matches | |
| 2023-2024 | 25 | Port Vale | eng ENG | 3. League One | 26 | 1,326 | 51 | 32.0 | 14.7 | 15 | 69 | 4 | 11 | 27 | 4 | 0.77 | 10 | 28 | -18 | -1.22 | -0.74 | Matches |
| 2023-2024 | 25 | Bristol Rovers | eng ENG | 3. League One | 3 | 39 | 13 | 0.9 | 0.4 | 0 | 0 | 3 | 13 | 0 | 1.33 | 1 | 2 | -1 | -2.31 | -1.98 | Matches | |
| 2024-2025 | 26 | Cambridge United | eng ENG | FA Cup | 1 | 45 | 45 | 21.4 | 0.5 | 1 | 45 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | 0.00 | Matches | |
| 2024-2025 | 26 | Cambridge United | eng ENG | 3. League One | 32 | 1,532 | 48 | 37.0 | 17.0 | 18 | 71 | 4 | 14 | 18 | 4 | 0.88 | 21 | 20 | +1 | +0.06 | +1.06 | Matches |
| 2025-2026 | 27 | Cambridge United | eng ENG | EFL Cup | 1 | 24 | 24 | 8.9 | 0.3 | 0 | 0 | 1 | 24 | 1 | 3.00 | 1 | 0 | +1 | +3.75 | +3.02 | Matches | |
| 2025-2026 | 27 | Crawley Town | eng ENG | FA Cup | 1 | 44 | 44 | 48.9 | 0.5 | 1 | 44 | 0 | 0 | 0 | 0.00 | 0 | 2 | -2 | -4.09 | -2.13 | Matches | |
| 2025-2026 | 27 | Crawley Town | eng ENG | 4. League Two | 15 | 1,026 | 68 | 24.8 | 11.4 | 11 | 83 | 8 | 4 | 28 | 0 | 0.80 | 12 | 19 | -7 | -0.61 | -0.12 | Matches |
| 2025-2026 | 27 | Cambridge United | eng ENG | 4. League Two | 3 | 24 | 8 | 0.6 | 0.3 | 0 | 0 | 3 | 8 | 1 | 1.00 | 0 | 0 | 0 | 0.00 | -0.72 | Matches | |
| 9 Seasons | 8 Clubs | 4 Leagues | 238 | 11,935 | 50 | 23.1 | 132.6 | 129 | 74 | 42 | 109 | 23 | 36 | 1.09 | 138 | 199 | -61 | -0.46 | -0.27 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Bristol Rovers (3 Seasons) | 4 Leagues | 52 | 2,229 | 43 | 17.4 | 24.8 | 20 | 74 | 6 | 32 | 24 | 6 | 1.39 | 39 | 39 | 0 | 0.00 | +0.09 | ||||
| Scunthorpe United (2 Seasons) | 3 Leagues | 59 | 4,054 | 69 | 47.4 | 45.0 | 50 | 76 | 15 | 9 | 28 | 0 | 0.93 | 37 | 61 | -24 | -0.53 | +0.73 | ||||
| Cambridge United (2 Seasons) | 4 Leagues | 37 | 1,625 | 44 | 18.6 | 18.1 | 19 | 70 | 4 | 18 | 17 | 6 | 0.92 | 22 | 20 | +2 | +0.11 | +0.04 | ||||
| Tottenham Hotspur (2 Seasons) | 1 League | 18 | 813 | 45 | 20.5 | 9.0 | 9 | 73 | 3 | 9 | 17 | 4 | 1.17 | 12 | 20 | -8 | -0.89 | -0.51 | ||||
| Carlisle United (1 Season) | 3 Leagues | 32 | 1,318 | 41 | 33.3 | 14.6 | 12 | 77 | 5 | 20 | 20 | 8 | 1.31 | 16 | 23 | -7 | -0.48 | -0.31 | ||||
| Port Vale (1 Season) | 3 Leagues | 32 | 1,503 | 47 | 30.0 | 16.7 | 15 | 69 | 4 | 17 | 28 | 4 | 0.91 | 12 | 32 | -20 | -1.20 | -0.92 | ||||
| Leicester City (1 Season) | 1 League | 19 | 940 | 49 | 47.5 | 10.4 | 12 | 65 | 3 | 7 | 23 | 1 | 1.11 | 9 | 17 | -8 | -0.77 | -0.68 | ||||
| Crawley Town (1 Season) | 2 Leagues | 16 | 1,070 | 67 | 25.3 | 11.9 | 12 | 80 | 8 | 4 | 28 | 0 | 0.75 | 12 | 21 | -9 | -0.76 | -0.24 | ||||
| Stevenage (1 Season) | 1 League | 9 | 91 | 10 | 2.2 | 1.0 | 0 | 0 | 9 | 6 | 1.78 | 0 | 2 | -2 | -1.98 | -2.11 | ||||||
| Exeter City (1 Season) | 1 League | 1 | 45 | 45 | 1.1 | 0.5 | 1 | 0 | 0 | 6 | 0.00 | 0 | 1 | -1 | -2.00 | -2.24 | ||||||
| League Two (6 Seasons) | 123 | 6,437 | 52 | 19.9 | 71.5 | 70 | 77 | 25 | 53 | 22 | 25 | 1.20 | 65 | 103 | -38 | -0.53 | -0.47 | |||||
| FA Cup (6 Seasons) | 13 | 542 | 42 | 38.4 | 6.0 | 6 | 65 | 2 | 7 | 21 | 0 | 1.08 | 5 | 9 | -4 | -0.66 | -1.08 | |||||
| EFL Cup (6 Seasons) | 7 | 434 | 62 | 33.6 | 4.8 | 4 | 84 | 2 | 3 | 32 | 3 | 1.29 | 5 | 4 | +1 | +0.21 | +0.09 | |||||
| League One (3 Seasons) | 95 | 4,522 | 48 | 27.3 | 50.2 | 49 | 70 | 13 | 46 | 23 | 8 | 0.95 | 63 | 83 | -20 | -0.40 | +0.14 | |||||
| PL2 — Div. 1 (3 Seasons) | 37 | 1,753 | 47 | 29.5 | 19.5 | 21 | 68 | 6 | 16 | 20 | 5 | 1.14 | 21 | 37 | -16 | -0.82 | -0.52 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016-2017 | 18 | Stevenage | 1 League | 9 | 91 | 10 | 2.2 | 1.0 | 0 | 0 | 9 | 6 | 1.78 | 0 | 2 | -2 | -1.98 | -2.11 | |||
| 2016-2017 | 18 | Tottenham Hotspur | 1 League | 11 | 611 | 56 | 30.9 | 6.8 | 7 | 75 | 3 | 4 | 21 | 0 | 1.36 | 12 | 15 | -3 | -0.44 | +0.08 | |
| 2017-2018 | 19 | Tottenham Hotspur | 1 League | 7 | 202 | 29 | 10.2 | 2.2 | 2 | 65 | 0 | 5 | 14 | 4 | 0.86 | 0 | 5 | -5 | -2.23 | -1.97 | |
| 2017-2018 | 19 | Exeter City | 1 League | 1 | 45 | 45 | 1.1 | 0.5 | 1 | 0 | 0 | 6 | 0.00 | 0 | 1 | -1 | -2.00 | -2.24 | |||
| 2018-2019 | 20 | Leicester City | 1 League | 19 | 940 | 49 | 47.5 | 10.4 | 12 | 65 | 3 | 7 | 23 | 1 | 1.11 | 9 | 17 | -8 | -0.77 | -0.68 | |
| 2019-2020 | 21 | Carlisle United | 3 Leagues | 32 | 1,318 | 41 | 33.3 | 14.6 | 12 | 77 | 5 | 20 | 20 | 8 | 1.31 | 16 | 23 | -7 | -0.48 | -0.31 | |
| 2020-2021 | 22 | Scunthorpe United | 2 Leagues | 42 | 2,909 | 69 | 68.8 | 32.3 | 36 | 77 | 9 | 6 | 22 | 0 | 1.03 | 28 | 37 | -9 | -0.28 | +0.74 | |
| 2021-2022 | 23 | Scunthorpe United | 3 Leagues | 17 | 1,145 | 67 | 26.5 | 12.7 | 14 | 73 | 6 | 3 | 39 | 0 | 0.71 | 9 | 24 | -15 | -1.18 | +0.18 | |
| 2021-2022 | 23 | Bristol Rovers | 1 League | 13 | 410 | 32 | 9.9 | 4.6 | 2 | 89 | 0 | 11 | 21 | 5 | 2.31 | 7 | 1 | +6 | +1.32 | +0.93 | |
| 2022-2023 | 24 | Bristol Rovers | 3 Leagues | 36 | 1,780 | 49 | 40.4 | 19.8 | 18 | 72 | 6 | 18 | 27 | 0 | 1.06 | 31 | 36 | -5 | -0.25 | +0.16 | |
| 2023-2024 | 25 | Bristol Rovers | 2 Leagues | 3 | 39 | 13 | 0.9 | 0.4 | 0 | 0 | 3 | 13 | 1 | 1.33 | 1 | 2 | -1 | -2.31 | -1.98 | ||
| 2023-2024 | 25 | Port Vale | 3 Leagues | 32 | 1,503 | 47 | 30.0 | 16.7 | 15 | 69 | 4 | 17 | 28 | 4 | 0.91 | 12 | 32 | -20 | -1.20 | -0.92 | |
| 2024-2025 | 26 | Cambridge United | 2 Leagues | 33 | 1,577 | 48 | 36.3 | 17.5 | 19 | 70 | 4 | 14 | 18 | 4 | 0.85 | 21 | 20 | +1 | +0.06 | +1.00 | |
| 2025-2026 | 27 | Cambridge United | 2 Leagues | 4 | 48 | 12 | 1.1 | 0.5 | 0 | 0 | 4 | 12 | 2 | 1.50 | 1 | 0 | +1 | +1.87 | +1.15 | ||
| 2025-2026 | 27 | Crawley Town | 2 Leagues | 16 | 1,070 | 67 | 25.3 | 11.9 | 12 | 80 | 8 | 4 | 28 | 0 | 0.75 | 12 | 21 | -9 | -0.76 | -0.24 | |
| 9 Seasons | 8 Clubs | 4 Leagues | 238 | 11,935 | 50 | 23.1 | 132.6 | 129 | 74 | 42 | 109 | 23 | 36 | 1.09 | 138 | 199 | -61 | -0.46 | -0.27 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Bristol Rovers (3 Seasons) | 4 Leagues | 52 | 2,229 | 43 | 17.4 | 24.8 | 20 | 74 | 6 | 32 | 24 | 6 | 1.39 | 39 | 39 | 0 | 0.00 | +0.09 | |||
| Scunthorpe United (2 Seasons) | 3 Leagues | 59 | 4,054 | 69 | 47.4 | 45.0 | 50 | 76 | 15 | 9 | 28 | 0 | 0.93 | 37 | 61 | -24 | -0.53 | +0.73 | |||
| Cambridge United (2 Seasons) | 4 Leagues | 37 | 1,625 | 44 | 18.6 | 18.1 | 19 | 70 | 4 | 18 | 17 | 6 | 0.92 | 22 | 20 | +2 | +0.11 | +0.04 | |||
| Tottenham Hotspur (2 Seasons) | 1 League | 18 | 813 | 45 | 20.5 | 9.0 | 9 | 73 | 3 | 9 | 17 | 4 | 1.17 | 12 | 20 | -8 | -0.89 | -0.51 | |||
| Carlisle United (1 Season) | 3 Leagues | 32 | 1,318 | 41 | 33.3 | 14.6 | 12 | 77 | 5 | 20 | 20 | 8 | 1.31 | 16 | 23 | -7 | -0.48 | -0.31 | |||
| Port Vale (1 Season) | 3 Leagues | 32 | 1,503 | 47 | 30.0 | 16.7 | 15 | 69 | 4 | 17 | 28 | 4 | 0.91 | 12 | 32 | -20 | -1.20 | -0.92 | |||
| Leicester City (1 Season) | 1 League | 19 | 940 | 49 | 47.5 | 10.4 | 12 | 65 | 3 | 7 | 23 | 1 | 1.11 | 9 | 17 | -8 | -0.77 | -0.68 | |||
| Crawley Town (1 Season) | 2 Leagues | 16 | 1,070 | 67 | 25.3 | 11.9 | 12 | 80 | 8 | 4 | 28 | 0 | 0.75 | 12 | 21 | -9 | -0.76 | -0.24 | |||
| Stevenage (1 Season) | 1 League | 9 | 91 | 10 | 2.2 | 1.0 | 0 | 0 | 9 | 6 | 1.78 | 0 | 2 | -2 | -1.98 | -2.11 | |||||
| Exeter City (1 Season) | 1 League | 1 | 45 | 45 | 1.1 | 0.5 | 1 | 0 | 0 | 6 | 0.00 | 0 | 1 | -1 | -2.00 | -2.24 | |||||
| League Two (6 Seasons) | 123 | 6,437 | 52 | 19.9 | 71.5 | 70 | 77 | 25 | 53 | 22 | 25 | 1.20 | 65 | 103 | -38 | -0.53 | -0.47 | ||||
| FA Cup (6 Seasons) | 13 | 542 | 42 | 38.4 | 6.0 | 6 | 65 | 2 | 7 | 21 | 0 | 1.08 | 5 | 9 | -4 | -0.66 | -1.08 | ||||
| EFL Cup (6 Seasons) | 7 | 434 | 62 | 33.6 | 4.8 | 4 | 84 | 2 | 3 | 32 | 3 | 1.29 | 5 | 4 | +1 | +0.21 | +0.09 | ||||
| League One (3 Seasons) | 95 | 4,522 | 48 | 27.3 | 50.2 | 49 | 70 | 13 | 46 | 23 | 8 | 0.95 | 63 | 83 | -20 | -0.40 | +0.14 | ||||
| PL2 — Div. 1 (3 Seasons) | 37 | 1,753 | 47 | 29.5 | 19.5 | 21 | 68 | 6 | 16 | 20 | 5 | 1.14 | 21 | 37 | -16 | -0.82 | -0.52 | ||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016-2017 | 18 | Stevenage | eng ENG | 4. League Two | 10th | 9 | 91 | 10 | 2.2 | 1.0 | 0 | 0 | 9 | 6 | 1.78 | 0 | 2 | -2 | -1.98 | -2.11 | Matches | ||
| 2016-2017 | 18 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 10th | 11 | 611 | 56 | 30.9 | 6.8 | 7 | 75 | 3 | 4 | 21 | 0 | 1.36 | 12 | 15 | -3 | -0.44 | +0.08 | Matches |
| 2017-2018 | 19 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 9th | 7 | 202 | 29 | 10.2 | 2.2 | 2 | 65 | 0 | 5 | 14 | 4 | 0.86 | 0 | 5 | -5 | -2.23 | -1.97 | Matches |
| 2017-2018 | 19 | Exeter City | eng ENG | 4. League Two | 4th | 1 | 45 | 45 | 1.1 | 0.5 | 1 | 0 | 0 | 6 | 0.00 | 0 | 1 | -1 | -2.00 | -2.24 | Matches | ||
| 2018-2019 | 20 | Leicester City | eng ENG | Jr. PL2 — Div. 1 | 10th | 19 | 940 | 49 | 47.5 | 10.4 | 12 | 65 | 3 | 7 | 23 | 1 | 1.11 | 9 | 17 | -8 | -0.77 | -0.68 | Matches |
| 2019-2020 | 21 | Carlisle United | eng ENG | 4. League Two | 18th | 26 | 1,044 | 40 | 31.4 | 11.6 | 9 | 77 | 4 | 17 | 20 | 7 | 1.19 | 10 | 22 | -12 | -1.03 | -0.84 | Matches |
| 2020-2021 | 22 | Scunthorpe United | eng ENG | 4. League Two | 22nd | 41 | 2,832 | 69 | 68.4 | 31.5 | 35 | 77 | 9 | 6 | 22 | 0 | 1.05 | 27 | 36 | -9 | -0.29 | +0.68 | Matches |
| 2021-2022 | 23 | Scunthorpe United | eng ENG | 4. League Two | 24th | 15 | 965 | 64 | 23.3 | 10.7 | 12 | 71 | 4 | 3 | 39 | 0 | 0.80 | 9 | 22 | -13 | -1.21 | +0.15 | Matches |
| 2021-2022 | 23 | Bristol Rovers | eng ENG | 4. League Two | 3rd | 13 | 410 | 32 | 9.9 | 4.6 | 2 | 89 | 0 | 11 | 21 | 5 | 2.31 | 7 | 1 | +6 | +1.32 | +0.93 | Matches |
| 2022-2023 | 24 | Bristol Rovers | eng ENG | 3. League One | 17th | 34 | 1,625 | 48 | 39.3 | 18.1 | 16 | 71 | 5 | 18 | 27 | 0 | 1.12 | 31 | 33 | -2 | -0.11 | +0.35 | Matches |
| 2023-2024 | 25 | Bristol Rovers | eng ENG | 3. League One | 15th | 3 | 39 | 13 | 0.9 | 0.4 | 0 | 0 | 3 | 13 | 0 | 1.33 | 1 | 2 | -1 | -2.31 | -1.98 | Matches | |
| 2023-2024 | 25 | Port Vale | eng ENG | 3. League One | 23rd | 26 | 1,326 | 51 | 32.0 | 14.7 | 15 | 69 | 4 | 11 | 27 | 4 | 0.77 | 10 | 28 | -18 | -1.22 | -0.74 | Matches |
| 2024-2025 | 26 | Cambridge United | eng ENG | 3. League One | 23rd | 32 | 1,532 | 48 | 37.0 | 17.0 | 18 | 71 | 4 | 14 | 18 | 4 | 0.88 | 21 | 20 | +1 | +0.06 | +1.06 | Matches |
| 2025-2026 | 27 | Cambridge United | eng ENG | 4. League Two | 3rd | 3 | 24 | 8 | 0.6 | 0.3 | 0 | 0 | 3 | 8 | 1 | 1.00 | 0 | 0 | 0 | 0.00 | -0.72 | Matches | |
| 2025-2026 | 27 | Crawley Town | eng ENG | 4. League Two | 22nd | 15 | 1,026 | 68 | 24.8 | 11.4 | 11 | 83 | 8 | 4 | 28 | 0 | 0.80 | 12 | 19 | -7 | -0.61 | -0.12 | Matches |
| 9 Seasons | 8 Clubs | 2 Leagues | 218 | 10,959 | 50 | 22.4 | 121.8 | 119 | 74 | 38 | 99 | 23 | 33 | 1.09 | 128 | 186 | -58 | -0.48 | -0.26 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Bristol Rovers (3 Seasons) | 2 Leagues | 50 | 2,074 | 41 | 16.7 | 23.0 | 18 | 73 | 5 | 32 | 24 | 5 | 1.44 | 39 | 36 | +3 | +0.13 | +0.23 | |||||
| Scunthorpe United (2 Seasons) | 1 League | 56 | 3,797 | 68 | 45.9 | 42.2 | 47 | 75 | 13 | 9 | 28 | 0 | 0.98 | 36 | 58 | -22 | -0.52 | +0.72 | |||||
| Cambridge United (2 Seasons) | 2 Leagues | 35 | 1,556 | 44 | 18.8 | 17.3 | 18 | 71 | 4 | 17 | 16 | 5 | 0.89 | 21 | 20 | +1 | +0.06 | 0.00 | |||||
| Tottenham Hotspur (2 Seasons) | 1 League | 18 | 813 | 45 | 20.5 | 9.0 | 9 | 73 | 3 | 9 | 17 | 4 | 1.17 | 12 | 20 | -8 | -0.89 | -0.51 | |||||
| Carlisle United (1 Season) | 1 League | 26 | 1,044 | 40 | 31.4 | 11.6 | 9 | 77 | 4 | 17 | 20 | 7 | 1.19 | 10 | 22 | -12 | -1.03 | -0.84 | |||||
| Port Vale (1 Season) | 1 League | 26 | 1,326 | 51 | 32.0 | 14.7 | 15 | 69 | 4 | 11 | 27 | 4 | 0.77 | 10 | 28 | -18 | -1.22 | -0.74 | |||||
| Leicester City (1 Season) | 1 League | 19 | 940 | 49 | 47.5 | 10.4 | 12 | 65 | 3 | 7 | 23 | 1 | 1.11 | 9 | 17 | -8 | -0.77 | -0.68 | |||||
| Crawley Town (1 Season) | 1 League | 15 | 1,026 | 68 | 24.8 | 11.4 | 11 | 83 | 8 | 4 | 28 | 0 | 0.80 | 12 | 19 | -7 | -0.61 | -0.12 | |||||
| Stevenage (1 Season) | 1 League | 9 | 91 | 10 | 2.2 | 1.0 | 0 | 0 | 9 | 6 | 1.78 | 0 | 2 | -2 | -1.98 | -2.11 | |||||||
| Exeter City (1 Season) | 1 League | 1 | 45 | 45 | 1.1 | 0.5 | 1 | 0 | 0 | 6 | 0.00 | 0 | 1 | -1 | -2.00 | -2.24 | |||||||
| League Two (6 Seasons) | 123 | 6,437 | 52 | 19.9 | 71.5 | 70 | 77 | 25 | 53 | 22 | 25 | 1.20 | 65 | 103 | -38 | -0.53 | -0.47 | ||||||
| League One (3 Seasons) | 95 | 4,522 | 48 | 27.3 | 50.2 | 49 | 70 | 13 | 46 | 23 | 8 | 0.95 | 63 | 83 | -20 | -0.40 | +0.14 | ||||||
| PL2 — Div. 1 (3 Seasons) | 37 | 1,753 | 47 | 29.5 | 19.5 | 21 | 68 | 6 | 16 | 20 | 5 | 1.14 | 21 | 37 | -16 | -0.82 | -0.52 | ||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2019-2020 | 21 | Carlisle United | eng ENG | EFL Cup | 33rd | 1 | 80 | 80 | 44.4 | 0.9 | 1 | 80 | 0 | 0 | 1 | 3.00 | 3 | 0 | +3 | +3.38 | +4.28 | Matches | |
| 2019-2020 | 21 | Carlisle United | eng ENG | FA Cup | 33rd | 5 | 194 | 39 | 43.1 | 2.2 | 2 | 74 | 1 | 3 | 15 | 0 | 1.60 | 3 | 1 | +2 | +0.93 | +0.58 | Matches |
| 2020-2021 | 22 | Scunthorpe United | eng ENG | EFL Cup | 58th | 1 | 77 | 77 | 85.6 | 0.9 | 1 | 77 | 0 | 0 | 0 | 0.00 | 1 | 1 | 0 | 0.00 | +6.92 | Matches | |
| 2021-2022 | 23 | Scunthorpe United | eng ENG | EFL Cup | Rd1 | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2021-2022 | 23 | Scunthorpe United | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | |||
| 2022-2023 | 24 | Bristol Rovers | eng ENG | EFL Cup | Rd1 | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2022-2023 | 24 | Bristol Rovers | eng ENG | FA Cup | 1 | 65 | 65 | 36.1 | 0.7 | 1 | 65 | 0 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.77 | -3.55 | Matches | ||
| 2023-2024 | 25 | Bristol Rovers | eng ENG | EFL Cup | Rd1 | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2023-2024 | 25 | Port Vale | eng ENG | EFL Cup | QF | 2 | 73 | 37 | 15.2 | 0.8 | 0 | 0 | 2 | 37 | 0 | 1.50 | 0 | 1 | -1 | -1.23 | -1.45 | Matches | |
| 2023-2024 | 25 | Port Vale | eng ENG | FA Cup | 4 | 104 | 26 | 26.7 | 1.2 | 0 | 0 | 4 | 26 | 0 | 1.50 | 2 | 3 | -1 | -0.87 | -1.81 | Matches | ||
| 2024-2025 | 26 | Cambridge United | eng ENG | FA Cup | 1 | 45 | 45 | 21.4 | 0.5 | 1 | 45 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | 0.00 | Matches | ||
| 2025-2026 | 27 | Cambridge United | eng ENG | EFL Cup | Rd3 | 1 | 24 | 24 | 8.9 | 0.3 | 0 | 0 | 1 | 24 | 1 | 3.00 | 1 | 0 | +1 | +3.75 | +3.02 | Matches | |
| 2025-2026 | 27 | Crawley Town | eng ENG | FA Cup | 1 | 44 | 44 | 48.9 | 0.5 | 1 | 44 | 0 | 0 | 0 | 0.00 | 0 | 2 | -2 | -4.09 | -2.13 | Matches | ||
| 7 Seasons | 6 Clubs | 2 Leagues | 20 | 976 | 49 | 36.1 | 10.8 | 10 | 73 | 4 | 10 | 25 | 3 | 1.15 | 10 | 13 | -3 | -0.28 | -0.55 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Scunthorpe United (2 Seasons) | 2 Leagues | 3 | 257 | 86 | 95.2 | 2.9 | 3 | 86 | 2 | 0 | 0 | 0.00 | 1 | 3 | -2 | -0.70 | +6.22 | ||||||
| Cambridge United (2 Seasons) | 2 Leagues | 2 | 69 | 35 | 14.4 | 0.8 | 1 | 45 | 0 | 1 | 24 | 1 | 1.50 | 1 | 0 | +1 | +1.30 | +0.87 | |||||
| Bristol Rovers (2 Seasons) | 2 Leagues | 2 | 155 | 78 | 43.1 | 1.7 | 2 | 78 | 1 | 0 | 1 | 0.00 | 0 | 3 | -3 | -1.74 | -2.52 | ||||||
| Carlisle United (1 Season) | 2 Leagues | 6 | 274 | 46 | 43.5 | 3.0 | 3 | 76 | 1 | 3 | 15 | 1 | 1.83 | 6 | 1 | +5 | +1.64 | +1.64 | |||||
| Port Vale (1 Season) | 2 Leagues | 6 | 177 | 30 | 20.3 | 2.0 | 0 | 0 | 6 | 30 | 0 | 1.50 | 2 | 4 | -2 | -1.02 | -1.54 | ||||||
| Crawley Town (1 Season) | 1 League | 1 | 44 | 44 | 48.9 | 0.5 | 1 | 44 | 0 | 0 | 0 | 0.00 | 0 | 2 | -2 | -4.09 | -2.13 | ||||||
| FA Cup (6 Seasons) | 13 | 542 | 42 | 38.4 | 6.0 | 6 | 65 | 2 | 7 | 21 | 0 | 1.08 | 5 | 9 | -4 | -0.66 | -1.08 | ||||||
| EFL Cup (6 Seasons) | 7 | 434 | 62 | 33.6 | 4.8 | 4 | 84 | 2 | 3 | 32 | 3 | 1.29 | 5 | 4 | +1 | +0.21 | +0.09 | ||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2016-2017 | 18 | Stevenage | eng ENG | 4. League Two | 1.0 | 2 | 0 | 0 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 18 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 6.8 | 1 | 1 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 19 | Exeter City | eng ENG | 4. League Two | 0.5 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 19 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 2.2 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 20 | Leicester City | eng ENG | Jr. PL2 — Div. 1 | 10.4 | 3 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 21 | Carlisle United | eng ENG | EFL Cup | 0.9 | 0 | 0 | 0 | 0 | 3 | 1 | 0 | 1 | 0 | 0 | Matches | ||
| 2019-2020 | 21 | Carlisle United | eng ENG | FA Cup | 2.2 | 2 | 0 | 0 | 6 | 1 | 1 | 0 | 0 | 0 | 0 | Matches | ||
| 2019-2020 | 21 | Carlisle United | eng ENG | 4. League Two | 11.6 | 5 | 0 | 0 | 54 | 12 | 6 | 2 | 2 | 2 | 0 | 0 | 0 | Matches |
| 2020-2021 | 22 | Scunthorpe United | eng ENG | EFL Cup | 0.9 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 22 | Scunthorpe United | eng ENG | 4. League Two | 31.5 | 7 | 0 | 0 | 79 | 31 | 17 | 5 | 6 | 14 | 0 | Matches | ||
| 2021-2022 | 23 | Scunthorpe United | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 23 | Scunthorpe United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | Matches | ||
| 2021-2022 | 23 | Scunthorpe United | eng ENG | 4. League Two | 10.7 | 3 | 0 | 0 | 29 | 5 | 3 | 5 | 4 | 6 | 0 | Matches | ||
| 2021-2022 | 23 | Bristol Rovers | eng ENG | 4. League Two | 4.6 | 3 | 0 | 0 | 16 | 6 | 1 | 1 | 0 | 2 | 0 | Matches | ||
| 2022-2023 | 24 | Bristol Rovers | eng ENG | EFL Cup | 1.0 | 1 | 0 | 0 | 4 | 0 | 0 | 0 | 1 | 1 | 0 | Matches | ||
| 2022-2023 | 24 | Bristol Rovers | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 1 | 3 | 0 | 0 | 0 | 2 | 0 | Matches | ||
| 2022-2023 | 24 | Bristol Rovers | eng ENG | 3. League One | 18.1 | 7 | 1 | 0 | 39 | 19 | 4 | 2 | 3 | 7 | 0 | Matches | ||
| 2023-2024 | 25 | Port Vale | eng ENG | EFL Cup | 0.8 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 25 | Port Vale | eng ENG | FA Cup | 1.2 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 25 | Port Vale | eng ENG | 3. League One | 14.7 | 2 | 0 | 0 | 31 | 15 | 8 | 9 | 0 | 16 | 0 | Matches | ||
| 2023-2024 | 25 | Bristol Rovers | eng ENG | 3. League One | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2024-2025 | 26 | Cambridge United | eng ENG | FA Cup | 0.5 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2024-2025 | 26 | Cambridge United | eng ENG | 3. League One | 17.0 | 9 | 1 | 0 | 62 | 21 | 6 | 2 | 3 | 10 | 0 | Matches | ||
| 2025-2026 | 27 | Cambridge United | eng ENG | EFL Cup | 0.3 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2025-2026 | 27 | Crawley Town | eng ENG | FA Cup | 0.5 | 1 | 1 | 0 | 0 | Matches | ||||||||
| 2025-2026 | 27 | Crawley Town | eng ENG | 4. League Two | 11.4 | 3 | 1 | 1 | 22 | 9 | 3 | 2 | 3 | 4 | 0 | Matches | ||
| 2025-2026 | 27 | Cambridge United | eng ENG | 4. League Two | 0.3 | 0 | 0 | 0 | 3 | 2 | 0 | 0 | 0 | 1 | 0 | Matches | ||
| 9 Seasons | 8 Clubs | 4 Leagues | 132.6 | 48 | 4 | 1 | 372 | 128 | 50 | 28 | 23 | 65 | 0 | 0 | 1 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Bristol Rovers (3 Seasons) | 4 Leagues | 24.8 | 11 | 1 | 0 | 60 | 28 | 5 | 3 | 4 | 12 | 0 | ||||||
| Scunthorpe United (2 Seasons) | 3 Leagues | 45.0 | 10 | 0 | 0 | 114 | 37 | 20 | 10 | 10 | 20 | 1 | ||||||
| Cambridge United (2 Seasons) | 4 Leagues | 18.1 | 10 | 1 | 0 | 68 | 23 | 6 | 2 | 3 | 11 | 0 | ||||||
| Tottenham Hotspur (2 Seasons) | 1 League | 9.0 | 1 | 1 | 0 | 0 | ||||||||||||
| Carlisle United (1 Season) | 3 Leagues | 14.6 | 7 | 0 | 0 | 60 | 16 | 8 | 2 | 3 | 2 | 0 | 0 | 0 | ||||
| Port Vale (1 Season) | 3 Leagues | 16.7 | 4 | 0 | 0 | 35 | 15 | 8 | 9 | 0 | 16 | 0 | ||||||
| Leicester City (1 Season) | 1 League | 10.4 | 3 | 0 | 0 | 0 | ||||||||||||
| Crawley Town (1 Season) | 2 Leagues | 11.9 | 4 | 2 | 1 | 22 | 9 | 3 | 2 | 3 | 4 | 0 | ||||||
| Stevenage (1 Season) | 1 League | 1.0 | 2 | 0 | 0 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Exeter City (1 Season) | 1 League | 0.5 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| League Two (6 Seasons) | 71.5 | 23 | 1 | 1 | 216 | 65 | 30 | 15 | 15 | 29 | 0 | 0 | 0 | |||||
| FA Cup (6 Seasons) | 6.0 | 5 | 1 | 0 | 12 | 4 | 1 | 0 | 0 | 2 | 1 | |||||||
| EFL Cup (6 Seasons) | 4.8 | 2 | 0 | 0 | 12 | 4 | 1 | 0 | 2 | 1 | 0 | |||||||
| League One (3 Seasons) | 50.2 | 18 | 2 | 0 | 132 | 55 | 18 | 13 | 6 | 33 | 0 | |||||||
| PL2 — Div. 1 (3 Seasons) | 19.5 | 4 | 1 | 0 | 0 | |||||||||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2016-2017 | 18 | Stevenage | 1 League | 1.0 | 2 | 0 | 0 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2016-2017 | 18 | Tottenham Hotspur | 1 League | 6.8 | 1 | 1 | 0 | 0 | |||||||||
| 2017-2018 | 19 | Tottenham Hotspur | 1 League | 2.2 | 0 | 0 | 0 | 0 | |||||||||
| 2017-2018 | 19 | Exeter City | 1 League | 0.5 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2018-2019 | 20 | Leicester City | 1 League | 10.4 | 3 | 0 | 0 | 0 | |||||||||
| 2019-2020 | 21 | Carlisle United | 3 Leagues | 14.6 | 7 | 0 | 0 | 60 | 16 | 8 | 2 | 3 | 2 | 0 | 0 | 0 | |
| 2020-2021 | 22 | Scunthorpe United | 2 Leagues | 32.3 | 7 | 0 | 0 | 80 | 32 | 17 | 5 | 6 | 14 | 0 | |||
| 2021-2022 | 23 | Scunthorpe United | 3 Leagues | 12.7 | 3 | 0 | 0 | 34 | 5 | 3 | 5 | 4 | 6 | 1 | |||
| 2021-2022 | 23 | Bristol Rovers | 1 League | 4.6 | 3 | 0 | 0 | 16 | 6 | 1 | 1 | 0 | 2 | 0 | |||
| 2022-2023 | 24 | Bristol Rovers | 3 Leagues | 19.8 | 8 | 1 | 0 | 44 | 22 | 4 | 2 | 4 | 10 | 0 | |||
| 2023-2024 | 25 | Bristol Rovers | 2 Leagues | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 2023-2024 | 25 | Port Vale | 3 Leagues | 16.7 | 4 | 0 | 0 | 35 | 15 | 8 | 9 | 0 | 16 | 0 | |||
| 2024-2025 | 26 | Cambridge United | 2 Leagues | 17.5 | 10 | 1 | 0 | 62 | 21 | 6 | 2 | 3 | 10 | 0 | |||
| 2025-2026 | 27 | Cambridge United | 2 Leagues | 0.5 | 0 | 0 | 0 | 6 | 2 | 0 | 0 | 0 | 1 | 0 | |||
| 2025-2026 | 27 | Crawley Town | 2 Leagues | 11.9 | 4 | 2 | 1 | 22 | 9 | 3 | 2 | 3 | 4 | 0 | |||
| 9 Seasons | 8 Clubs | 4 Leagues | 132.6 | 48 | 4 | 1 | 372 | 128 | 50 | 28 | 23 | 65 | 0 | 0 | 1 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Bristol Rovers (3 Seasons) | 4 Leagues | 24.8 | 11 | 1 | 0 | 60 | 28 | 5 | 3 | 4 | 12 | 0 | |||||
| Scunthorpe United (2 Seasons) | 3 Leagues | 45.0 | 10 | 0 | 0 | 114 | 37 | 20 | 10 | 10 | 20 | 1 | |||||
| Cambridge United (2 Seasons) | 4 Leagues | 18.1 | 10 | 1 | 0 | 68 | 23 | 6 | 2 | 3 | 11 | 0 | |||||
| Tottenham Hotspur (2 Seasons) | 1 League | 9.0 | 1 | 1 | 0 | 0 | |||||||||||
| Carlisle United (1 Season) | 3 Leagues | 14.6 | 7 | 0 | 0 | 60 | 16 | 8 | 2 | 3 | 2 | 0 | 0 | 0 | |||
| Port Vale (1 Season) | 3 Leagues | 16.7 | 4 | 0 | 0 | 35 | 15 | 8 | 9 | 0 | 16 | 0 | |||||
| Leicester City (1 Season) | 1 League | 10.4 | 3 | 0 | 0 | 0 | |||||||||||
| Crawley Town (1 Season) | 2 Leagues | 11.9 | 4 | 2 | 1 | 22 | 9 | 3 | 2 | 3 | 4 | 0 | |||||
| Stevenage (1 Season) | 1 League | 1.0 | 2 | 0 | 0 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Exeter City (1 Season) | 1 League | 0.5 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| League Two (6 Seasons) | 71.5 | 23 | 1 | 1 | 216 | 65 | 30 | 15 | 15 | 29 | 0 | 0 | 0 | ||||
| FA Cup (6 Seasons) | 6.0 | 5 | 1 | 0 | 12 | 4 | 1 | 0 | 0 | 2 | 1 | ||||||
| EFL Cup (6 Seasons) | 4.8 | 2 | 0 | 0 | 12 | 4 | 1 | 0 | 2 | 1 | 0 | ||||||
| League One (3 Seasons) | 50.2 | 18 | 2 | 0 | 132 | 55 | 18 | 13 | 6 | 33 | 0 | ||||||
| PL2 — Div. 1 (3 Seasons) | 19.5 | 4 | 1 | 0 | 0 | ||||||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2016-2017 | 18 | Stevenage | eng ENG | 4. League Two | 10th | 1.0 | 2 | 0 | 0 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 18 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 10th | 6.8 | 1 | 1 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 19 | Tottenham Hotspur | eng ENG | Jr. PL2 — Div. 1 | 9th | 2.2 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 19 | Exeter City | eng ENG | 4. League Two | 4th | 0.5 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 20 | Leicester City | eng ENG | Jr. PL2 — Div. 1 | 10th | 10.4 | 3 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 21 | Carlisle United | eng ENG | 4. League Two | 18th | 11.6 | 5 | 0 | 0 | 54 | 12 | 6 | 2 | 2 | 2 | 0 | 0 | 0 | Matches |
| 2020-2021 | 22 | Scunthorpe United | eng ENG | 4. League Two | 22nd | 31.5 | 7 | 0 | 0 | 79 | 31 | 17 | 5 | 6 | 14 | 0 | Matches | ||
| 2021-2022 | 23 | Scunthorpe United | eng ENG | 4. League Two | 24th | 10.7 | 3 | 0 | 0 | 29 | 5 | 3 | 5 | 4 | 6 | 0 | Matches | ||
| 2021-2022 | 23 | Bristol Rovers | eng ENG | 4. League Two | 3rd | 4.6 | 3 | 0 | 0 | 16 | 6 | 1 | 1 | 0 | 2 | 0 | Matches | ||
| 2022-2023 | 24 | Bristol Rovers | eng ENG | 3. League One | 17th | 18.1 | 7 | 1 | 0 | 39 | 19 | 4 | 2 | 3 | 7 | 0 | Matches | ||
| 2023-2024 | 25 | Bristol Rovers | eng ENG | 3. League One | 15th | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 25 | Port Vale | eng ENG | 3. League One | 23rd | 14.7 | 2 | 0 | 0 | 31 | 15 | 8 | 9 | 0 | 16 | 0 | Matches | ||
| 2024-2025 | 26 | Cambridge United | eng ENG | 3. League One | 23rd | 17.0 | 9 | 1 | 0 | 62 | 21 | 6 | 2 | 3 | 10 | 0 | Matches | ||
| 2025-2026 | 27 | Cambridge United | eng ENG | 4. League Two | 3rd | 0.3 | 0 | 0 | 0 | 3 | 2 | 0 | 0 | 0 | 1 | 0 | Matches | ||
| 2025-2026 | 27 | Crawley Town | eng ENG | 4. League Two | 22nd | 11.4 | 3 | 1 | 1 | 22 | 9 | 3 | 2 | 3 | 4 | 0 | Matches | ||
| 9 Seasons | 8 Clubs | 2 Leagues | 121.8 | 41 | 3 | 1 | 348 | 120 | 48 | 28 | 21 | 62 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Bristol Rovers (3 Seasons) | 2 Leagues | 23.0 | 10 | 1 | 0 | 55 | 25 | 5 | 3 | 3 | 9 | 0 | |||||||
| Scunthorpe United (2 Seasons) | 1 League | 42.2 | 10 | 0 | 0 | 108 | 36 | 20 | 10 | 10 | 20 | 0 | |||||||
| Cambridge United (2 Seasons) | 2 Leagues | 17.3 | 9 | 1 | 0 | 65 | 23 | 6 | 2 | 3 | 11 | 0 | |||||||
| Tottenham Hotspur (2 Seasons) | 1 League | 9.0 | 1 | 1 | 0 | 0 | |||||||||||||
| Carlisle United (1 Season) | 1 League | 11.6 | 5 | 0 | 0 | 54 | 12 | 6 | 2 | 2 | 2 | 0 | 0 | 0 | |||||
| Port Vale (1 Season) | 1 League | 14.7 | 2 | 0 | 0 | 31 | 15 | 8 | 9 | 0 | 16 | 0 | |||||||
| Leicester City (1 Season) | 1 League | 10.4 | 3 | 0 | 0 | 0 | |||||||||||||
| Crawley Town (1 Season) | 1 League | 11.4 | 3 | 1 | 1 | 22 | 9 | 3 | 2 | 3 | 4 | 0 | |||||||
| Stevenage (1 Season) | 1 League | 1.0 | 2 | 0 | 0 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Exeter City (1 Season) | 1 League | 0.5 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| League Two (6 Seasons) | 71.5 | 23 | 1 | 1 | 216 | 65 | 30 | 15 | 15 | 29 | 0 | 0 | 0 | ||||||
| League One (3 Seasons) | 50.2 | 18 | 2 | 0 | 132 | 55 | 18 | 13 | 6 | 33 | 0 | ||||||||
| PL2 — Div. 1 (3 Seasons) | 19.5 | 4 | 1 | 0 | 0 | ||||||||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2019-2020 | 21 | Carlisle United | eng ENG | EFL Cup | 33rd | 0.9 | 0 | 0 | 0 | 0 | 3 | 1 | 0 | 1 | 0 | 0 | Matches | ||
| 2019-2020 | 21 | Carlisle United | eng ENG | FA Cup | 33rd | 2.2 | 2 | 0 | 0 | 6 | 1 | 1 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 22 | Scunthorpe United | eng ENG | EFL Cup | 58th | 0.9 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 23 | Scunthorpe United | eng ENG | EFL Cup | Rd1 | 1.0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 23 | Scunthorpe United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | Matches | |||
| 2022-2023 | 24 | Bristol Rovers | eng ENG | EFL Cup | Rd1 | 1.0 | 1 | 0 | 0 | 4 | 0 | 0 | 0 | 1 | 1 | 0 | Matches | ||
| 2022-2023 | 24 | Bristol Rovers | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 1 | 3 | 0 | 0 | 0 | 2 | 0 | Matches | |||
| 2023-2024 | 25 | Port Vale | eng ENG | EFL Cup | QF | 0.8 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 25 | Port Vale | eng ENG | FA Cup | 1.2 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | |||
| 2024-2025 | 26 | Cambridge United | eng ENG | FA Cup | 0.5 | 1 | 0 | 0 | 0 | Matches | |||||||||
| 2025-2026 | 27 | Cambridge United | eng ENG | EFL Cup | Rd3 | 0.3 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2025-2026 | 27 | Crawley Town | eng ENG | FA Cup | 0.5 | 1 | 1 | 0 | 0 | Matches | |||||||||
| 7 Seasons | 6 Clubs | 2 Leagues | 10.8 | 7 | 1 | 0 | 24 | 8 | 2 | 0 | 2 | 3 | 1 | ||||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Scunthorpe United (2 Seasons) | 2 Leagues | 2.9 | 0 | 0 | 0 | 6 | 1 | 0 | 0 | 0 | 0 | 1 | |||||||
| Cambridge United (2 Seasons) | 2 Leagues | 0.8 | 1 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||
| Bristol Rovers (2 Seasons) | 2 Leagues | 1.7 | 1 | 0 | 0 | 5 | 3 | 0 | 0 | 1 | 3 | 0 | |||||||
| Carlisle United (1 Season) | 2 Leagues | 3.0 | 2 | 0 | 0 | 6 | 4 | 2 | 0 | 1 | 0 | 0 | |||||||
| Port Vale (1 Season) | 2 Leagues | 2.0 | 2 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||
| Crawley Town (1 Season) | 1 League | 0.5 | 1 | 1 | 0 | 0 | |||||||||||||
| FA Cup (6 Seasons) | 6.0 | 5 | 1 | 0 | 12 | 4 | 1 | 0 | 0 | 2 | 1 | ||||||||
| EFL Cup (6 Seasons) | 4.8 | 2 | 0 | 0 | 12 | 4 | 1 | 0 | 2 | 1 | 0 | ||||||||
About FBref.com
FBref.com launched (June 13, 2018) with domestic league coverage for England, France, Germany, Italy, Spain, and United States. Since then we have been steadily expanding our coverage to include domestic leagues from over 40 countries as well as domestic cup, super cup and youth leagues from top European countries. We have also added coverage for major international cups such as the UEFA Champions League and Copa Libertadores.
FBref is the most complete sources for women's football data on the internet. This includes the entire history of the FIFA Women's World Cup as well as recent domestic league seasons from nine countries.
Note that player records are likely not complete for their careers. Players may come from or move to leagues we don't currently cover. This issue will go down over time, as we add new leagues and seasons.
You can sign up to receive an e-mail when new countries and features launch.
For more information, see our Launch Blog Post, the overall leagues/competition page with details on leagues and seasons we include, or our About Page. Let us know if you find an issue or have a suggestion.
FBref is one of seven Sports-Reference.com sites.

Player Club Summary