| 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 | |||||
| 2017-2018 | 18 | Birmingham City | eng ENG | FA Cup | 1 | 0 | 20 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 19 | Birmingham City | eng ENG | 2. Championship | 10 | 5 | 437 | 4.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 19 | Birmingham City | eng ENG | EFL Cup | 1 | 0 | 18 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 19 | Birmingham City | eng ENG | FA Cup | 0 | 0 | Matches | |||||||||||||||
| 2019-2020 | 20 | Birmingham City | 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 |
| 2019-2020 | 20 | Stevenage | eng ENG | FA Cup | 2 | 2 | 180 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 20 | Stevenage | eng ENG | 4. League Two | 20 | 18 | 1,617 | 18.0 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.11 | 0.00 | 0.11 | 0.11 | 0.11 | Matches |
| 2020-2021 | 21 | Birmingham City | 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 |
| 2020-2021 | 21 | Ross County | sct SCO | 1. Premiership | 19 | 14 | 1,231 | 13.7 | 3 | 1 | 4 | 3 | 0 | 0 | 1 | 0 | 0.22 | 0.07 | 0.29 | 0.22 | 0.29 | Matches |
| 2021-2022 | 22 | Birmingham City | eng ENG | EFL Cup | 2 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 22 | Burton Albion | eng ENG | FA Cup | 0 | 0 | Matches | |||||||||||||||
| 2021-2022 | 22 | Burton Albion | eng ENG | 3. League One | 27 | 12 | 1,101 | 12.2 | 1 | 2 | 3 | 1 | 0 | 0 | 3 | 1 | 0.08 | 0.16 | 0.25 | 0.08 | 0.25 | Matches |
| 2021-2022 | 22 | Birmingham City | eng ENG | Jr. PL2 — Div. 2 | 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 | 23 | Burton Albion | eng ENG | EFL Cup | 1 | 1 | 66 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 23 | Burton Albion | eng ENG | FA Cup | 1 | 1 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 23 | Burton Albion | eng ENG | 3. League One | 2 | 0 | 16 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 23 | Doncaster Rovers | eng ENG | 4. League Two | 10 | 7 | 579 | 6.4 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.16 | 0.16 | 0.00 | 0.16 | Matches |
| 2023-2024 | 24 | Burton Albion | eng ENG | EFL Cup | 0 | 0 | Matches | |||||||||||||||
| 2023-2024 | 24 | AFC Wimbledon | eng ENG | FA Cup | 0 | 0 | Matches | |||||||||||||||
| 2023-2024 | 24 | Burton Albion | eng ENG | 3. League One | 0 | 0 | Matches | |||||||||||||||
| 2023-2024 | 24 | Sutton United | eng ENG | 4. League Two | 21 | 19 | 1,755 | 19.5 | 8 | 5 | 13 | 5 | 3 | 3 | 2 | 0 | 0.41 | 0.26 | 0.67 | 0.26 | 0.51 | Matches |
| 2023-2024 | 24 | AFC Wimbledon | eng ENG | 4. League Two | 6 | 2 | 197 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 25 | Walsall | eng ENG | EFL Cup | 3 | 2 | 154 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 25 | Walsall | eng ENG | FA Cup | 2 | 1 | 129 | 1.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 25 | Walsall | eng ENG | 4. League Two | 36 | 30 | 2,313 | 25.7 | 2 | 1 | 3 | 2 | 0 | 0 | 2 | 0 | 0.08 | 0.04 | 0.12 | 0.08 | 0.12 | Matches |
| 2025-2026 | 26 | Walsall | eng ENG | FA Cup | 3 | 2 | 198 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 26 | Walsall | eng ENG | 4. League Two | 44 | 34 | 2,854 | 31.7 | 1 | 3 | 4 | 1 | 0 | 0 | 3 | 1 | 0.03 | 0.09 | 0.13 | 0.03 | 0.13 | Matches |
| 9 Seasons | 8 Clubs | 6 Leagues | 213 | 153 | 13,225 | 146.9 | 17 | 13 | 30 | 14 | 3 | 3 | 15 | 2 | 0.12 | 0.09 | 0.20 | 0.10 | 0.18 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Birmingham City (5 Seasons) | 3 Leagues | 16 | 8 | 775 | 8.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Burton Albion (3 Seasons) | 3 Leagues | 31 | 14 | 1,243 | 13.8 | 1 | 2 | 3 | 1 | 0 | 0 | 3 | 1 | 0.07 | 0.14 | 0.22 | 0.07 | 0.22 | ||||
| Walsall (2 Seasons) | 3 Leagues | 88 | 69 | 5,648 | 62.8 | 3 | 4 | 7 | 3 | 0 | 0 | 5 | 1 | 0.05 | 0.06 | 0.11 | 0.05 | 0.11 | ||||
| Stevenage (1 Season) | 2 Leagues | 22 | 20 | 1,797 | 20.0 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | ||||
| Sutton United (1 Season) | 1 League | 21 | 19 | 1,755 | 19.5 | 8 | 5 | 13 | 5 | 3 | 3 | 2 | 0 | 0.41 | 0.26 | 0.67 | 0.26 | 0.51 | ||||
| Ross County (1 Season) | 1 League | 19 | 14 | 1,231 | 13.7 | 3 | 1 | 4 | 3 | 0 | 0 | 1 | 0 | 0.22 | 0.07 | 0.29 | 0.22 | 0.29 | ||||
| Doncaster Rovers (1 Season) | 1 League | 10 | 7 | 579 | 6.4 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.16 | 0.16 | 0.00 | 0.16 | ||||
| AFC Wimbledon (1 Season) | 2 Leagues | 6 | 2 | 197 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Birmingham City (1 Season) | 1 League | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| FA Cup (8 Seasons) | 9 | 6 | 587 | 6.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| EFL Cup (7 Seasons) | 9 | 6 | 538 | 6.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| League Two (5 Seasons) | 137 | 110 | 9,315 | 103.5 | 13 | 10 | 23 | 10 | 3 | 3 | 11 | 1 | 0.13 | 0.10 | 0.22 | 0.10 | 0.19 | |||||
| League One (3 Seasons) | 29 | 12 | 1,117 | 12.4 | 1 | 2 | 3 | 1 | 0 | 0 | 3 | 1 | 0.08 | 0.16 | 0.24 | 0.08 | 0.24 | |||||
| Premiership (1 Season) | 19 | 14 | 1,231 | 13.7 | 3 | 1 | 4 | 3 | 0 | 0 | 1 | 0 | 0.22 | 0.07 | 0.29 | 0.22 | 0.29 | |||||
| Championship (1 Season) | 10 | 5 | 437 | 4.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| PL2 — Div. 2 (1 Season) | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| 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 | |||||
| 2017-2018 | 18 | Birmingham City | 1 League | 1 | 0 | 20 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2018-2019 | 19 | Birmingham City | 3 Leagues | 11 | 5 | 455 | 5.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2019-2020 | 20 | Stevenage | 2 Leagues | 22 | 20 | 1,797 | 20.0 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | |
| 2019-2020 | 20 | Birmingham City | 1 League | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2020-2021 | 21 | Ross County | 1 League | 19 | 14 | 1,231 | 13.7 | 3 | 1 | 4 | 3 | 0 | 0 | 1 | 0 | 0.22 | 0.07 | 0.29 | 0.22 | 0.29 | |
| 2020-2021 | 21 | Birmingham City | 1 League | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2021-2022 | 22 | Birmingham City | 1 League | 2 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2021-2022 | 22 | Birmingham City | 1 League | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2021-2022 | 22 | Burton Albion | 2 Leagues | 27 | 12 | 1,101 | 12.2 | 1 | 2 | 3 | 1 | 0 | 0 | 3 | 1 | 0.08 | 0.16 | 0.25 | 0.08 | 0.25 | |
| 2022-2023 | 23 | Doncaster Rovers | 1 League | 10 | 7 | 579 | 6.4 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.16 | 0.16 | 0.00 | 0.16 | |
| 2022-2023 | 23 | Burton Albion | 3 Leagues | 4 | 2 | 142 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2023-2024 | 24 | Burton Albion | 2 Leagues | 0 | 0 | ||||||||||||||||
| 2023-2024 | 24 | Sutton United | 1 League | 21 | 19 | 1,755 | 19.5 | 8 | 5 | 13 | 5 | 3 | 3 | 2 | 0 | 0.41 | 0.26 | 0.67 | 0.26 | 0.51 | |
| 2023-2024 | 24 | AFC Wimbledon | 2 Leagues | 6 | 2 | 197 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2024-2025 | 25 | Walsall | 3 Leagues | 41 | 33 | 2,596 | 28.8 | 2 | 1 | 3 | 2 | 0 | 0 | 2 | 0 | 0.07 | 0.03 | 0.10 | 0.07 | 0.10 | |
| 2025-2026 | 26 | Walsall | 2 Leagues | 47 | 36 | 3,052 | 33.9 | 1 | 3 | 4 | 1 | 0 | 0 | 3 | 1 | 0.03 | 0.09 | 0.12 | 0.03 | 0.12 | |
| 9 Seasons | 8 Clubs | 6 Leagues | 213 | 153 | 13,225 | 146.9 | 17 | 13 | 30 | 14 | 3 | 3 | 15 | 2 | 0.12 | 0.09 | 0.20 | 0.10 | 0.18 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Birmingham City (5 Seasons) | 3 Leagues | 16 | 8 | 775 | 8.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Burton Albion (3 Seasons) | 3 Leagues | 31 | 14 | 1,243 | 13.8 | 1 | 2 | 3 | 1 | 0 | 0 | 3 | 1 | 0.07 | 0.14 | 0.22 | 0.07 | 0.22 | |||
| Walsall (2 Seasons) | 3 Leagues | 88 | 69 | 5,648 | 62.8 | 3 | 4 | 7 | 3 | 0 | 0 | 5 | 1 | 0.05 | 0.06 | 0.11 | 0.05 | 0.11 | |||
| Stevenage (1 Season) | 2 Leagues | 22 | 20 | 1,797 | 20.0 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | |||
| Sutton United (1 Season) | 1 League | 21 | 19 | 1,755 | 19.5 | 8 | 5 | 13 | 5 | 3 | 3 | 2 | 0 | 0.41 | 0.26 | 0.67 | 0.26 | 0.51 | |||
| Ross County (1 Season) | 1 League | 19 | 14 | 1,231 | 13.7 | 3 | 1 | 4 | 3 | 0 | 0 | 1 | 0 | 0.22 | 0.07 | 0.29 | 0.22 | 0.29 | |||
| Doncaster Rovers (1 Season) | 1 League | 10 | 7 | 579 | 6.4 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.16 | 0.16 | 0.00 | 0.16 | |||
| AFC Wimbledon (1 Season) | 2 Leagues | 6 | 2 | 197 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Birmingham City (1 Season) | 1 League | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| FA Cup (8 Seasons) | 9 | 6 | 587 | 6.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| EFL Cup (7 Seasons) | 9 | 6 | 538 | 6.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| League Two (5 Seasons) | 137 | 110 | 9,315 | 103.5 | 13 | 10 | 23 | 10 | 3 | 3 | 11 | 1 | 0.13 | 0.10 | 0.22 | 0.10 | 0.19 | ||||
| League One (3 Seasons) | 29 | 12 | 1,117 | 12.4 | 1 | 2 | 3 | 1 | 0 | 0 | 3 | 1 | 0.08 | 0.16 | 0.24 | 0.08 | 0.24 | ||||
| Premiership (1 Season) | 19 | 14 | 1,231 | 13.7 | 3 | 1 | 4 | 3 | 0 | 0 | 1 | 0 | 0.22 | 0.07 | 0.29 | 0.22 | 0.29 | ||||
| Championship (1 Season) | 10 | 5 | 437 | 4.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| PL2 — Div. 2 (1 Season) | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| 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 | |||||
| 2018-2019 | 19 | Birmingham City | eng ENG | 2. Championship | 17th | 10 | 5 | 437 | 4.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 20 | Stevenage | eng ENG | 4. League Two | 23rd | 20 | 18 | 1,617 | 18.0 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.11 | 0.00 | 0.11 | 0.11 | 0.11 | Matches |
| 2020-2021 | 21 | Ross County | sct SCO | 1. Premiership | 16th | 19 | 14 | 1,231 | 13.7 | 3 | 1 | 4 | 3 | 0 | 0 | 1 | 0 | 0.22 | 0.07 | 0.29 | 0.22 | 0.29 | Matches |
| 2021-2022 | 22 | Birmingham City | eng ENG | Jr. PL2 — Div. 2 | 11th | 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 | 22 | Burton Albion | eng ENG | 3. League One | 16th | 27 | 12 | 1,101 | 12.2 | 1 | 2 | 3 | 1 | 0 | 0 | 3 | 1 | 0.08 | 0.16 | 0.25 | 0.08 | 0.25 | Matches |
| 2022-2023 | 23 | Doncaster Rovers | eng ENG | 4. League Two | 18th | 10 | 7 | 579 | 6.4 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.16 | 0.16 | 0.00 | 0.16 | Matches |
| 2022-2023 | 23 | Burton Albion | eng ENG | 3. League One | 15th | 2 | 0 | 16 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 24 | Burton Albion | eng ENG | 3. League One | 20th | 0 | 0 | Matches | |||||||||||||||
| 2023-2024 | 24 | Sutton United | eng ENG | 4. League Two | 23rd | 21 | 19 | 1,755 | 19.5 | 8 | 5 | 13 | 5 | 3 | 3 | 2 | 0 | 0.41 | 0.26 | 0.67 | 0.26 | 0.51 | Matches |
| 2023-2024 | 24 | AFC Wimbledon | eng ENG | 4. League Two | 10th | 6 | 2 | 197 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 25 | Walsall | eng ENG | 4. League Two | 4th | 36 | 30 | 2,313 | 25.7 | 2 | 1 | 3 | 2 | 0 | 0 | 2 | 0 | 0.08 | 0.04 | 0.12 | 0.08 | 0.12 | Matches |
| 2025-2026 | 26 | Walsall | eng ENG | 4. League Two | 13th | 44 | 34 | 2,854 | 31.7 | 1 | 3 | 4 | 1 | 0 | 0 | 3 | 1 | 0.03 | 0.09 | 0.13 | 0.03 | 0.13 | Matches |
| 8 Seasons | 8 Clubs | 4 Leagues | 195 | 141 | 12,100 | 134.4 | 17 | 13 | 30 | 14 | 3 | 3 | 15 | 2 | 0.13 | 0.10 | 0.22 | 0.10 | 0.20 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Burton Albion (3 Seasons) | 1 League | 29 | 12 | 1,117 | 12.4 | 1 | 2 | 3 | 1 | 0 | 0 | 3 | 1 | 0.08 | 0.16 | 0.24 | 0.08 | 0.24 | |||||
| Walsall (2 Seasons) | 1 League | 80 | 64 | 5,167 | 57.4 | 3 | 4 | 7 | 3 | 0 | 0 | 5 | 1 | 0.05 | 0.07 | 0.12 | 0.05 | 0.12 | |||||
| Sutton United (1 Season) | 1 League | 21 | 19 | 1,755 | 19.5 | 8 | 5 | 13 | 5 | 3 | 3 | 2 | 0 | 0.41 | 0.26 | 0.67 | 0.26 | 0.51 | |||||
| Stevenage (1 Season) | 1 League | 20 | 18 | 1,617 | 18.0 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.11 | 0.00 | 0.11 | 0.11 | 0.11 | |||||
| Ross County (1 Season) | 1 League | 19 | 14 | 1,231 | 13.7 | 3 | 1 | 4 | 3 | 0 | 0 | 1 | 0 | 0.22 | 0.07 | 0.29 | 0.22 | 0.29 | |||||
| Doncaster Rovers (1 Season) | 1 League | 10 | 7 | 579 | 6.4 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.16 | 0.16 | 0.00 | 0.16 | |||||
| Birmingham City (1 Season) | 1 League | 10 | 5 | 437 | 4.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| AFC Wimbledon (1 Season) | 1 League | 6 | 2 | 197 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Birmingham City (1 Season) | 1 League | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| League Two (5 Seasons) | 137 | 110 | 9,315 | 103.5 | 13 | 10 | 23 | 10 | 3 | 3 | 11 | 1 | 0.13 | 0.10 | 0.22 | 0.10 | 0.19 | ||||||
| League One (3 Seasons) | 29 | 12 | 1,117 | 12.4 | 1 | 2 | 3 | 1 | 0 | 0 | 3 | 1 | 0.08 | 0.16 | 0.24 | 0.08 | 0.24 | ||||||
| Premiership (1 Season) | 19 | 14 | 1,231 | 13.7 | 3 | 1 | 4 | 3 | 0 | 0 | 1 | 0 | 0.22 | 0.07 | 0.29 | 0.22 | 0.29 | ||||||
| Championship (1 Season) | 10 | 5 | 437 | 4.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| PL2 — Div. 2 (1 Season) | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| 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 | |||||
| 2017-2018 | 18 | Birmingham City | eng ENG | FA Cup | 17th | 1 | 0 | 20 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 19 | Birmingham City | eng ENG | EFL Cup | 58th | 1 | 0 | 18 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 19 | Birmingham City | eng ENG | FA Cup | 33rd | 0 | 0 | Matches | |||||||||||||||
| 2019-2020 | 20 | Stevenage | eng ENG | FA Cup | 85th | 2 | 2 | 180 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 20 | Birmingham City | eng ENG | EFL Cup | 58th | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 21 | Birmingham City | eng ENG | EFL Cup | 58th | 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 | 22 | Birmingham City | eng ENG | EFL Cup | Rd2 | 2 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 22 | Burton Albion | eng ENG | FA Cup | 0 | 0 | Matches | ||||||||||||||||
| 2022-2023 | 23 | Burton Albion | eng ENG | EFL Cup | Rd1 | 1 | 1 | 66 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 23 | Burton Albion | eng ENG | FA Cup | 1 | 1 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2023-2024 | 24 | Burton Albion | eng ENG | EFL Cup | Rd1 | 0 | 0 | Matches | |||||||||||||||
| 2023-2024 | 24 | AFC Wimbledon | eng ENG | FA Cup | 0 | 0 | Matches | ||||||||||||||||
| 2024-2025 | 25 | Walsall | eng ENG | EFL Cup | Rd3 | 3 | 2 | 154 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 25 | Walsall | eng ENG | FA Cup | 2 | 1 | 129 | 1.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2025-2026 | 26 | Walsall | eng ENG | FA Cup | 3 | 2 | 198 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 9 Seasons | 5 Clubs | 2 Leagues | 18 | 12 | 1,125 | 12.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Birmingham City (5 Seasons) | 2 Leagues | 6 | 3 | 338 | 3.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Burton Albion (3 Seasons) | 2 Leagues | 2 | 2 | 126 | 1.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Walsall (2 Seasons) | 2 Leagues | 8 | 5 | 481 | 5.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Stevenage (1 Season) | 1 League | 2 | 2 | 180 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| AFC Wimbledon (1 Season) | 1 League | 0 | 0 | ||||||||||||||||||||
| FA Cup (8 Seasons) | 9 | 6 | 587 | 6.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| EFL Cup (7 Seasons) | 9 | 6 | 538 | 6.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2017-2018 | 18 | Birmingham City | eng ENG | FA Cup | 0.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 19 | Birmingham City | eng ENG | 2. Championship | 4.9 | 0 | 4 | 0 | 0.0 | 0.82 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2018-2019 | 19 | Birmingham City | eng ENG | EFL Cup | 0.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 20 | Birmingham City | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 20 | Stevenage | eng ENG | FA Cup | 2.0 | 0 | 5 | 1 | 20.0 | 2.50 | 0.50 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 20 | Stevenage | eng ENG | 4. League Two | 18.0 | 2 | 22 | 8 | 36.4 | 1.22 | 0.45 | 0.09 | 0.25 | 0 | 0 | Matches |
| 2020-2021 | 21 | Birmingham City | eng ENG | EFL Cup | 1.0 | 0 | 2 | 1 | 50.0 | 2.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 21 | Ross County | sct SCO | 1. Premiership | 13.7 | 3 | 17 | 7 | 41.2 | 1.24 | 0.51 | 0.18 | 0.43 | 0 | 0 | Matches |
| 2021-2022 | 22 | Birmingham City | eng ENG | EFL Cup | 1.3 | 0 | 1 | 0 | 0.0 | 0.75 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 22 | Burton Albion | eng ENG | 3. League One | 12.2 | 1 | 27 | 5 | 18.5 | 2.21 | 0.41 | 0.04 | 0.20 | 0 | 0 | Matches |
| 2021-2022 | 22 | Birmingham City | eng ENG | Jr. PL2 — Div. 2 | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2022-2023 | 23 | Burton Albion | eng ENG | EFL Cup | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2022-2023 | 23 | Burton Albion | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | Matches | |||||||
| 2022-2023 | 23 | Burton Albion | eng ENG | 3. League One | 0.2 | 0 | 1 | 0 | 0.0 | 5.63 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 23 | Doncaster Rovers | eng ENG | 4. League Two | 6.4 | 0 | 4 | 1 | 25.0 | 0.62 | 0.16 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 24 | Sutton United | eng ENG | 4. League Two | 19.5 | 8 | 40 | 23 | 57.5 | 2.05 | 1.18 | 0.13 | 0.22 | 3 | 3 | Matches |
| 2023-2024 | 24 | AFC Wimbledon | eng ENG | 4. League Two | 2.2 | 0 | 2 | 1 | 50.0 | 0.91 | 0.46 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 25 | Walsall | eng ENG | EFL Cup | 1.7 | 0 | 5 | 1 | 20.0 | 2.92 | 0.58 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 25 | Walsall | eng ENG | FA Cup | 1.4 | 0 | 0 | 0 | Matches | |||||||
| 2024-2025 | 25 | Walsall | eng ENG | 4. League Two | 25.7 | 2 | 56 | 12 | 21.4 | 2.18 | 0.47 | 0.04 | 0.17 | 0 | 0 | Matches |
| 2025-2026 | 26 | Walsall | eng ENG | FA Cup | 2.2 | 0 | 1 | 1 | 100.0 | 0.45 | 0.45 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2025-2026 | 26 | Walsall | eng ENG | 4. League Two | 31.7 | 1 | 45 | 11 | 24.4 | 1.42 | 0.35 | 0.02 | 0.09 | 0 | 0 | Matches |
| 9 Seasons | 8 Clubs | 6 Leagues | 146.9 | 17 | 232 | 72 | 31.0 | 1.60 | 0.50 | 0.06 | 0.19 | 3 | 3 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Birmingham City (5 Seasons) | 3 Leagues | 8.6 | 0 | 7 | 1 | 14.3 | 0.81 | 0.12 | 0.00 | 0.00 | 0 | 0 | ||||
| Burton Albion (3 Seasons) | 3 Leagues | 13.8 | 1 | 28 | 5 | 17.9 | 2.13 | 0.38 | 0.04 | 0.20 | 0 | 0 | ||||
| Walsall (2 Seasons) | 3 Leagues | 62.8 | 3 | 107 | 25 | 23.4 | 1.74 | 0.41 | 0.03 | 0.12 | 0 | 0 | ||||
| Stevenage (1 Season) | 2 Leagues | 20.0 | 2 | 27 | 9 | 33.3 | 1.35 | 0.45 | 0.07 | 0.22 | 0 | 0 | ||||
| Sutton United (1 Season) | 1 League | 19.5 | 8 | 40 | 23 | 57.5 | 2.05 | 1.18 | 0.13 | 0.22 | 3 | 3 | ||||
| Ross County (1 Season) | 1 League | 13.7 | 3 | 17 | 7 | 41.2 | 1.24 | 0.51 | 0.18 | 0.43 | 0 | 0 | ||||
| Doncaster Rovers (1 Season) | 1 League | 6.4 | 0 | 4 | 1 | 25.0 | 0.62 | 0.16 | 0.00 | 0.00 | 0 | 0 | ||||
| AFC Wimbledon (1 Season) | 2 Leagues | 2.2 | 0 | 2 | 1 | 50.0 | 0.91 | 0.46 | 0.00 | 0.00 | 0 | 0 | ||||
| Birmingham City (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | |||||||||||
| FA Cup (8 Seasons) | 6.5 | 0 | 6 | 2 | 33.3 | 1.36 | 0.45 | 0.00 | 0.00 | 0 | 0 | |||||
| EFL Cup (7 Seasons) | 6.0 | 0 | 8 | 2 | 25.0 | 1.34 | 0.33 | 0.00 | 0.00 | 0 | 0 | |||||
| League Two (5 Seasons) | 103.5 | 13 | 169 | 56 | 33.1 | 1.63 | 0.54 | 0.06 | 0.18 | 3 | 3 | |||||
| League One (3 Seasons) | 12.4 | 1 | 28 | 5 | 17.9 | 2.26 | 0.40 | 0.04 | 0.20 | 0 | 0 | |||||
| Premiership (1 Season) | 13.7 | 3 | 17 | 7 | 41.2 | 1.24 | 0.51 | 0.18 | 0.43 | 0 | 0 | |||||
| Championship (1 Season) | 4.9 | 0 | 4 | 0 | 0.0 | 0.82 | 0.00 | 0.00 | 0 | 0 | ||||||
| PL2 — Div. 2 (1 Season) | 1.0 | 0 | 0 | 0 | ||||||||||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2017-2018 | 18 | Birmingham City | 1 League | 0.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2018-2019 | 19 | Birmingham City | 3 Leagues | 5.1 | 0 | 4 | 0 | 0.0 | 0.79 | 0.00 | 0.00 | 0 | 0 | ||
| 2019-2020 | 20 | Stevenage | 2 Leagues | 20.0 | 2 | 27 | 9 | 33.3 | 1.35 | 0.45 | 0.07 | 0.22 | 0 | 0 | |
| 2019-2020 | 20 | Birmingham City | 1 League | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2020-2021 | 21 | Ross County | 1 League | 13.7 | 3 | 17 | 7 | 41.2 | 1.24 | 0.51 | 0.18 | 0.43 | 0 | 0 | |
| 2020-2021 | 21 | Birmingham City | 1 League | 1.0 | 0 | 2 | 1 | 50.0 | 2.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | |
| 2021-2022 | 22 | Birmingham City | 1 League | 1.3 | 0 | 1 | 0 | 0.0 | 0.75 | 0.00 | 0.00 | 0 | 0 | ||
| 2021-2022 | 22 | Birmingham City | 1 League | 1.0 | 0 | 0 | 0 | ||||||||
| 2021-2022 | 22 | Burton Albion | 2 Leagues | 12.2 | 1 | 27 | 5 | 18.5 | 2.21 | 0.41 | 0.04 | 0.20 | 0 | 0 | |
| 2022-2023 | 23 | Doncaster Rovers | 1 League | 6.4 | 0 | 4 | 1 | 25.0 | 0.62 | 0.16 | 0.00 | 0.00 | 0 | 0 | |
| 2022-2023 | 23 | Burton Albion | 3 Leagues | 1.6 | 0 | 1 | 0 | 0.0 | 1.10 | 0.00 | 0.00 | 0 | 0 | ||
| 2023-2024 | 24 | Sutton United | 1 League | 19.5 | 8 | 40 | 23 | 57.5 | 2.05 | 1.18 | 0.13 | 0.22 | 3 | 3 | |
| 2023-2024 | 24 | AFC Wimbledon | 2 Leagues | 2.2 | 0 | 2 | 1 | 50.0 | 0.91 | 0.46 | 0.00 | 0.00 | 0 | 0 | |
| 2024-2025 | 25 | Walsall | 3 Leagues | 28.8 | 2 | 61 | 13 | 21.3 | 2.23 | 0.47 | 0.03 | 0.15 | 0 | 0 | |
| 2025-2026 | 26 | Walsall | 2 Leagues | 33.9 | 1 | 46 | 12 | 26.1 | 1.36 | 0.35 | 0.02 | 0.08 | 0 | 0 | |
| 9 Seasons | 8 Clubs | 6 Leagues | 146.9 | 17 | 232 | 72 | 31.0 | 1.60 | 0.50 | 0.06 | 0.19 | 3 | 3 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Birmingham City (5 Seasons) | 3 Leagues | 8.6 | 0 | 7 | 1 | 14.3 | 0.81 | 0.12 | 0.00 | 0.00 | 0 | 0 | |||
| Burton Albion (3 Seasons) | 3 Leagues | 13.8 | 1 | 28 | 5 | 17.9 | 2.13 | 0.38 | 0.04 | 0.20 | 0 | 0 | |||
| Walsall (2 Seasons) | 3 Leagues | 62.8 | 3 | 107 | 25 | 23.4 | 1.74 | 0.41 | 0.03 | 0.12 | 0 | 0 | |||
| Stevenage (1 Season) | 2 Leagues | 20.0 | 2 | 27 | 9 | 33.3 | 1.35 | 0.45 | 0.07 | 0.22 | 0 | 0 | |||
| Sutton United (1 Season) | 1 League | 19.5 | 8 | 40 | 23 | 57.5 | 2.05 | 1.18 | 0.13 | 0.22 | 3 | 3 | |||
| Ross County (1 Season) | 1 League | 13.7 | 3 | 17 | 7 | 41.2 | 1.24 | 0.51 | 0.18 | 0.43 | 0 | 0 | |||
| Doncaster Rovers (1 Season) | 1 League | 6.4 | 0 | 4 | 1 | 25.0 | 0.62 | 0.16 | 0.00 | 0.00 | 0 | 0 | |||
| AFC Wimbledon (1 Season) | 2 Leagues | 2.2 | 0 | 2 | 1 | 50.0 | 0.91 | 0.46 | 0.00 | 0.00 | 0 | 0 | |||
| Birmingham City (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | ||||||||||
| FA Cup (8 Seasons) | 6.5 | 0 | 6 | 2 | 33.3 | 1.36 | 0.45 | 0.00 | 0.00 | 0 | 0 | ||||
| EFL Cup (7 Seasons) | 6.0 | 0 | 8 | 2 | 25.0 | 1.34 | 0.33 | 0.00 | 0.00 | 0 | 0 | ||||
| League Two (5 Seasons) | 103.5 | 13 | 169 | 56 | 33.1 | 1.63 | 0.54 | 0.06 | 0.18 | 3 | 3 | ||||
| League One (3 Seasons) | 12.4 | 1 | 28 | 5 | 17.9 | 2.26 | 0.40 | 0.04 | 0.20 | 0 | 0 | ||||
| Premiership (1 Season) | 13.7 | 3 | 17 | 7 | 41.2 | 1.24 | 0.51 | 0.18 | 0.43 | 0 | 0 | ||||
| Championship (1 Season) | 4.9 | 0 | 4 | 0 | 0.0 | 0.82 | 0.00 | 0.00 | 0 | 0 | |||||
| PL2 — Div. 2 (1 Season) | 1.0 | 0 | 0 | 0 | |||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2018-2019 | 19 | Birmingham City | eng ENG | 2. Championship | 17th | 4.9 | 0 | 4 | 0 | 0.0 | 0.82 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2019-2020 | 20 | Stevenage | eng ENG | 4. League Two | 23rd | 18.0 | 2 | 22 | 8 | 36.4 | 1.22 | 0.45 | 0.09 | 0.25 | 0 | 0 | Matches |
| 2020-2021 | 21 | Ross County | sct SCO | 1. Premiership | 16th | 13.7 | 3 | 17 | 7 | 41.2 | 1.24 | 0.51 | 0.18 | 0.43 | 0 | 0 | Matches |
| 2021-2022 | 22 | Birmingham City | eng ENG | Jr. PL2 — Div. 2 | 11th | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2021-2022 | 22 | Burton Albion | eng ENG | 3. League One | 16th | 12.2 | 1 | 27 | 5 | 18.5 | 2.21 | 0.41 | 0.04 | 0.20 | 0 | 0 | Matches |
| 2022-2023 | 23 | Doncaster Rovers | eng ENG | 4. League Two | 18th | 6.4 | 0 | 4 | 1 | 25.0 | 0.62 | 0.16 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 23 | Burton Albion | eng ENG | 3. League One | 15th | 0.2 | 0 | 1 | 0 | 0.0 | 5.63 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 24 | Sutton United | eng ENG | 4. League Two | 23rd | 19.5 | 8 | 40 | 23 | 57.5 | 2.05 | 1.18 | 0.13 | 0.22 | 3 | 3 | Matches |
| 2023-2024 | 24 | AFC Wimbledon | eng ENG | 4. League Two | 10th | 2.2 | 0 | 2 | 1 | 50.0 | 0.91 | 0.46 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 25 | Walsall | eng ENG | 4. League Two | 4th | 25.7 | 2 | 56 | 12 | 21.4 | 2.18 | 0.47 | 0.04 | 0.17 | 0 | 0 | Matches |
| 2025-2026 | 26 | Walsall | eng ENG | 4. League Two | 13th | 31.7 | 1 | 45 | 11 | 24.4 | 1.42 | 0.35 | 0.02 | 0.09 | 0 | 0 | Matches |
| 8 Seasons | 8 Clubs | 4 Leagues | 134.4 | 17 | 218 | 68 | 31.2 | 1.62 | 0.51 | 0.06 | 0.21 | 3 | 3 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Burton Albion (3 Seasons) | 1 League | 12.4 | 1 | 28 | 5 | 17.9 | 2.26 | 0.40 | 0.04 | 0.20 | 0 | 0 | |||||
| Walsall (2 Seasons) | 1 League | 57.4 | 3 | 101 | 23 | 22.8 | 1.76 | 0.40 | 0.03 | 0.13 | 0 | 0 | |||||
| Sutton United (1 Season) | 1 League | 19.5 | 8 | 40 | 23 | 57.5 | 2.05 | 1.18 | 0.13 | 0.22 | 3 | 3 | |||||
| Stevenage (1 Season) | 1 League | 18.0 | 2 | 22 | 8 | 36.4 | 1.22 | 0.45 | 0.09 | 0.25 | 0 | 0 | |||||
| Ross County (1 Season) | 1 League | 13.7 | 3 | 17 | 7 | 41.2 | 1.24 | 0.51 | 0.18 | 0.43 | 0 | 0 | |||||
| Doncaster Rovers (1 Season) | 1 League | 6.4 | 0 | 4 | 1 | 25.0 | 0.62 | 0.16 | 0.00 | 0.00 | 0 | 0 | |||||
| Birmingham City (1 Season) | 1 League | 4.9 | 0 | 4 | 0 | 0.0 | 0.82 | 0.00 | 0.00 | 0 | 0 | ||||||
| AFC Wimbledon (1 Season) | 1 League | 2.2 | 0 | 2 | 1 | 50.0 | 0.91 | 0.46 | 0.00 | 0.00 | 0 | 0 | |||||
| Birmingham City (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | ||||||||||||
| League Two (5 Seasons) | 103.5 | 13 | 169 | 56 | 33.1 | 1.63 | 0.54 | 0.06 | 0.18 | 3 | 3 | ||||||
| League One (3 Seasons) | 12.4 | 1 | 28 | 5 | 17.9 | 2.26 | 0.40 | 0.04 | 0.20 | 0 | 0 | ||||||
| Premiership (1 Season) | 13.7 | 3 | 17 | 7 | 41.2 | 1.24 | 0.51 | 0.18 | 0.43 | 0 | 0 | ||||||
| Championship (1 Season) | 4.9 | 0 | 4 | 0 | 0.0 | 0.82 | 0.00 | 0.00 | 0 | 0 | |||||||
| PL2 — Div. 2 (1 Season) | 1.0 | 0 | 0 | 0 | |||||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2017-2018 | 18 | Birmingham City | eng ENG | FA Cup | 17th | 0.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 19 | Birmingham City | eng ENG | EFL Cup | 58th | 0.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 20 | Stevenage | eng ENG | FA Cup | 85th | 2.0 | 0 | 5 | 1 | 20.0 | 2.50 | 0.50 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 20 | Birmingham City | eng ENG | EFL Cup | 58th | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2020-2021 | 21 | Birmingham City | eng ENG | EFL Cup | 58th | 1.0 | 0 | 2 | 1 | 50.0 | 2.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 22 | Birmingham City | eng ENG | EFL Cup | Rd2 | 1.3 | 0 | 1 | 0 | 0.0 | 0.75 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 23 | Burton Albion | eng ENG | EFL Cup | Rd1 | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2022-2023 | 23 | Burton Albion | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | Matches | ||||||||
| 2024-2025 | 25 | Walsall | eng ENG | EFL Cup | Rd3 | 1.7 | 0 | 5 | 1 | 20.0 | 2.92 | 0.58 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 25 | Walsall | eng ENG | FA Cup | 1.4 | 0 | 0 | 0 | Matches | ||||||||
| 2025-2026 | 26 | Walsall | eng ENG | FA Cup | 2.2 | 0 | 1 | 1 | 100.0 | 0.45 | 0.45 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 9 Seasons | 5 Clubs | 2 Leagues | 12.5 | 0 | 14 | 4 | 28.6 | 1.35 | 0.38 | 0.00 | 0.00 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Birmingham City (5 Seasons) | 2 Leagues | 3.8 | 0 | 3 | 1 | 33.3 | 0.80 | 0.27 | 0.00 | 0.00 | 0 | 0 | |||||
| Burton Albion (3 Seasons) | 2 Leagues | 1.4 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Walsall (2 Seasons) | 2 Leagues | 5.3 | 0 | 6 | 2 | 33.3 | 1.53 | 0.51 | 0.00 | 0.00 | 0 | 0 | |||||
| Stevenage (1 Season) | 1 League | 2.0 | 0 | 5 | 1 | 20.0 | 2.50 | 0.50 | 0.00 | 0.00 | 0 | 0 | |||||
| AFC Wimbledon (1 Season) | 1 League | ||||||||||||||||
| FA Cup (8 Seasons) | 6.5 | 0 | 6 | 2 | 33.3 | 1.36 | 0.45 | 0.00 | 0.00 | 0 | 0 | ||||||
| EFL Cup (7 Seasons) | 6.0 | 0 | 8 | 2 | 25.0 | 1.34 | 0.33 | 0.00 | 0.00 | 0 | 0 | ||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2017-2018 | 18 | Birmingham City | eng ENG | FA Cup | 1 | 20 | 20 | 6.7 | 0.2 | 0 | 0 | 1 | 20 | 1 | 0.00 | 0 | 1 | -1 | -4.50 | -4.18 | Matches | |
| 2018-2019 | 19 | Birmingham City | eng ENG | 2. Championship | 10 | 437 | 44 | 10.6 | 4.9 | 5 | 76 | 1 | 5 | 11 | 16 | 1.30 | 5 | 5 | 0 | 0.00 | -0.15 | Matches |
| 2018-2019 | 19 | Birmingham City | eng ENG | EFL Cup | 1 | 18 | 18 | 20.0 | 0.2 | 0 | 0 | 1 | 17 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +2.50 | Matches | |
| 2018-2019 | 19 | Birmingham City | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2019-2020 | 20 | Birmingham City | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 3 | -3 | -3.00 | Matches | ||
| 2019-2020 | 20 | Stevenage | eng ENG | FA Cup | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 0.50 | 1 | 3 | -2 | -1.00 | Matches | ||
| 2019-2020 | 20 | Stevenage | eng ENG | 4. League Two | 20 | 1,617 | 81 | 49.9 | 18.0 | 18 | 87 | 14 | 2 | 24 | 2 | 0.70 | 10 | 19 | -9 | -0.50 | +0.44 | Matches |
| 2020-2021 | 21 | Birmingham City | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2020-2021 | 21 | Ross County | sct SCO | 1. Premiership | 19 | 1,231 | 65 | 36.0 | 13.7 | 14 | 80 | 6 | 5 | 23 | 4 | 1.26 | 19 | 22 | -3 | -0.22 | +0.93 | Matches |
| 2021-2022 | 22 | Birmingham City | eng ENG | EFL Cup | 2 | 120 | 60 | 66.7 | 1.3 | 1 | 90 | 1 | 1 | 30 | 0 | 1.50 | 1 | 1 | 0 | 0.00 | +1.50 | Matches |
| 2021-2022 | 22 | Burton Albion | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 2 | Matches | ||||||||||||
| 2021-2022 | 22 | Burton Albion | eng ENG | 3. League One | 27 | 1,101 | 41 | 26.6 | 12.2 | 12 | 72 | 4 | 15 | 16 | 13 | 1.19 | 12 | 19 | -7 | -0.57 | -0.31 | Matches |
| 2021-2022 | 22 | Birmingham City | eng ENG | Jr. PL2 — Div. 2 | 1 | 90 | 90 | 3.8 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.36 | Matches | |
| 2022-2023 | 23 | Burton Albion | eng ENG | EFL Cup | 1 | 66 | 66 | 73.3 | 0.7 | 1 | 66 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +7.50 | Matches | |
| 2022-2023 | 23 | Burton Albion | eng ENG | FA Cup | 1 | 60 | 60 | 22.2 | 0.7 | 1 | 60 | 0 | 0 | 1 | 3.00 | 1 | 0 | +1 | +1.50 | -0.64 | Matches | |
| 2022-2023 | 23 | Burton Albion | eng ENG | 3. League One | 2 | 16 | 8 | 0.4 | 0.2 | 0 | 0 | 2 | 8 | 14 | 0.50 | 1 | 0 | +1 | +5.63 | +6.13 | Matches | |
| 2022-2023 | 23 | Doncaster Rovers | eng ENG | 4. League Two | 10 | 579 | 58 | 14.0 | 6.4 | 7 | 74 | 4 | 3 | 19 | 0 | 1.30 | 3 | 8 | -5 | -0.78 | -0.42 | Matches |
| 2023-2024 | 24 | Burton Albion | eng ENG | EFL Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2023-2024 | 24 | AFC Wimbledon | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2023-2024 | 24 | Burton Albion | eng ENG | 3. League One | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2023-2024 | 24 | Sutton United | eng ENG | 4. League Two | 21 | 1,755 | 84 | 42.4 | 19.5 | 19 | 88 | 18 | 2 | 45 | 0 | 1.14 | 30 | 31 | -1 | -0.05 | +0.85 | Matches |
| 2023-2024 | 24 | AFC Wimbledon | eng ENG | 4. League Two | 6 | 197 | 33 | 4.8 | 2.2 | 2 | 78 | 1 | 4 | 10 | 1 | 1.33 | 4 | 4 | 0 | 0.00 | -0.30 | Matches |
| 2024-2025 | 25 | Walsall | eng ENG | EFL Cup | 3 | 154 | 51 | 57.0 | 1.7 | 2 | 62 | 0 | 1 | 31 | 0 | 1.67 | 3 | 1 | +2 | +1.17 | +1.94 | Matches |
| 2024-2025 | 25 | Walsall | eng ENG | FA Cup | 2 | 129 | 65 | 71.7 | 1.4 | 1 | 68 | 0 | 1 | 61 | 0 | 1.50 | 2 | 3 | -1 | -0.70 | +2.83 | Matches |
| 2024-2025 | 25 | Walsall | eng ENG | 4. League Two | 36 | 2,313 | 64 | 55.9 | 25.7 | 30 | 72 | 7 | 6 | 25 | 6 | 1.87 | 37 | 22 | +15 | +0.58 | +0.29 | Matches |
| 2025-2026 | 26 | Walsall | eng ENG | FA Cup | 3 | 198 | 66 | 73.3 | 2.2 | 2 | 90 | 2 | 1 | 18 | 0 | 2.00 | 4 | 5 | -1 | -0.45 | -2.95 | Matches |
| 2025-2026 | 26 | Walsall | eng ENG | 4. League Two | 44 | 2,854 | 65 | 68.9 | 31.7 | 34 | 78 | 14 | 10 | 21 | 1 | 1.43 | 36 | 41 | -5 | -0.16 | -0.51 | Matches |
| 9 Seasons | 8 Clubs | 6 Leagues | 213 | 13,225 | 62 | 28.4 | 146.9 | 153 | 79 | 76 | 60 | 20 | 65 | 1.32 | 169 | 189 | -20 | -0.14 | +0.14 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Birmingham City (5 Seasons) | 3 Leagues | 16 | 775 | 48 | 15.6 | 8.6 | 8 | 82 | 4 | 8 | 15 | 18 | 1.00 | 6 | 11 | -5 | -0.58 | -0.62 | ||||
| Burton Albion (3 Seasons) | 3 Leagues | 31 | 1,243 | 40 | 9.5 | 13.8 | 14 | 71 | 4 | 17 | 15 | 32 | 1.17 | 14 | 19 | -5 | -0.36 | -0.01 | ||||
| Walsall (2 Seasons) | 3 Leagues | 88 | 5,648 | 64 | 62.8 | 62.8 | 69 | 75 | 23 | 19 | 25 | 7 | 1.64 | 82 | 72 | +10 | +0.16 | -0.11 | ||||
| Stevenage (1 Season) | 2 Leagues | 22 | 1,797 | 82 | 52.5 | 20.0 | 20 | 88 | 16 | 2 | 24 | 2 | 0.68 | 11 | 22 | -11 | -0.55 | +0.39 | ||||
| Sutton United (1 Season) | 1 League | 21 | 1,755 | 84 | 42.4 | 19.5 | 19 | 88 | 18 | 2 | 45 | 0 | 1.14 | 30 | 31 | -1 | -0.05 | +0.85 | ||||
| Ross County (1 Season) | 1 League | 19 | 1,231 | 65 | 36.0 | 13.7 | 14 | 80 | 6 | 5 | 23 | 4 | 1.26 | 19 | 22 | -3 | -0.22 | +0.93 | ||||
| Doncaster Rovers (1 Season) | 1 League | 10 | 579 | 58 | 14.0 | 6.4 | 7 | 74 | 4 | 3 | 19 | 0 | 1.30 | 3 | 8 | -5 | -0.78 | -0.42 | ||||
| AFC Wimbledon (1 Season) | 2 Leagues | 6 | 197 | 33 | 4.5 | 2.2 | 2 | 78 | 1 | 4 | 10 | 2 | 1.33 | 4 | 4 | 0 | 0.00 | -0.30 | ||||
| Birmingham City (1 Season) | 1 League | 1 | 90 | 90 | 3.8 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.36 | |||||
| FA Cup (8 Seasons) | 9 | 587 | 65 | 33.7 | 6.5 | 6 | 81 | 4 | 3 | 33 | 6 | 1.44 | 8 | 12 | -4 | -0.61 | -1.20 | |||||
| EFL Cup (7 Seasons) | 9 | 538 | 60 | 59.8 | 6.0 | 6 | 77 | 3 | 3 | 26 | 1 | 0.89 | 4 | 6 | -2 | -0.33 | +1.65 | |||||
| League Two (5 Seasons) | 137 | 9,315 | 68 | 38.9 | 103.5 | 110 | 79 | 58 | 27 | 22 | 10 | 1.38 | 120 | 125 | -5 | -0.05 | +0.14 | |||||
| League One (3 Seasons) | 29 | 1,117 | 39 | 9.0 | 12.4 | 12 | 72 | 4 | 17 | 15 | 28 | 1.14 | 13 | 19 | -6 | -0.48 | -0.08 | |||||
| Premiership (1 Season) | 19 | 1,231 | 65 | 36.0 | 13.7 | 14 | 80 | 6 | 5 | 23 | 4 | 1.26 | 19 | 22 | -3 | -0.22 | +0.93 | |||||
| Championship (1 Season) | 10 | 437 | 44 | 10.6 | 4.9 | 5 | 76 | 1 | 5 | 11 | 16 | 1.30 | 5 | 5 | 0 | 0.00 | -0.15 | |||||
| PL2 — Div. 2 (1 Season) | 1 | 90 | 90 | 3.8 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.36 | ||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2017-2018 | 18 | Birmingham City | 1 League | 1 | 20 | 20 | 6.7 | 0.2 | 0 | 0 | 1 | 20 | 1 | 0.00 | 0 | 1 | -1 | -4.50 | -4.18 | ||
| 2018-2019 | 19 | Birmingham City | 3 Leagues | 11 | 455 | 41 | 10.5 | 5.1 | 5 | 77 | 1 | 6 | 12 | 17 | 1.18 | 5 | 5 | 0 | 0.00 | -0.10 | |
| 2019-2020 | 20 | Stevenage | 2 Leagues | 22 | 1,797 | 82 | 52.5 | 20.0 | 20 | 88 | 16 | 2 | 24 | 2 | 0.68 | 11 | 22 | -11 | -0.55 | +0.39 | |
| 2019-2020 | 20 | Birmingham City | 1 League | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 3 | -3 | -3.00 | |||
| 2020-2021 | 21 | Ross County | 1 League | 19 | 1,231 | 65 | 36.0 | 13.7 | 14 | 80 | 6 | 5 | 23 | 4 | 1.26 | 19 | 22 | -3 | -0.22 | +0.93 | |
| 2020-2021 | 21 | Birmingham City | 1 League | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | |||
| 2021-2022 | 22 | Birmingham City | 1 League | 2 | 120 | 60 | 66.7 | 1.3 | 1 | 90 | 1 | 1 | 30 | 0 | 1.50 | 1 | 1 | 0 | 0.00 | +1.50 | |
| 2021-2022 | 22 | Birmingham City | 1 League | 1 | 90 | 90 | 3.8 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.36 | ||
| 2021-2022 | 22 | Burton Albion | 2 Leagues | 27 | 1,101 | 41 | 25.5 | 12.2 | 12 | 72 | 4 | 15 | 16 | 15 | 1.19 | 12 | 19 | -7 | -0.57 | -0.31 | |
| 2022-2023 | 23 | Doncaster Rovers | 1 League | 10 | 579 | 58 | 14.0 | 6.4 | 7 | 74 | 4 | 3 | 19 | 0 | 1.30 | 3 | 8 | -5 | -0.78 | -0.42 | |
| 2022-2023 | 23 | Burton Albion | 3 Leagues | 4 | 142 | 36 | 3.2 | 1.6 | 2 | 63 | 0 | 2 | 8 | 15 | 1.00 | 2 | 0 | +2 | +1.27 | +1.68 | |
| 2023-2024 | 24 | Burton Albion | 2 Leagues | 0 | 0 | 0 | 0 | 2 | |||||||||||||
| 2023-2024 | 24 | Sutton United | 1 League | 21 | 1,755 | 84 | 42.4 | 19.5 | 19 | 88 | 18 | 2 | 45 | 0 | 1.14 | 30 | 31 | -1 | -0.05 | +0.85 | |
| 2023-2024 | 24 | AFC Wimbledon | 2 Leagues | 6 | 197 | 33 | 4.5 | 2.2 | 2 | 78 | 1 | 4 | 10 | 2 | 1.33 | 4 | 4 | 0 | 0.00 | -0.30 | |
| 2024-2025 | 25 | Walsall | 3 Leagues | 41 | 2,596 | 63 | 56.6 | 28.8 | 33 | 71 | 7 | 8 | 30 | 6 | 1.84 | 42 | 26 | +16 | +0.55 | +0.42 | |
| 2025-2026 | 26 | Walsall | 2 Leagues | 47 | 3,052 | 65 | 69.2 | 33.9 | 36 | 79 | 16 | 11 | 21 | 1 | 1.47 | 40 | 46 | -6 | -0.18 | -0.64 | |
| 9 Seasons | 8 Clubs | 6 Leagues | 213 | 13,225 | 62 | 28.4 | 146.9 | 153 | 79 | 76 | 60 | 20 | 65 | 1.32 | 169 | 189 | -20 | -0.14 | +0.14 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Birmingham City (5 Seasons) | 3 Leagues | 16 | 775 | 48 | 15.6 | 8.6 | 8 | 82 | 4 | 8 | 15 | 18 | 1.00 | 6 | 11 | -5 | -0.58 | -0.62 | |||
| Burton Albion (3 Seasons) | 3 Leagues | 31 | 1,243 | 40 | 9.5 | 13.8 | 14 | 71 | 4 | 17 | 15 | 32 | 1.17 | 14 | 19 | -5 | -0.36 | -0.01 | |||
| Walsall (2 Seasons) | 3 Leagues | 88 | 5,648 | 64 | 62.8 | 62.8 | 69 | 75 | 23 | 19 | 25 | 7 | 1.64 | 82 | 72 | +10 | +0.16 | -0.11 | |||
| Stevenage (1 Season) | 2 Leagues | 22 | 1,797 | 82 | 52.5 | 20.0 | 20 | 88 | 16 | 2 | 24 | 2 | 0.68 | 11 | 22 | -11 | -0.55 | +0.39 | |||
| Sutton United (1 Season) | 1 League | 21 | 1,755 | 84 | 42.4 | 19.5 | 19 | 88 | 18 | 2 | 45 | 0 | 1.14 | 30 | 31 | -1 | -0.05 | +0.85 | |||
| Ross County (1 Season) | 1 League | 19 | 1,231 | 65 | 36.0 | 13.7 | 14 | 80 | 6 | 5 | 23 | 4 | 1.26 | 19 | 22 | -3 | -0.22 | +0.93 | |||
| Doncaster Rovers (1 Season) | 1 League | 10 | 579 | 58 | 14.0 | 6.4 | 7 | 74 | 4 | 3 | 19 | 0 | 1.30 | 3 | 8 | -5 | -0.78 | -0.42 | |||
| AFC Wimbledon (1 Season) | 2 Leagues | 6 | 197 | 33 | 4.5 | 2.2 | 2 | 78 | 1 | 4 | 10 | 2 | 1.33 | 4 | 4 | 0 | 0.00 | -0.30 | |||
| Birmingham City (1 Season) | 1 League | 1 | 90 | 90 | 3.8 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.36 | ||||
| FA Cup (8 Seasons) | 9 | 587 | 65 | 33.7 | 6.5 | 6 | 81 | 4 | 3 | 33 | 6 | 1.44 | 8 | 12 | -4 | -0.61 | -1.20 | ||||
| EFL Cup (7 Seasons) | 9 | 538 | 60 | 59.8 | 6.0 | 6 | 77 | 3 | 3 | 26 | 1 | 0.89 | 4 | 6 | -2 | -0.33 | +1.65 | ||||
| League Two (5 Seasons) | 137 | 9,315 | 68 | 38.9 | 103.5 | 110 | 79 | 58 | 27 | 22 | 10 | 1.38 | 120 | 125 | -5 | -0.05 | +0.14 | ||||
| League One (3 Seasons) | 29 | 1,117 | 39 | 9.0 | 12.4 | 12 | 72 | 4 | 17 | 15 | 28 | 1.14 | 13 | 19 | -6 | -0.48 | -0.08 | ||||
| Premiership (1 Season) | 19 | 1,231 | 65 | 36.0 | 13.7 | 14 | 80 | 6 | 5 | 23 | 4 | 1.26 | 19 | 22 | -3 | -0.22 | +0.93 | ||||
| Championship (1 Season) | 10 | 437 | 44 | 10.6 | 4.9 | 5 | 76 | 1 | 5 | 11 | 16 | 1.30 | 5 | 5 | 0 | 0.00 | -0.15 | ||||
| PL2 — Div. 2 (1 Season) | 1 | 90 | 90 | 3.8 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.36 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2018-2019 | 19 | Birmingham City | eng ENG | 2. Championship | 17th | 10 | 437 | 44 | 10.6 | 4.9 | 5 | 76 | 1 | 5 | 11 | 16 | 1.30 | 5 | 5 | 0 | 0.00 | -0.15 | Matches |
| 2019-2020 | 20 | Stevenage | eng ENG | 4. League Two | 23rd | 20 | 1,617 | 81 | 49.9 | 18.0 | 18 | 87 | 14 | 2 | 24 | 2 | 0.70 | 10 | 19 | -9 | -0.50 | +0.44 | Matches |
| 2020-2021 | 21 | Ross County | sct SCO | 1. Premiership | 16th | 19 | 1,231 | 65 | 36.0 | 13.7 | 14 | 80 | 6 | 5 | 23 | 4 | 1.26 | 19 | 22 | -3 | -0.22 | +0.93 | Matches |
| 2021-2022 | 22 | Birmingham City | eng ENG | Jr. PL2 — Div. 2 | 11th | 1 | 90 | 90 | 3.8 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.36 | Matches | |
| 2021-2022 | 22 | Burton Albion | eng ENG | 3. League One | 16th | 27 | 1,101 | 41 | 26.6 | 12.2 | 12 | 72 | 4 | 15 | 16 | 13 | 1.19 | 12 | 19 | -7 | -0.57 | -0.31 | Matches |
| 2022-2023 | 23 | Doncaster Rovers | eng ENG | 4. League Two | 18th | 10 | 579 | 58 | 14.0 | 6.4 | 7 | 74 | 4 | 3 | 19 | 0 | 1.30 | 3 | 8 | -5 | -0.78 | -0.42 | Matches |
| 2022-2023 | 23 | Burton Albion | eng ENG | 3. League One | 15th | 2 | 16 | 8 | 0.4 | 0.2 | 0 | 0 | 2 | 8 | 14 | 0.50 | 1 | 0 | +1 | +5.63 | +6.13 | Matches | |
| 2023-2024 | 24 | Burton Albion | eng ENG | 3. League One | 20th | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2023-2024 | 24 | Sutton United | eng ENG | 4. League Two | 23rd | 21 | 1,755 | 84 | 42.4 | 19.5 | 19 | 88 | 18 | 2 | 45 | 0 | 1.14 | 30 | 31 | -1 | -0.05 | +0.85 | Matches |
| 2023-2024 | 24 | AFC Wimbledon | eng ENG | 4. League Two | 10th | 6 | 197 | 33 | 4.8 | 2.2 | 2 | 78 | 1 | 4 | 10 | 1 | 1.33 | 4 | 4 | 0 | 0.00 | -0.30 | Matches |
| 2024-2025 | 25 | Walsall | eng ENG | 4. League Two | 4th | 36 | 2,313 | 64 | 55.9 | 25.7 | 30 | 72 | 7 | 6 | 25 | 6 | 1.87 | 37 | 22 | +15 | +0.58 | +0.29 | Matches |
| 2025-2026 | 26 | Walsall | eng ENG | 4. League Two | 13th | 44 | 2,854 | 65 | 68.9 | 31.7 | 34 | 78 | 14 | 10 | 21 | 1 | 1.43 | 36 | 41 | -5 | -0.16 | -0.51 | Matches |
| 8 Seasons | 8 Clubs | 4 Leagues | 195 | 12,100 | 62 | 27.6 | 134.4 | 141 | 79 | 69 | 54 | 19 | 58 | 1.33 | 157 | 171 | -14 | -0.10 | +0.17 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Burton Albion (3 Seasons) | 1 League | 29 | 1,117 | 39 | 9.0 | 12.4 | 12 | 72 | 4 | 17 | 15 | 28 | 1.14 | 13 | 19 | -6 | -0.48 | -0.08 | |||||
| Walsall (2 Seasons) | 1 League | 80 | 5,167 | 65 | 62.4 | 57.4 | 64 | 75 | 21 | 16 | 22 | 7 | 1.63 | 73 | 63 | +10 | +0.17 | -0.14 | |||||
| Sutton United (1 Season) | 1 League | 21 | 1,755 | 84 | 42.4 | 19.5 | 19 | 88 | 18 | 2 | 45 | 0 | 1.14 | 30 | 31 | -1 | -0.05 | +0.85 | |||||
| Stevenage (1 Season) | 1 League | 20 | 1,617 | 81 | 49.9 | 18.0 | 18 | 87 | 14 | 2 | 24 | 2 | 0.70 | 10 | 19 | -9 | -0.50 | +0.44 | |||||
| Ross County (1 Season) | 1 League | 19 | 1,231 | 65 | 36.0 | 13.7 | 14 | 80 | 6 | 5 | 23 | 4 | 1.26 | 19 | 22 | -3 | -0.22 | +0.93 | |||||
| Doncaster Rovers (1 Season) | 1 League | 10 | 579 | 58 | 14.0 | 6.4 | 7 | 74 | 4 | 3 | 19 | 0 | 1.30 | 3 | 8 | -5 | -0.78 | -0.42 | |||||
| Birmingham City (1 Season) | 1 League | 10 | 437 | 44 | 10.6 | 4.9 | 5 | 76 | 1 | 5 | 11 | 16 | 1.30 | 5 | 5 | 0 | 0.00 | -0.15 | |||||
| AFC Wimbledon (1 Season) | 1 League | 6 | 197 | 33 | 4.8 | 2.2 | 2 | 78 | 1 | 4 | 10 | 1 | 1.33 | 4 | 4 | 0 | 0.00 | -0.30 | |||||
| Birmingham City (1 Season) | 1 League | 1 | 90 | 90 | 3.8 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.36 | ||||||
| League Two (5 Seasons) | 137 | 9,315 | 68 | 38.9 | 103.5 | 110 | 79 | 58 | 27 | 22 | 10 | 1.38 | 120 | 125 | -5 | -0.05 | +0.14 | ||||||
| League One (3 Seasons) | 29 | 1,117 | 39 | 9.0 | 12.4 | 12 | 72 | 4 | 17 | 15 | 28 | 1.14 | 13 | 19 | -6 | -0.48 | -0.08 | ||||||
| Premiership (1 Season) | 19 | 1,231 | 65 | 36.0 | 13.7 | 14 | 80 | 6 | 5 | 23 | 4 | 1.26 | 19 | 22 | -3 | -0.22 | +0.93 | ||||||
| Championship (1 Season) | 10 | 437 | 44 | 10.6 | 4.9 | 5 | 76 | 1 | 5 | 11 | 16 | 1.30 | 5 | 5 | 0 | 0.00 | -0.15 | ||||||
| PL2 — Div. 2 (1 Season) | 1 | 90 | 90 | 3.8 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.36 | |||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2017-2018 | 18 | Birmingham City | eng ENG | FA Cup | 17th | 1 | 20 | 20 | 6.7 | 0.2 | 0 | 0 | 1 | 20 | 1 | 0.00 | 0 | 1 | -1 | -4.50 | -4.18 | Matches | |
| 2018-2019 | 19 | Birmingham City | eng ENG | EFL Cup | 58th | 1 | 18 | 18 | 20.0 | 0.2 | 0 | 0 | 1 | 17 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +2.50 | Matches | |
| 2018-2019 | 19 | Birmingham City | eng ENG | FA Cup | 33rd | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2019-2020 | 20 | Stevenage | eng ENG | FA Cup | 85th | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 0.50 | 1 | 3 | -2 | -1.00 | Matches | ||
| 2019-2020 | 20 | Birmingham City | eng ENG | EFL Cup | 58th | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 3 | -3 | -3.00 | Matches | ||
| 2020-2021 | 21 | Birmingham City | eng ENG | EFL Cup | 58th | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2021-2022 | 22 | Birmingham City | eng ENG | EFL Cup | Rd2 | 2 | 120 | 60 | 66.7 | 1.3 | 1 | 90 | 1 | 1 | 30 | 0 | 1.50 | 1 | 1 | 0 | 0.00 | +1.50 | Matches |
| 2021-2022 | 22 | Burton Albion | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 2 | Matches | |||||||||||||
| 2022-2023 | 23 | Burton Albion | eng ENG | EFL Cup | Rd1 | 1 | 66 | 66 | 73.3 | 0.7 | 1 | 66 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +7.50 | Matches | |
| 2022-2023 | 23 | Burton Albion | eng ENG | FA Cup | 1 | 60 | 60 | 22.2 | 0.7 | 1 | 60 | 0 | 0 | 1 | 3.00 | 1 | 0 | +1 | +1.50 | -0.64 | Matches | ||
| 2023-2024 | 24 | Burton Albion | eng ENG | EFL Cup | Rd1 | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2023-2024 | 24 | AFC Wimbledon | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | |||||||||||||
| 2024-2025 | 25 | Walsall | eng ENG | EFL Cup | Rd3 | 3 | 154 | 51 | 57.0 | 1.7 | 2 | 62 | 0 | 1 | 31 | 0 | 1.67 | 3 | 1 | +2 | +1.17 | +1.94 | Matches |
| 2024-2025 | 25 | Walsall | eng ENG | FA Cup | 2 | 129 | 65 | 71.7 | 1.4 | 1 | 68 | 0 | 1 | 61 | 0 | 1.50 | 2 | 3 | -1 | -0.70 | +2.83 | Matches | |
| 2025-2026 | 26 | Walsall | eng ENG | FA Cup | 3 | 198 | 66 | 73.3 | 2.2 | 2 | 90 | 2 | 1 | 18 | 0 | 2.00 | 4 | 5 | -1 | -0.45 | -2.95 | Matches | |
| 9 Seasons | 5 Clubs | 2 Leagues | 18 | 1,125 | 63 | 42.6 | 12.5 | 12 | 79 | 7 | 6 | 30 | 7 | 1.17 | 12 | 18 | -6 | -0.48 | -0.28 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Birmingham City (5 Seasons) | 2 Leagues | 6 | 338 | 56 | 40.2 | 3.8 | 3 | 90 | 3 | 3 | 22 | 2 | 0.50 | 1 | 6 | -5 | -1.33 | -0.46 | |||||
| Burton Albion (3 Seasons) | 2 Leagues | 2 | 126 | 63 | 20.0 | 1.4 | 2 | 63 | 0 | 0 | 4 | 1.50 | 1 | 0 | +1 | +0.71 | -0.44 | ||||||
| Walsall (2 Seasons) | 2 Leagues | 8 | 481 | 60 | 66.8 | 5.3 | 5 | 74 | 2 | 3 | 37 | 0 | 1.75 | 9 | 9 | 0 | 0.00 | +0.38 | |||||
| Stevenage (1 Season) | 1 League | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 0.50 | 1 | 3 | -2 | -1.00 | |||||||
| AFC Wimbledon (1 Season) | 1 League | 0 | 0 | 0 | 0 | 1 | |||||||||||||||||
| FA Cup (8 Seasons) | 9 | 587 | 65 | 33.7 | 6.5 | 6 | 81 | 4 | 3 | 33 | 6 | 1.44 | 8 | 12 | -4 | -0.61 | -1.20 | ||||||
| EFL Cup (7 Seasons) | 9 | 538 | 60 | 59.8 | 6.0 | 6 | 77 | 3 | 3 | 26 | 1 | 0.89 | 4 | 6 | -2 | -0.33 | +1.65 | ||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2017-2018 | 18 | Birmingham City | eng ENG | FA Cup | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2018-2019 | 19 | Birmingham City | eng ENG | 2. Championship | 4.9 | 0 | 0 | 0 | 6 | 7 | 0 | 4 | 4 | 9 | 0 | 0 | 0 | Matches |
| 2018-2019 | 19 | Birmingham City | eng ENG | EFL Cup | 0.2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2019-2020 | 20 | Birmingham City | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0 | 4 | 1 | 0 | 0 | 2 | 0 | Matches | ||
| 2019-2020 | 20 | Stevenage | eng ENG | FA Cup | 2.0 | 0 | 0 | 0 | 5 | 1 | 0 | 5 | 0 | 0 | 0 | Matches | ||
| 2019-2020 | 20 | Stevenage | eng ENG | 4. League Two | 18.0 | 2 | 0 | 0 | 18 | 16 | 2 | 52 | 12 | 28 | 0 | 0 | 0 | Matches |
| 2020-2021 | 21 | Birmingham City | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 21 | Ross County | sct SCO | 1. Premiership | 13.7 | 1 | 0 | 0 | 16 | 13 | 3 | 35 | 11 | 24 | 0 | Matches | ||
| 2021-2022 | 22 | Birmingham City | eng ENG | EFL Cup | 1.3 | 0 | 0 | 0 | 2 | 4 | 0 | 0 | 0 | 3 | 0 | Matches | ||
| 2021-2022 | 22 | Burton Albion | eng ENG | 3. League One | 12.2 | 3 | 1 | 1 | 14 | 20 | 0 | 16 | 10 | 20 | 0 | Matches | ||
| 2021-2022 | 22 | Birmingham City | eng ENG | Jr. PL2 — Div. 2 | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2022-2023 | 23 | Burton Albion | eng ENG | EFL Cup | 0.7 | 0 | 0 | 0 | 2 | 0 | 0 | 3 | 2 | 1 | 0 | Matches | ||
| 2022-2023 | 23 | Burton Albion | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2022-2023 | 23 | Burton Albion | eng ENG | 3. League One | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | Matches | ||
| 2022-2023 | 23 | Doncaster Rovers | eng ENG | 4. League Two | 6.4 | 2 | 0 | 0 | 9 | 12 | 0 | 17 | 5 | 16 | 0 | Matches | ||
| 2023-2024 | 24 | Sutton United | eng ENG | 4. League Two | 19.5 | 2 | 0 | 0 | 17 | 19 | 0 | 153 | 19 | 25 | 0 | Matches | ||
| 2023-2024 | 24 | AFC Wimbledon | eng ENG | 4. League Two | 2.2 | 0 | 0 | 0 | 3 | 5 | 1 | 2 | 2 | 6 | 0 | Matches | ||
| 2024-2025 | 25 | Walsall | eng ENG | EFL Cup | 1.7 | 0 | 0 | 0 | 1 | 1 | 0 | 3 | 3 | 1 | 0 | Matches | ||
| 2024-2025 | 25 | Walsall | eng ENG | FA Cup | 1.4 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2024-2025 | 25 | Walsall | eng ENG | 4. League Two | 25.7 | 2 | 0 | 0 | 33 | 27 | 6 | 46 | 13 | 37 | 0 | Matches | ||
| 2025-2026 | 26 | Walsall | eng ENG | FA Cup | 2.2 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2025-2026 | 26 | Walsall | eng ENG | 4. League Two | 31.7 | 3 | 1 | 1 | 29 | 26 | 5 | 67 | 28 | 39 | 0 | Matches | ||
| 9 Seasons | 8 Clubs | 6 Leagues | 146.9 | 15 | 2 | 2 | 158 | 157 | 18 | 406 | 110 | 212 | 0 | 0 | 0 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Birmingham City (5 Seasons) | 3 Leagues | 8.6 | 0 | 0 | 0 | 9 | 16 | 1 | 7 | 4 | 14 | 0 | 0 | 0 | ||||
| Burton Albion (3 Seasons) | 3 Leagues | 13.8 | 3 | 1 | 1 | 16 | 20 | 0 | 19 | 12 | 22 | 0 | ||||||
| Walsall (2 Seasons) | 3 Leagues | 62.8 | 5 | 1 | 1 | 65 | 55 | 11 | 116 | 45 | 77 | 0 | ||||||
| Stevenage (1 Season) | 2 Leagues | 20.0 | 2 | 0 | 0 | 23 | 17 | 2 | 57 | 12 | 28 | 0 | 0 | 0 | ||||
| Sutton United (1 Season) | 1 League | 19.5 | 2 | 0 | 0 | 17 | 19 | 0 | 153 | 19 | 25 | 0 | ||||||
| Ross County (1 Season) | 1 League | 13.7 | 1 | 0 | 0 | 16 | 13 | 3 | 35 | 11 | 24 | 0 | ||||||
| Doncaster Rovers (1 Season) | 1 League | 6.4 | 2 | 0 | 0 | 9 | 12 | 0 | 17 | 5 | 16 | 0 | ||||||
| AFC Wimbledon (1 Season) | 2 Leagues | 2.2 | 0 | 0 | 0 | 3 | 5 | 1 | 2 | 2 | 6 | 0 | ||||||
| Birmingham City (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | 0 | ||||||||||||
| FA Cup (8 Seasons) | 6.5 | 0 | 0 | 0 | 7 | 2 | 0 | 5 | 1 | 0 | 0 | |||||||
| EFL Cup (7 Seasons) | 6.0 | 0 | 0 | 0 | 6 | 10 | 1 | 9 | 5 | 7 | 0 | 0 | 0 | |||||
| League Two (5 Seasons) | 103.5 | 11 | 1 | 1 | 109 | 105 | 14 | 337 | 79 | 151 | 0 | 0 | 0 | |||||
| League One (3 Seasons) | 12.4 | 3 | 1 | 1 | 14 | 20 | 0 | 16 | 10 | 21 | 0 | |||||||
| Premiership (1 Season) | 13.7 | 1 | 0 | 0 | 16 | 13 | 3 | 35 | 11 | 24 | 0 | |||||||
| Championship (1 Season) | 4.9 | 0 | 0 | 0 | 6 | 7 | 0 | 4 | 4 | 9 | 0 | 0 | 0 | |||||
| PL2 — Div. 2 (1 Season) | 1.0 | 0 | 0 | 0 | 0 | |||||||||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2017-2018 | 18 | Birmingham City | 1 League | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 2018-2019 | 19 | Birmingham City | 3 Leagues | 5.1 | 0 | 0 | 0 | 7 | 7 | 0 | 4 | 4 | 9 | 0 | 0 | 0 | |
| 2019-2020 | 20 | Stevenage | 2 Leagues | 20.0 | 2 | 0 | 0 | 23 | 17 | 2 | 57 | 12 | 28 | 0 | 0 | 0 | |
| 2019-2020 | 20 | Birmingham City | 1 League | 1.0 | 0 | 0 | 0 | 0 | 4 | 1 | 0 | 0 | 2 | 0 | |||
| 2020-2021 | 21 | Ross County | 1 League | 13.7 | 1 | 0 | 0 | 16 | 13 | 3 | 35 | 11 | 24 | 0 | |||
| 2020-2021 | 21 | Birmingham City | 1 League | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 0 | 0 | 0 | |||
| 2021-2022 | 22 | Birmingham City | 1 League | 1.3 | 0 | 0 | 0 | 2 | 4 | 0 | 0 | 0 | 3 | 0 | |||
| 2021-2022 | 22 | Birmingham City | 1 League | 1.0 | 0 | 0 | 0 | 0 | |||||||||
| 2021-2022 | 22 | Burton Albion | 2 Leagues | 12.2 | 3 | 1 | 1 | 14 | 20 | 0 | 16 | 10 | 20 | 0 | |||
| 2022-2023 | 23 | Doncaster Rovers | 1 League | 6.4 | 2 | 0 | 0 | 9 | 12 | 0 | 17 | 5 | 16 | 0 | |||
| 2022-2023 | 23 | Burton Albion | 3 Leagues | 1.6 | 0 | 0 | 0 | 2 | 0 | 0 | 3 | 2 | 2 | 0 | |||
| 2023-2024 | 24 | Sutton United | 1 League | 19.5 | 2 | 0 | 0 | 17 | 19 | 0 | 153 | 19 | 25 | 0 | |||
| 2023-2024 | 24 | AFC Wimbledon | 2 Leagues | 2.2 | 0 | 0 | 0 | 3 | 5 | 1 | 2 | 2 | 6 | 0 | |||
| 2024-2025 | 25 | Walsall | 3 Leagues | 28.8 | 2 | 0 | 0 | 34 | 28 | 6 | 49 | 16 | 38 | 0 | |||
| 2025-2026 | 26 | Walsall | 2 Leagues | 33.9 | 3 | 1 | 1 | 31 | 27 | 5 | 67 | 29 | 39 | 0 | |||
| 9 Seasons | 8 Clubs | 6 Leagues | 146.9 | 15 | 2 | 2 | 158 | 157 | 18 | 406 | 110 | 212 | 0 | 0 | 0 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Birmingham City (5 Seasons) | 3 Leagues | 8.6 | 0 | 0 | 0 | 9 | 16 | 1 | 7 | 4 | 14 | 0 | 0 | 0 | |||
| Burton Albion (3 Seasons) | 3 Leagues | 13.8 | 3 | 1 | 1 | 16 | 20 | 0 | 19 | 12 | 22 | 0 | |||||
| Walsall (2 Seasons) | 3 Leagues | 62.8 | 5 | 1 | 1 | 65 | 55 | 11 | 116 | 45 | 77 | 0 | |||||
| Stevenage (1 Season) | 2 Leagues | 20.0 | 2 | 0 | 0 | 23 | 17 | 2 | 57 | 12 | 28 | 0 | 0 | 0 | |||
| Sutton United (1 Season) | 1 League | 19.5 | 2 | 0 | 0 | 17 | 19 | 0 | 153 | 19 | 25 | 0 | |||||
| Ross County (1 Season) | 1 League | 13.7 | 1 | 0 | 0 | 16 | 13 | 3 | 35 | 11 | 24 | 0 | |||||
| Doncaster Rovers (1 Season) | 1 League | 6.4 | 2 | 0 | 0 | 9 | 12 | 0 | 17 | 5 | 16 | 0 | |||||
| AFC Wimbledon (1 Season) | 2 Leagues | 2.2 | 0 | 0 | 0 | 3 | 5 | 1 | 2 | 2 | 6 | 0 | |||||
| Birmingham City (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | 0 | |||||||||||
| FA Cup (8 Seasons) | 6.5 | 0 | 0 | 0 | 7 | 2 | 0 | 5 | 1 | 0 | 0 | ||||||
| EFL Cup (7 Seasons) | 6.0 | 0 | 0 | 0 | 6 | 10 | 1 | 9 | 5 | 7 | 0 | 0 | 0 | ||||
| League Two (5 Seasons) | 103.5 | 11 | 1 | 1 | 109 | 105 | 14 | 337 | 79 | 151 | 0 | 0 | 0 | ||||
| League One (3 Seasons) | 12.4 | 3 | 1 | 1 | 14 | 20 | 0 | 16 | 10 | 21 | 0 | ||||||
| Premiership (1 Season) | 13.7 | 1 | 0 | 0 | 16 | 13 | 3 | 35 | 11 | 24 | 0 | ||||||
| Championship (1 Season) | 4.9 | 0 | 0 | 0 | 6 | 7 | 0 | 4 | 4 | 9 | 0 | 0 | 0 | ||||
| PL2 — Div. 2 (1 Season) | 1.0 | 0 | 0 | 0 | 0 | ||||||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2018-2019 | 19 | Birmingham City | eng ENG | 2. Championship | 17th | 4.9 | 0 | 0 | 0 | 6 | 7 | 0 | 4 | 4 | 9 | 0 | 0 | 0 | Matches |
| 2019-2020 | 20 | Stevenage | eng ENG | 4. League Two | 23rd | 18.0 | 2 | 0 | 0 | 18 | 16 | 2 | 52 | 12 | 28 | 0 | 0 | 0 | Matches |
| 2020-2021 | 21 | Ross County | sct SCO | 1. Premiership | 16th | 13.7 | 1 | 0 | 0 | 16 | 13 | 3 | 35 | 11 | 24 | 0 | Matches | ||
| 2021-2022 | 22 | Birmingham City | eng ENG | Jr. PL2 — Div. 2 | 11th | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2021-2022 | 22 | Burton Albion | eng ENG | 3. League One | 16th | 12.2 | 3 | 1 | 1 | 14 | 20 | 0 | 16 | 10 | 20 | 0 | Matches | ||
| 2022-2023 | 23 | Doncaster Rovers | eng ENG | 4. League Two | 18th | 6.4 | 2 | 0 | 0 | 9 | 12 | 0 | 17 | 5 | 16 | 0 | Matches | ||
| 2022-2023 | 23 | Burton Albion | eng ENG | 3. League One | 15th | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | Matches | ||
| 2023-2024 | 24 | Sutton United | eng ENG | 4. League Two | 23rd | 19.5 | 2 | 0 | 0 | 17 | 19 | 0 | 153 | 19 | 25 | 0 | Matches | ||
| 2023-2024 | 24 | AFC Wimbledon | eng ENG | 4. League Two | 10th | 2.2 | 0 | 0 | 0 | 3 | 5 | 1 | 2 | 2 | 6 | 0 | Matches | ||
| 2024-2025 | 25 | Walsall | eng ENG | 4. League Two | 4th | 25.7 | 2 | 0 | 0 | 33 | 27 | 6 | 46 | 13 | 37 | 0 | Matches | ||
| 2025-2026 | 26 | Walsall | eng ENG | 4. League Two | 13th | 31.7 | 3 | 1 | 1 | 29 | 26 | 5 | 67 | 28 | 39 | 0 | Matches | ||
| 8 Seasons | 8 Clubs | 4 Leagues | 134.4 | 15 | 2 | 2 | 145 | 145 | 17 | 392 | 104 | 205 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Burton Albion (3 Seasons) | 1 League | 12.4 | 3 | 1 | 1 | 14 | 20 | 0 | 16 | 10 | 21 | 0 | |||||||
| Walsall (2 Seasons) | 1 League | 57.4 | 5 | 1 | 1 | 62 | 53 | 11 | 113 | 41 | 76 | 0 | |||||||
| Sutton United (1 Season) | 1 League | 19.5 | 2 | 0 | 0 | 17 | 19 | 0 | 153 | 19 | 25 | 0 | |||||||
| Stevenage (1 Season) | 1 League | 18.0 | 2 | 0 | 0 | 18 | 16 | 2 | 52 | 12 | 28 | 0 | 0 | 0 | |||||
| Ross County (1 Season) | 1 League | 13.7 | 1 | 0 | 0 | 16 | 13 | 3 | 35 | 11 | 24 | 0 | |||||||
| Doncaster Rovers (1 Season) | 1 League | 6.4 | 2 | 0 | 0 | 9 | 12 | 0 | 17 | 5 | 16 | 0 | |||||||
| Birmingham City (1 Season) | 1 League | 4.9 | 0 | 0 | 0 | 6 | 7 | 0 | 4 | 4 | 9 | 0 | 0 | 0 | |||||
| AFC Wimbledon (1 Season) | 1 League | 2.2 | 0 | 0 | 0 | 3 | 5 | 1 | 2 | 2 | 6 | 0 | |||||||
| Birmingham City (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | 0 | |||||||||||||
| League Two (5 Seasons) | 103.5 | 11 | 1 | 1 | 109 | 105 | 14 | 337 | 79 | 151 | 0 | 0 | 0 | ||||||
| League One (3 Seasons) | 12.4 | 3 | 1 | 1 | 14 | 20 | 0 | 16 | 10 | 21 | 0 | ||||||||
| Premiership (1 Season) | 13.7 | 1 | 0 | 0 | 16 | 13 | 3 | 35 | 11 | 24 | 0 | ||||||||
| Championship (1 Season) | 4.9 | 0 | 0 | 0 | 6 | 7 | 0 | 4 | 4 | 9 | 0 | 0 | 0 | ||||||
| PL2 — Div. 2 (1 Season) | 1.0 | 0 | 0 | 0 | 0 | ||||||||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2017-2018 | 18 | Birmingham City | eng ENG | FA Cup | 17th | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2018-2019 | 19 | Birmingham City | eng ENG | EFL Cup | 58th | 0.2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2019-2020 | 20 | Stevenage | eng ENG | FA Cup | 85th | 2.0 | 0 | 0 | 0 | 5 | 1 | 0 | 5 | 0 | 0 | 0 | Matches | ||
| 2019-2020 | 20 | Birmingham City | eng ENG | EFL Cup | 58th | 1.0 | 0 | 0 | 0 | 0 | 4 | 1 | 0 | 0 | 2 | 0 | Matches | ||
| 2020-2021 | 21 | Birmingham City | eng ENG | EFL Cup | 58th | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 22 | Birmingham City | eng ENG | EFL Cup | Rd2 | 1.3 | 0 | 0 | 0 | 2 | 4 | 0 | 0 | 0 | 3 | 0 | Matches | ||
| 2022-2023 | 23 | Burton Albion | eng ENG | EFL Cup | Rd1 | 0.7 | 0 | 0 | 0 | 2 | 0 | 0 | 3 | 2 | 1 | 0 | Matches | ||
| 2022-2023 | 23 | Burton Albion | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2024-2025 | 25 | Walsall | eng ENG | EFL Cup | Rd3 | 1.7 | 0 | 0 | 0 | 1 | 1 | 0 | 3 | 3 | 1 | 0 | Matches | ||
| 2024-2025 | 25 | Walsall | eng ENG | FA Cup | 1.4 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2025-2026 | 26 | Walsall | eng ENG | FA Cup | 2.2 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | Matches | |||
| 9 Seasons | 5 Clubs | 2 Leagues | 12.5 | 0 | 0 | 0 | 13 | 12 | 1 | 14 | 6 | 7 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Birmingham City (5 Seasons) | 2 Leagues | 3.8 | 0 | 0 | 0 | 3 | 9 | 1 | 3 | 0 | 5 | 0 | 0 | 0 | |||||
| Burton Albion (3 Seasons) | 2 Leagues | 1.4 | 0 | 0 | 0 | 2 | 0 | 0 | 3 | 2 | 1 | 0 | |||||||
| Walsall (2 Seasons) | 2 Leagues | 5.3 | 0 | 0 | 0 | 3 | 2 | 0 | 3 | 4 | 1 | 0 | |||||||
| Stevenage (1 Season) | 1 League | 2.0 | 0 | 0 | 0 | 5 | 1 | 0 | 5 | 0 | 0 | 0 | |||||||
| AFC Wimbledon (1 Season) | 1 League | ||||||||||||||||||
| FA Cup (8 Seasons) | 6.5 | 0 | 0 | 0 | 7 | 2 | 0 | 5 | 1 | 0 | 0 | ||||||||
| EFL Cup (7 Seasons) | 6.0 | 0 | 0 | 0 | 6 | 10 | 1 | 9 | 5 | 7 | 0 | 0 | 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