| 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 | |||||
| 2014-2015 | 18 | Charlton Athletic | eng ENG | 2. Championship | 0 | 0 | Matches | |||||||||||||||
| 2014-2015 | 18 | Charlton Athletic | eng ENG | FA Cup | 0 | 0 | Matches | |||||||||||||||
| 2015-2016 | 19 | Charlton Athletic | eng ENG | League Cup | 0 | 0 | Matches | |||||||||||||||
| 2015-2016 | 19 | Woking | eng ENG | 5. National League | 12 | 11 | 934 | 10.4 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 20 | Charlton Athletic | eng ENG | EFL Cup | 0 | 0 | Matches | |||||||||||||||
| 2016-2017 | 20 | Woking | 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 |
| 2016-2017 | 20 | Woking | eng ENG | 5. National League | 30 | 29 | 2,581 | 28.7 | 3 | 1 | 4 | 3 | 0 | 0 | 1 | 0 | 0.10 | 0.03 | 0.14 | 0.10 | 0.14 | Matches |
| 2017-2018 | 21 | Wigan Athletic | eng ENG | EFL Cup | 2 | 2 | 154 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 21 | Wigan Athletic | eng ENG | FA Cup | 0 | 0 | Matches | |||||||||||||||
| 2017-2018 | 21 | Wigan Athletic | eng ENG | 3. League One | 3 | 0 | 99 | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 21 | Sutton United | eng ENG | 5. National League | 19 | 19 | 1,710 | 19.0 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | Matches |
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | EFL Cup | 0 | 0 | Matches | |||||||||||||||
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | FA Cup | 3 | 3 | 216 | 2.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | 3. League One | 23 | 20 | 1,864 | 20.7 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.05 | 0.05 | 0.00 | 0.05 | Matches |
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | EFL Cup | 1 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | FA Cup | 2 | 2 | 165 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | 3. League One | 31 | 31 | 2,644 | 29.4 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | Matches |
| 2020-2021 | 24 | AFC Wimbledon | 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 | 24 | AFC Wimbledon | eng ENG | FA Cup | 2 | 2 | 210 | 2.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | 3. League One | 19 | 17 | 1,521 | 16.9 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 25 | Reading | eng ENG | 2. Championship | 2 | 2 | 153 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 25 | Crewe Alexandra | 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 | 25 | Crewe Alexandra | eng ENG | FA Cup | 1 | 1 | 63 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | 3. League One | 13 | 12 | 1,026 | 11.4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 25 | Reading | eng ENG | Jr. PL2 — Div. 2 | 3 | 3 | 270 | 3.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 26 | Charlton Athletic | eng ENG | FA Cup | 1 | 1 | 17 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 26 | Charlton Athletic | eng ENG | 3. League One | 15 | 12 | 1,000 | 11.1 | 1 | 2 | 3 | 1 | 0 | 0 | 1 | 0 | 0.09 | 0.18 | 0.27 | 0.09 | 0.27 | Matches |
| 2023-2024 | 27 | Charlton Athletic | eng ENG | EFL Cup | 1 | 0 | 21 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 27 | Charlton Athletic | 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 |
| 2023-2024 | 27 | Charlton Athletic | eng ENG | 3. League One | 40 | 31 | 2,879 | 32.0 | 0 | 1 | 1 | 0 | 0 | 0 | 9 | 0 | 0.00 | 0.03 | 0.03 | 0.00 | 0.03 | Matches |
| 2024-2025 | 28 | Carlisle 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 |
| 2024-2025 | 28 | Carlisle United | eng ENG | FA Cup | 1 | 1 | 110 | 1.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 28 | Carlisle United | eng ENG | 4. League Two | 32 | 29 | 2,671 | 29.7 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 0 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | Matches |
| 2025-2026 | 29 | Carlisle United | eng ENG | FA Cup | 0 | 0 | Matches | |||||||||||||||
| 2025-2026 | 29 | Carlisle United | eng ENG | 5. National League | 28 | 22 | 1,918 | 21.3 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.05 | 0.05 | 0.09 | 0.05 | 0.09 | Matches |
| 12 Seasons | 8 Clubs | 6 Leagues | 286 | 253 | 22,526 | 250.3 | 8 | 6 | 14 | 8 | 0 | 0 | 29 | 0 | 0.03 | 0.02 | 0.06 | 0.03 | 0.06 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Charlton Athletic (5 Seasons) | 4 Leagues | 58 | 45 | 4,007 | 44.5 | 1 | 3 | 4 | 1 | 0 | 0 | 10 | 0 | 0.02 | 0.07 | 0.09 | 0.02 | 0.09 | ||||
| AFC Wimbledon (3 Seasons) | 3 Leagues | 82 | 77 | 6,830 | 75.9 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.01 | 0.01 | 0.03 | 0.01 | 0.03 | ||||
| Carlisle United (2 Seasons) | 4 Leagues | 62 | 53 | 4,789 | 53.2 | 2 | 1 | 3 | 2 | 0 | 0 | 8 | 0 | 0.04 | 0.02 | 0.06 | 0.04 | 0.06 | ||||
| Woking (2 Seasons) | 2 Leagues | 43 | 41 | 3,605 | 40.1 | 3 | 1 | 4 | 3 | 0 | 0 | 3 | 0 | 0.07 | 0.02 | 0.10 | 0.07 | 0.10 | ||||
| Sutton United (1 Season) | 1 League | 19 | 19 | 1,710 | 19.0 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | ||||
| Crewe Alexandra (1 Season) | 3 Leagues | 15 | 14 | 1,179 | 13.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Wigan Athletic (1 Season) | 3 Leagues | 5 | 2 | 253 | 2.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Reading (1 Season) | 1 League | 3 | 3 | 270 | 3.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Reading (1 Season) | 1 League | 2 | 2 | 153 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| FA Cup (11 Seasons) | 12 | 12 | 961 | 10.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| EFL Cup (9 Seasons) | 7 | 6 | 565 | 6.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| League One (7 Seasons) | 144 | 123 | 11,033 | 122.6 | 2 | 4 | 6 | 2 | 0 | 0 | 15 | 0 | 0.02 | 0.03 | 0.05 | 0.02 | 0.05 | |||||
| National League (4 Seasons) | 89 | 81 | 7,143 | 79.4 | 5 | 2 | 7 | 5 | 0 | 0 | 9 | 0 | 0.06 | 0.03 | 0.09 | 0.06 | 0.09 | |||||
| Championship (2 Seasons) | 2 | 2 | 153 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| League Two (1 Season) | 32 | 29 | 2,671 | 29.7 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 0 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | |||||
| PL2 — Div. 2 (1 Season) | 3 | 3 | 270 | 3.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 | |||||
| 2014-2015 | 18 | Charlton Athletic | 2 Leagues | 0 | 0 | ||||||||||||||||
| 2015-2016 | 19 | Charlton Athletic | 1 League | 0 | 0 | ||||||||||||||||
| 2015-2016 | 19 | Woking | 1 League | 12 | 11 | 934 | 10.4 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2016-2017 | 20 | Charlton Athletic | 1 League | 0 | 0 | ||||||||||||||||
| 2016-2017 | 20 | Woking | 2 Leagues | 31 | 30 | 2,671 | 29.7 | 3 | 1 | 4 | 3 | 0 | 0 | 1 | 0 | 0.10 | 0.03 | 0.13 | 0.10 | 0.13 | |
| 2017-2018 | 21 | Sutton United | 1 League | 19 | 19 | 1,710 | 19.0 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | |
| 2017-2018 | 21 | Wigan Athletic | 3 Leagues | 5 | 2 | 253 | 2.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2018-2019 | 22 | AFC Wimbledon | 3 Leagues | 26 | 23 | 2,080 | 23.1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.04 | 0.04 | 0.00 | 0.04 | |
| 2019-2020 | 23 | AFC Wimbledon | 3 Leagues | 34 | 34 | 2,929 | 32.5 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | |
| 2020-2021 | 24 | AFC Wimbledon | 3 Leagues | 22 | 20 | 1,821 | 20.2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2021-2022 | 25 | Reading | 1 League | 3 | 3 | 270 | 3.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2021-2022 | 25 | Reading | 1 League | 2 | 2 | 153 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2021-2022 | 25 | Crewe Alexandra | 3 Leagues | 15 | 14 | 1,179 | 13.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2022-2023 | 26 | Charlton Athletic | 2 Leagues | 16 | 13 | 1,017 | 11.3 | 1 | 2 | 3 | 1 | 0 | 0 | 1 | 0 | 0.09 | 0.18 | 0.27 | 0.09 | 0.27 | |
| 2023-2024 | 27 | Charlton Athletic | 3 Leagues | 42 | 32 | 2,990 | 33.2 | 0 | 1 | 1 | 0 | 0 | 0 | 9 | 0 | 0.00 | 0.03 | 0.03 | 0.00 | 0.03 | |
| 2024-2025 | 28 | Carlisle United | 3 Leagues | 34 | 31 | 2,871 | 31.9 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 0 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | |
| 2025-2026 | 29 | Carlisle United | 2 Leagues | 28 | 22 | 1,918 | 21.3 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.05 | 0.05 | 0.09 | 0.05 | 0.09 | |
| 12 Seasons | 8 Clubs | 6 Leagues | 286 | 253 | 22,526 | 250.3 | 8 | 6 | 14 | 8 | 0 | 0 | 29 | 0 | 0.03 | 0.02 | 0.06 | 0.03 | 0.06 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Charlton Athletic (5 Seasons) | 4 Leagues | 58 | 45 | 4,007 | 44.5 | 1 | 3 | 4 | 1 | 0 | 0 | 10 | 0 | 0.02 | 0.07 | 0.09 | 0.02 | 0.09 | |||
| AFC Wimbledon (3 Seasons) | 3 Leagues | 82 | 77 | 6,830 | 75.9 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.01 | 0.01 | 0.03 | 0.01 | 0.03 | |||
| Carlisle United (2 Seasons) | 4 Leagues | 62 | 53 | 4,789 | 53.2 | 2 | 1 | 3 | 2 | 0 | 0 | 8 | 0 | 0.04 | 0.02 | 0.06 | 0.04 | 0.06 | |||
| Woking (2 Seasons) | 2 Leagues | 43 | 41 | 3,605 | 40.1 | 3 | 1 | 4 | 3 | 0 | 0 | 3 | 0 | 0.07 | 0.02 | 0.10 | 0.07 | 0.10 | |||
| Sutton United (1 Season) | 1 League | 19 | 19 | 1,710 | 19.0 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | |||
| Crewe Alexandra (1 Season) | 3 Leagues | 15 | 14 | 1,179 | 13.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Wigan Athletic (1 Season) | 3 Leagues | 5 | 2 | 253 | 2.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Reading (1 Season) | 1 League | 3 | 3 | 270 | 3.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Reading (1 Season) | 1 League | 2 | 2 | 153 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| FA Cup (11 Seasons) | 12 | 12 | 961 | 10.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| EFL Cup (9 Seasons) | 7 | 6 | 565 | 6.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| League One (7 Seasons) | 144 | 123 | 11,033 | 122.6 | 2 | 4 | 6 | 2 | 0 | 0 | 15 | 0 | 0.02 | 0.03 | 0.05 | 0.02 | 0.05 | ||||
| National League (4 Seasons) | 89 | 81 | 7,143 | 79.4 | 5 | 2 | 7 | 5 | 0 | 0 | 9 | 0 | 0.06 | 0.03 | 0.09 | 0.06 | 0.09 | ||||
| Championship (2 Seasons) | 2 | 2 | 153 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| League Two (1 Season) | 32 | 29 | 2,671 | 29.7 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 0 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | ||||
| PL2 — Div. 2 (1 Season) | 3 | 3 | 270 | 3.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 | |||||
| 2014-2015 | 18 | Charlton Athletic | eng ENG | 2. Championship | 12th | 0 | 0 | Matches | |||||||||||||||
| 2015-2016 | 19 | Woking | eng ENG | 5. National League | 12th | 12 | 11 | 934 | 10.4 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 20 | Woking | eng ENG | 5. National League | 18th | 30 | 29 | 2,581 | 28.7 | 3 | 1 | 4 | 3 | 0 | 0 | 1 | 0 | 0.10 | 0.03 | 0.14 | 0.10 | 0.14 | Matches |
| 2017-2018 | 21 | Sutton United | eng ENG | 5. National League | 3rd | 19 | 19 | 1,710 | 19.0 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | Matches |
| 2017-2018 | 21 | Wigan Athletic | eng ENG | 3. League One | 1st | 3 | 0 | 99 | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | 3. League One | 20th | 23 | 20 | 1,864 | 20.7 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.05 | 0.05 | 0.00 | 0.05 | Matches |
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | 3. League One | 20th | 31 | 31 | 2,644 | 29.4 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | Matches |
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | 3. League One | 19th | 19 | 17 | 1,521 | 16.9 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 25 | Reading | eng ENG | Jr. PL2 — Div. 2 | 14th | 3 | 3 | 270 | 3.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 25 | Reading | eng ENG | 2. Championship | 21st | 2 | 2 | 153 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | 3. League One | 24th | 13 | 12 | 1,026 | 11.4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 26 | Charlton Athletic | eng ENG | 3. League One | 10th | 15 | 12 | 1,000 | 11.1 | 1 | 2 | 3 | 1 | 0 | 0 | 1 | 0 | 0.09 | 0.18 | 0.27 | 0.09 | 0.27 | Matches |
| 2023-2024 | 27 | Charlton Athletic | eng ENG | 3. League One | 16th | 40 | 31 | 2,879 | 32.0 | 0 | 1 | 1 | 0 | 0 | 0 | 9 | 0 | 0.00 | 0.03 | 0.03 | 0.00 | 0.03 | Matches |
| 2024-2025 | 28 | Carlisle United | eng ENG | 4. League Two | 23rd | 32 | 29 | 2,671 | 29.7 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 0 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | Matches |
| 2025-2026 | 29 | Carlisle United | eng ENG | 5. National League | 3rd | 28 | 22 | 1,918 | 21.3 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.05 | 0.05 | 0.09 | 0.05 | 0.09 | Matches |
| 12 Seasons | 8 Clubs | 4 Leagues | 267 | 235 | 21,000 | 233.3 | 8 | 6 | 14 | 8 | 0 | 0 | 29 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| AFC Wimbledon (3 Seasons) | 1 League | 73 | 68 | 6,029 | 67.0 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.01 | 0.01 | 0.03 | 0.01 | 0.03 | |||||
| Charlton Athletic (3 Seasons) | 2 Leagues | 55 | 43 | 3,879 | 43.1 | 1 | 3 | 4 | 1 | 0 | 0 | 10 | 0 | 0.02 | 0.07 | 0.09 | 0.02 | 0.09 | |||||
| Carlisle United (2 Seasons) | 2 Leagues | 60 | 51 | 4,589 | 51.0 | 2 | 1 | 3 | 2 | 0 | 0 | 8 | 0 | 0.04 | 0.02 | 0.06 | 0.04 | 0.06 | |||||
| Woking (2 Seasons) | 1 League | 42 | 40 | 3,515 | 39.1 | 3 | 1 | 4 | 3 | 0 | 0 | 3 | 0 | 0.08 | 0.03 | 0.10 | 0.08 | 0.10 | |||||
| Sutton United (1 Season) | 1 League | 19 | 19 | 1,710 | 19.0 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | |||||
| Crewe Alexandra (1 Season) | 1 League | 13 | 12 | 1,026 | 11.4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Reading (1 Season) | 1 League | 3 | 3 | 270 | 3.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Wigan Athletic (1 Season) | 1 League | 3 | 0 | 99 | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Reading (1 Season) | 1 League | 2 | 2 | 153 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| League One (7 Seasons) | 144 | 123 | 11,033 | 122.6 | 2 | 4 | 6 | 2 | 0 | 0 | 15 | 0 | 0.02 | 0.03 | 0.05 | 0.02 | 0.05 | ||||||
| National League (4 Seasons) | 89 | 81 | 7,143 | 79.4 | 5 | 2 | 7 | 5 | 0 | 0 | 9 | 0 | 0.06 | 0.03 | 0.09 | 0.06 | 0.09 | ||||||
| Championship (2 Seasons) | 2 | 2 | 153 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| League Two (1 Season) | 32 | 29 | 2,671 | 29.7 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 0 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | ||||||
| PL2 — Div. 2 (1 Season) | 3 | 3 | 270 | 3.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 | |||||
| 2014-2015 | 18 | Charlton Athletic | eng ENG | FA Cup | 33rd | 0 | 0 | Matches | |||||||||||||||
| 2015-2016 | 19 | Charlton Athletic | eng ENG | League Cup | 17th | 0 | 0 | Matches | |||||||||||||||
| 2016-2017 | 20 | Charlton Athletic | eng ENG | EFL Cup | 58th | 0 | 0 | Matches | |||||||||||||||
| 2016-2017 | 20 | Woking | eng ENG | FA Cup | 65th | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 21 | Wigan Athletic | eng ENG | EFL Cup | 33rd | 2 | 2 | 154 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 21 | Wigan Athletic | eng ENG | FA Cup | 5th | 0 | 0 | Matches | |||||||||||||||
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | EFL Cup | 33rd | 0 | 0 | Matches | |||||||||||||||
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | FA Cup | 9th | 3 | 3 | 216 | 2.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | EFL Cup | 58th | 1 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | FA Cup | 85th | 2 | 2 | 165 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 24 | AFC Wimbledon | 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 | 24 | AFC Wimbledon | eng ENG | FA Cup | 65th | 2 | 2 | 210 | 2.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | EFL Cup | Rd2 | 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 | 25 | Crewe Alexandra | eng ENG | FA Cup | 1 | 1 | 63 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2022-2023 | 26 | Charlton Athletic | eng ENG | FA Cup | 1 | 1 | 17 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2023-2024 | 27 | Charlton Athletic | eng ENG | EFL Cup | Rd1 | 1 | 0 | 21 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 27 | Charlton Athletic | 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 | |
| 2024-2025 | 28 | Carlisle 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 |
| 2024-2025 | 28 | Carlisle United | eng ENG | FA Cup | 1 | 1 | 110 | 1.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2025-2026 | 29 | Carlisle United | eng ENG | FA Cup | 0 | 0 | Matches | ||||||||||||||||
| 12 Seasons | 6 Clubs | 2 Leagues | 19 | 18 | 1,526 | 17.0 | 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 | ||||||||
| Charlton Athletic (5 Seasons) | 2 Leagues | 3 | 2 | 128 | 1.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| AFC Wimbledon (3 Seasons) | 2 Leagues | 9 | 9 | 801 | 8.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Carlisle United (2 Seasons) | 2 Leagues | 2 | 2 | 200 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Wigan Athletic (1 Season) | 2 Leagues | 2 | 2 | 154 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Crewe Alexandra (1 Season) | 2 Leagues | 2 | 2 | 153 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Woking (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 (11 Seasons) | 12 | 12 | 961 | 10.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| EFL Cup (9 Seasons) | 7 | 6 | 565 | 6.3 | 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 | |||||
| 2015-2016 | 19 | Woking | eng ENG | 5. National League | 10.4 | 0 | 1 | 0.10 | 0.00 | 0 | 0 | Matches | ||||
| 2016-2017 | 20 | Woking | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2016-2017 | 20 | Woking | eng ENG | 5. National League | 28.7 | 3 | 0 | 4 | 0.00 | 0.14 | 0.75 | 0 | 0 | Matches | ||
| 2017-2018 | 21 | Wigan Athletic | eng ENG | EFL Cup | 1.7 | 0 | 1 | 0 | 0.0 | 0.58 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2017-2018 | 21 | Wigan Athletic | eng ENG | 3. League One | 1.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2017-2018 | 21 | Sutton United | eng ENG | 5. National League | 19.0 | 1 | 0 | 3 | 0.00 | 0.16 | 0.33 | 0 | 0 | Matches | ||
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | FA Cup | 2.4 | 0 | 2 | 0 | 0.0 | 0.83 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | 3. League One | 20.7 | 0 | 0 | 0 | Matches | |||||||
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | EFL Cup | 1.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | FA Cup | 1.8 | 0 | 3 | 0 | 0.0 | 1.64 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | 3. League One | 29.4 | 1 | 15 | 4 | 26.7 | 0.51 | 0.14 | 0.07 | 0.25 | 0 | 0 | Matches |
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | EFL Cup | 1.0 | 0 | 2 | 1 | 50.0 | 2.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | FA Cup | 2.3 | 0 | 2 | 0 | 0.0 | 0.86 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | 3. League One | 16.9 | 0 | 6 | 1 | 16.7 | 0.36 | 0.06 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 25 | Reading | eng ENG | 2. Championship | 1.7 | 0 | 1 | 0 | 0.0 | 0.59 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | 3. League One | 11.4 | 0 | 5 | 1 | 20.0 | 0.44 | 0.09 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 25 | Reading | eng ENG | Jr. PL2 — Div. 2 | 3.0 | 0 | 0 | 0 | Matches | |||||||
| 2022-2023 | 26 | Charlton Athletic | eng ENG | FA Cup | 0.2 | 0 | 0 | 0 | Matches | |||||||
| 2022-2023 | 26 | Charlton Athletic | eng ENG | 3. League One | 11.1 | 1 | 5 | 2 | 40.0 | 0.45 | 0.18 | 0.20 | 0.50 | 0 | 0 | Matches |
| 2023-2024 | 27 | Charlton Athletic | eng ENG | EFL Cup | 0.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2023-2024 | 27 | Charlton Athletic | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2023-2024 | 27 | Charlton Athletic | eng ENG | 3. League One | 32.0 | 0 | 17 | 3 | 17.6 | 0.53 | 0.09 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 28 | Carlisle United | eng ENG | EFL Cup | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2024-2025 | 28 | Carlisle United | eng ENG | FA Cup | 1.2 | 0 | 0 | 0 | Matches | |||||||
| 2024-2025 | 28 | Carlisle United | eng ENG | 4. League Two | 29.7 | 1 | 26 | 3 | 11.5 | 0.88 | 0.10 | 0.04 | 0.33 | 0 | 0 | Matches |
| 2025-2026 | 29 | Carlisle United | eng ENG | 5. National League | 21.3 | 1 | 0 | 0 | Matches | |||||||
| 12 Seasons | 8 Clubs | 6 Leagues | 250.3 | 8 | 86 | 23 | 25.6 | 0.44 | 0.11 | 0.08 | 0.30 | 0 | 0 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Charlton Athletic (5 Seasons) | 4 Leagues | 44.5 | 1 | 22 | 5 | 22.7 | 0.50 | 0.11 | 0.05 | 0.20 | 0 | 0 | ||||
| AFC Wimbledon (3 Seasons) | 3 Leagues | 75.9 | 1 | 30 | 6 | 20.0 | 0.54 | 0.11 | 0.03 | 0.17 | 0 | 0 | ||||
| Carlisle United (2 Seasons) | 4 Leagues | 53.2 | 2 | 27 | 3 | 11.1 | 0.88 | 0.10 | 0.04 | 0.33 | 0 | 0 | ||||
| Woking (2 Seasons) | 2 Leagues | 40.1 | 3 | 0 | 5 | 0.00 | 0.13 | 0.60 | 0 | 0 | ||||||
| Sutton United (1 Season) | 1 League | 19.0 | 1 | 0 | 3 | 0.00 | 0.16 | 0.33 | 0 | 0 | ||||||
| Crewe Alexandra (1 Season) | 3 Leagues | 13.1 | 0 | 5 | 1 | 20.0 | 0.38 | 0.08 | 0.00 | 0.00 | 0 | 0 | ||||
| Wigan Athletic (1 Season) | 3 Leagues | 2.8 | 0 | 1 | 0 | 0.0 | 0.36 | 0.00 | 0.00 | 0 | 0 | |||||
| Reading (1 Season) | 1 League | 3.0 | 0 | 0 | 0 | |||||||||||
| Reading (1 Season) | 1 League | 1.7 | 0 | 1 | 0 | 0.0 | 0.59 | 0.00 | 0.00 | 0 | 0 | |||||
| FA Cup (11 Seasons) | 10.7 | 0 | 7 | 0 | 0.0 | 0.85 | 0.00 | 0.00 | 0 | 0 | ||||||
| EFL Cup (9 Seasons) | 6.3 | 0 | 4 | 1 | 25.0 | 0.64 | 0.16 | 0.00 | 0.00 | 0 | 0 | |||||
| League One (7 Seasons) | 122.6 | 2 | 48 | 11 | 22.9 | 0.47 | 0.11 | 0.04 | 0.18 | 0 | 0 | |||||
| National League (4 Seasons) | 79.4 | 5 | 0 | 8 | 0.00 | 0.14 | 0.50 | 0 | 0 | |||||||
| Championship (2 Seasons) | 1.7 | 0 | 1 | 0 | 0.0 | 0.59 | 0.00 | 0.00 | 0 | 0 | ||||||
| League Two (1 Season) | 29.7 | 1 | 26 | 3 | 11.5 | 0.88 | 0.10 | 0.04 | 0.33 | 0 | 0 | |||||
| PL2 — Div. 2 (1 Season) | 3.0 | 0 | 0 | 0 | ||||||||||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2015-2016 | 19 | Woking | 1 League | 10.4 | 0 | 1 | 0.10 | 0.00 | 0 | 0 | |||||
| 2016-2017 | 20 | Woking | 2 Leagues | 29.7 | 3 | 0 | 4 | 0.00 | 0.14 | 0.75 | 0 | 0 | |||
| 2017-2018 | 21 | Sutton United | 1 League | 19.0 | 1 | 0 | 3 | 0.00 | 0.16 | 0.33 | 0 | 0 | |||
| 2017-2018 | 21 | Wigan Athletic | 3 Leagues | 2.8 | 0 | 1 | 0 | 0.0 | 0.36 | 0.00 | 0.00 | 0 | 0 | ||
| 2018-2019 | 22 | AFC Wimbledon | 3 Leagues | 23.1 | 0 | 2 | 0 | 0.0 | 0.83 | 0.00 | 0.00 | 0 | 0 | ||
| 2019-2020 | 23 | AFC Wimbledon | 3 Leagues | 32.5 | 1 | 18 | 4 | 22.2 | 0.55 | 0.12 | 0.06 | 0.25 | 0 | 0 | |
| 2020-2021 | 24 | AFC Wimbledon | 3 Leagues | 20.2 | 0 | 10 | 2 | 20.0 | 0.49 | 0.10 | 0.00 | 0.00 | 0 | 0 | |
| 2021-2022 | 25 | Reading | 1 League | 3.0 | 0 | 0 | 0 | ||||||||
| 2021-2022 | 25 | Reading | 1 League | 1.7 | 0 | 1 | 0 | 0.0 | 0.59 | 0.00 | 0.00 | 0 | 0 | ||
| 2021-2022 | 25 | Crewe Alexandra | 3 Leagues | 13.1 | 0 | 5 | 1 | 20.0 | 0.38 | 0.08 | 0.00 | 0.00 | 0 | 0 | |
| 2022-2023 | 26 | Charlton Athletic | 2 Leagues | 11.3 | 1 | 5 | 2 | 40.0 | 0.45 | 0.18 | 0.20 | 0.50 | 0 | 0 | |
| 2023-2024 | 27 | Charlton Athletic | 3 Leagues | 33.2 | 0 | 17 | 3 | 17.6 | 0.51 | 0.09 | 0.00 | 0.00 | 0 | 0 | |
| 2024-2025 | 28 | Carlisle United | 3 Leagues | 31.9 | 1 | 27 | 3 | 11.1 | 0.88 | 0.10 | 0.04 | 0.33 | 0 | 0 | |
| 2025-2026 | 29 | Carlisle United | 2 Leagues | 21.3 | 1 | 0 | 0 | ||||||||
| 12 Seasons | 8 Clubs | 6 Leagues | 250.3 | 8 | 86 | 23 | 25.6 | 0.44 | 0.11 | 0.08 | 0.30 | 0 | 0 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Charlton Athletic (5 Seasons) | 4 Leagues | 44.5 | 1 | 22 | 5 | 22.7 | 0.50 | 0.11 | 0.05 | 0.20 | 0 | 0 | |||
| AFC Wimbledon (3 Seasons) | 3 Leagues | 75.9 | 1 | 30 | 6 | 20.0 | 0.54 | 0.11 | 0.03 | 0.17 | 0 | 0 | |||
| Carlisle United (2 Seasons) | 4 Leagues | 53.2 | 2 | 27 | 3 | 11.1 | 0.88 | 0.10 | 0.04 | 0.33 | 0 | 0 | |||
| Woking (2 Seasons) | 2 Leagues | 40.1 | 3 | 0 | 5 | 0.00 | 0.13 | 0.60 | 0 | 0 | |||||
| Sutton United (1 Season) | 1 League | 19.0 | 1 | 0 | 3 | 0.00 | 0.16 | 0.33 | 0 | 0 | |||||
| Crewe Alexandra (1 Season) | 3 Leagues | 13.1 | 0 | 5 | 1 | 20.0 | 0.38 | 0.08 | 0.00 | 0.00 | 0 | 0 | |||
| Wigan Athletic (1 Season) | 3 Leagues | 2.8 | 0 | 1 | 0 | 0.0 | 0.36 | 0.00 | 0.00 | 0 | 0 | ||||
| Reading (1 Season) | 1 League | 3.0 | 0 | 0 | 0 | ||||||||||
| Reading (1 Season) | 1 League | 1.7 | 0 | 1 | 0 | 0.0 | 0.59 | 0.00 | 0.00 | 0 | 0 | ||||
| FA Cup (11 Seasons) | 10.7 | 0 | 7 | 0 | 0.0 | 0.85 | 0.00 | 0.00 | 0 | 0 | |||||
| EFL Cup (9 Seasons) | 6.3 | 0 | 4 | 1 | 25.0 | 0.64 | 0.16 | 0.00 | 0.00 | 0 | 0 | ||||
| League One (7 Seasons) | 122.6 | 2 | 48 | 11 | 22.9 | 0.47 | 0.11 | 0.04 | 0.18 | 0 | 0 | ||||
| National League (4 Seasons) | 79.4 | 5 | 0 | 8 | 0.00 | 0.14 | 0.50 | 0 | 0 | ||||||
| Championship (2 Seasons) | 1.7 | 0 | 1 | 0 | 0.0 | 0.59 | 0.00 | 0.00 | 0 | 0 | |||||
| League Two (1 Season) | 29.7 | 1 | 26 | 3 | 11.5 | 0.88 | 0.10 | 0.04 | 0.33 | 0 | 0 | ||||
| PL2 — Div. 2 (1 Season) | 3.0 | 0 | 0 | 0 | |||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2015-2016 | 19 | Woking | eng ENG | 5. National League | 12th | 10.4 | 0 | 1 | 0.10 | 0.00 | 0 | 0 | Matches | ||||
| 2016-2017 | 20 | Woking | eng ENG | 5. National League | 18th | 28.7 | 3 | 0 | 4 | 0.00 | 0.14 | 0.75 | 0 | 0 | Matches | ||
| 2017-2018 | 21 | Sutton United | eng ENG | 5. National League | 3rd | 19.0 | 1 | 0 | 3 | 0.00 | 0.16 | 0.33 | 0 | 0 | Matches | ||
| 2017-2018 | 21 | Wigan Athletic | eng ENG | 3. League One | 1st | 1.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | 3. League One | 20th | 20.7 | 0 | 0 | 0 | Matches | |||||||
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | 3. League One | 20th | 29.4 | 1 | 15 | 4 | 26.7 | 0.51 | 0.14 | 0.07 | 0.25 | 0 | 0 | Matches |
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | 3. League One | 19th | 16.9 | 0 | 6 | 1 | 16.7 | 0.36 | 0.06 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 25 | Reading | eng ENG | Jr. PL2 — Div. 2 | 14th | 3.0 | 0 | 0 | 0 | Matches | |||||||
| 2021-2022 | 25 | Reading | eng ENG | 2. Championship | 21st | 1.7 | 0 | 1 | 0 | 0.0 | 0.59 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | 3. League One | 24th | 11.4 | 0 | 5 | 1 | 20.0 | 0.44 | 0.09 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 26 | Charlton Athletic | eng ENG | 3. League One | 10th | 11.1 | 1 | 5 | 2 | 40.0 | 0.45 | 0.18 | 0.20 | 0.50 | 0 | 0 | Matches |
| 2023-2024 | 27 | Charlton Athletic | eng ENG | 3. League One | 16th | 32.0 | 0 | 17 | 3 | 17.6 | 0.53 | 0.09 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 28 | Carlisle United | eng ENG | 4. League Two | 23rd | 29.7 | 1 | 26 | 3 | 11.5 | 0.88 | 0.10 | 0.04 | 0.33 | 0 | 0 | Matches |
| 2025-2026 | 29 | Carlisle United | eng ENG | 5. National League | 3rd | 21.3 | 1 | 0 | 0 | Matches | |||||||
| 12 Seasons | 8 Clubs | 4 Leagues | 233.3 | 8 | 75 | 22 | 28.0 | 0.41 | 0.11 | 0.09 | 0.32 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| AFC Wimbledon (3 Seasons) | 1 League | 67.0 | 1 | 21 | 5 | 23.8 | 0.45 | 0.11 | 0.05 | 0.20 | 0 | 0 | |||||
| Charlton Athletic (3 Seasons) | 2 Leagues | 43.1 | 1 | 22 | 5 | 22.7 | 0.51 | 0.12 | 0.05 | 0.20 | 0 | 0 | |||||
| Carlisle United (2 Seasons) | 2 Leagues | 51.0 | 2 | 26 | 3 | 11.5 | 0.88 | 0.10 | 0.04 | 0.33 | 0 | 0 | |||||
| Woking (2 Seasons) | 1 League | 39.1 | 3 | 0 | 5 | 0.00 | 0.13 | 0.60 | 0 | 0 | |||||||
| Sutton United (1 Season) | 1 League | 19.0 | 1 | 0 | 3 | 0.00 | 0.16 | 0.33 | 0 | 0 | |||||||
| Crewe Alexandra (1 Season) | 1 League | 11.4 | 0 | 5 | 1 | 20.0 | 0.44 | 0.09 | 0.00 | 0.00 | 0 | 0 | |||||
| Reading (1 Season) | 1 League | 3.0 | 0 | 0 | 0 | ||||||||||||
| Wigan Athletic (1 Season) | 1 League | 1.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Reading (1 Season) | 1 League | 1.7 | 0 | 1 | 0 | 0.0 | 0.59 | 0.00 | 0.00 | 0 | 0 | ||||||
| League One (7 Seasons) | 122.6 | 2 | 48 | 11 | 22.9 | 0.47 | 0.11 | 0.04 | 0.18 | 0 | 0 | ||||||
| National League (4 Seasons) | 79.4 | 5 | 0 | 8 | 0.00 | 0.14 | 0.50 | 0 | 0 | ||||||||
| Championship (2 Seasons) | 1.7 | 0 | 1 | 0 | 0.0 | 0.59 | 0.00 | 0.00 | 0 | 0 | |||||||
| League Two (1 Season) | 29.7 | 1 | 26 | 3 | 11.5 | 0.88 | 0.10 | 0.04 | 0.33 | 0 | 0 | ||||||
| PL2 — Div. 2 (1 Season) | 3.0 | 0 | 0 | 0 | |||||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016-2017 | 20 | Woking | eng ENG | FA Cup | 65th | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 21 | Wigan Athletic | eng ENG | EFL Cup | 33rd | 1.7 | 0 | 1 | 0 | 0.0 | 0.58 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | FA Cup | 9th | 2.4 | 0 | 2 | 0 | 0.0 | 0.83 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | EFL Cup | 58th | 1.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | FA Cup | 85th | 1.8 | 0 | 3 | 0 | 0.0 | 1.64 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | EFL Cup | 58th | 1.0 | 0 | 2 | 1 | 50.0 | 2.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | FA Cup | 65th | 2.3 | 0 | 2 | 0 | 0.0 | 0.86 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | EFL Cup | Rd2 | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | ||||
| 2022-2023 | 26 | Charlton Athletic | eng ENG | FA Cup | 0.2 | 0 | 0 | 0 | Matches | ||||||||
| 2023-2024 | 27 | Charlton Athletic | eng ENG | EFL Cup | Rd1 | 0.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2023-2024 | 27 | Charlton Athletic | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | ||||
| 2024-2025 | 28 | Carlisle United | eng ENG | EFL Cup | Rd1 | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2024-2025 | 28 | Carlisle United | eng ENG | FA Cup | 1.2 | 0 | 0 | 0 | Matches | ||||||||
| 12 Seasons | 6 Clubs | 2 Leagues | 17.0 | 0 | 11 | 1 | 9.1 | 0.76 | 0.07 | 0.00 | 0.00 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Charlton Athletic (5 Seasons) | 2 Leagues | 1.4 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| AFC Wimbledon (3 Seasons) | 2 Leagues | 8.9 | 0 | 9 | 1 | 11.1 | 1.01 | 0.11 | 0.00 | 0.00 | 0 | 0 | |||||
| Carlisle United (2 Seasons) | 2 Leagues | 2.2 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | ||||||
| Wigan Athletic (1 Season) | 2 Leagues | 1.7 | 0 | 1 | 0 | 0.0 | 0.58 | 0.00 | 0.00 | 0 | 0 | ||||||
| Crewe Alexandra (1 Season) | 2 Leagues | 1.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Woking (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | ||||||||||||
| FA Cup (11 Seasons) | 10.7 | 0 | 7 | 0 | 0.0 | 0.85 | 0.00 | 0.00 | 0 | 0 | |||||||
| EFL Cup (9 Seasons) | 6.3 | 0 | 4 | 1 | 25.0 | 0.64 | 0.16 | 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 | |||||||
| 2014-2015 | 18 | Charlton Athletic | eng ENG | 2. Championship | 0 | 0 | 0 | 0 | 2 | Matches | ||||||||||||
| 2014-2015 | 18 | Charlton Athletic | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2015-2016 | 19 | Charlton Athletic | eng ENG | League Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2015-2016 | 19 | Woking | eng ENG | 5. National League | 12 | 934 | 78 | 22.6 | 10.4 | 11 | 1 | Matches | ||||||||||
| 2016-2017 | 20 | Charlton Athletic | eng ENG | EFL Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2016-2017 | 20 | Woking | eng ENG | FA Cup | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 1 | 0.00 | 0 | 3 | -3 | -3.00 | -5.00 | Matches | |
| 2016-2017 | 20 | Woking | eng ENG | 5. National League | 30 | 2,581 | 86 | 62.3 | 28.7 | 29 | 27 | 1 | 1 | 1.33 | 43 | 42 | +1 | +0.03 | +0.90 | Matches | ||
| 2017-2018 | 21 | Wigan Athletic | eng ENG | EFL Cup | 2 | 154 | 77 | 85.6 | 1.7 | 2 | 77 | 1 | 0 | 0 | 1.50 | 3 | 5 | -2 | -1.17 | -1.17 | Matches | |
| 2017-2018 | 21 | Wigan Athletic | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2017-2018 | 21 | Wigan Athletic | eng ENG | 3. League One | 3 | 99 | 33 | 2.4 | 1.1 | 0 | 0 | 3 | 7 | 2.33 | 1 | 2 | -1 | -0.91 | -2.27 | Matches | ||
| 2017-2018 | 21 | Sutton United | eng ENG | 5. National League | 19 | 1,710 | 90 | 41.3 | 19.0 | 19 | 19 | 0 | 0 | 1.55 | 26 | 20 | +6 | +0.32 | +0.02 | Matches | ||
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | EFL Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | FA Cup | 3 | 216 | 72 | 48.0 | 2.4 | 3 | 72 | 2 | 0 | 2 | 3.00 | 6 | 2 | +4 | +1.67 | +1.28 | Matches | |
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | 3. League One | 23 | 1,864 | 81 | 45.0 | 20.7 | 20 | 90 | 19 | 3 | 23 | 11 | 1.30 | 21 | 28 | -7 | -0.34 | +0.22 | Matches |
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | EFL Cup | 1 | 120 | 120 | 100.0 | 1.3 | 1 | 120 | 1 | 0 | 0 | 0.00 | 2 | 2 | 0 | 0.00 | Matches | ||
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | FA Cup | 2 | 165 | 83 | 91.7 | 1.8 | 2 | 83 | 1 | 0 | 0 | 0.50 | 1 | 3 | -2 | -1.09 | -1.09 | Matches | |
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | 3. League One | 31 | 2,644 | 85 | 83.9 | 29.4 | 31 | 85 | 25 | 0 | 3 | 0.97 | 31 | 44 | -13 | -0.44 | -0.44 | Matches | |
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 1.00 | 1 | 1 | 0 | 0.00 | Matches | ||
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | FA Cup | 2 | 210 | 105 | 100.0 | 2.3 | 2 | 105 | 2 | 0 | 0 | 0.50 | 1 | 2 | -1 | -0.43 | Matches | ||
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | 3. League One | 19 | 1,521 | 80 | 36.7 | 16.9 | 17 | 86 | 13 | 2 | 27 | 2 | 1.11 | 18 | 24 | -6 | -0.36 | -0.01 | Matches |
| 2021-2022 | 25 | Reading | eng ENG | 2. Championship | 2 | 153 | 77 | 3.7 | 1.7 | 2 | 77 | 1 | 0 | 6 | 0.00 | 0 | 1 | -1 | -0.59 | +0.13 | Matches | |
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | EFL Cup | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 3 | -3 | -3.00 | -4.00 | Matches | |
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | FA Cup | 1 | 63 | 63 | 70.0 | 0.7 | 1 | 63 | 0 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.86 | +0.48 | Matches | |
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | 3. League One | 13 | 1,026 | 79 | 24.8 | 11.4 | 12 | 85 | 9 | 1 | 1 | 7 | 0.69 | 6 | 21 | -15 | -1.32 | -0.42 | Matches |
| 2021-2022 | 25 | Reading | eng ENG | Jr. PL2 — Div. 2 | 3 | 270 | 90 | 11.5 | 3.0 | 3 | 90 | 3 | 0 | 0 | 1.33 | 3 | 3 | 0 | 0.00 | +1.04 | Matches | |
| 2022-2023 | 26 | Charlton Athletic | eng ENG | FA Cup | 1 | 17 | 17 | 6.3 | 0.2 | 1 | 17 | 0 | 0 | 0 | 3.00 | 0 | 0 | 0 | 0.00 | -0.36 | Matches | |
| 2022-2023 | 26 | Charlton Athletic | eng ENG | 3. League One | 15 | 1,000 | 67 | 24.2 | 11.1 | 12 | 83 | 8 | 3 | 3 | 6 | 1.80 | 26 | 24 | +2 | +0.18 | +0.12 | Matches |
| 2023-2024 | 27 | Charlton Athletic | eng ENG | EFL Cup | 1 | 21 | 21 | 23.3 | 0.2 | 0 | 0 | 1 | 21 | 0 | 0.00 | 0 | 2 | -2 | -8.57 | -8.57 | Matches | |
| 2023-2024 | 27 | Charlton Athletic | eng ENG | FA Cup | 1 | 90 | 90 | 33.3 | 1.0 | 1 | 90 | 1 | 0 | 1 | 1.00 | 1 | 1 | 0 | 0.00 | -1.50 | Matches | |
| 2023-2024 | 27 | Charlton Athletic | eng ENG | 3. League One | 40 | 2,879 | 72 | 69.5 | 32.0 | 31 | 88 | 26 | 9 | 17 | 5 | 1.18 | 43 | 46 | -3 | -0.09 | -0.24 | Matches |
| 2024-2025 | 28 | Carlisle United | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.00 | Matches | ||
| 2024-2025 | 28 | Carlisle United | eng ENG | FA Cup | 1 | 110 | 110 | 91.7 | 1.2 | 1 | 110 | 0 | 0 | 0 | 0.00 | 0 | 1 | -1 | -0.82 | +8.18 | Matches | |
| 2024-2025 | 28 | Carlisle United | eng ENG | 4. League Two | 32 | 2,671 | 83 | 64.5 | 29.7 | 29 | 87 | 27 | 3 | 45 | 0 | 1.00 | 32 | 46 | -14 | -0.47 | +0.32 | Matches |
| 2025-2026 | 29 | Carlisle United | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2025-2026 | 29 | Carlisle United | eng ENG | 5. National League | 28 | 1,918 | 69 | 46.3 | 21.3 | 22 | 84 | 18 | 6 | 11 | 1 | 2.11 | 38 | 21 | +17 | +0.80 | +0.03 | Matches |
| 12 Seasons | 8 Clubs | 6 Leagues | 286 | 22,526 | 79 | 36.9 | 250.3 | 253 | 86 | 204 | 33 | 18 | 61 | 1.28 | 300 | 348 | -48 | -0.20 | -0.15 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Charlton Athletic (5 Seasons) | 4 Leagues | 58 | 4,007 | 69 | 29.7 | 44.5 | 45 | 85 | 35 | 13 | 14 | 17 | 1.35 | 70 | 73 | -3 | -0.07 | -0.21 | ||||
| AFC Wimbledon (3 Seasons) | 3 Leagues | 82 | 6,830 | 83 | 53.9 | 75.9 | 77 | 87 | 64 | 5 | 25 | 19 | 1.13 | 81 | 106 | -25 | -0.33 | +0.04 | ||||
| Carlisle United (2 Seasons) | 4 Leagues | 62 | 4,789 | 77 | 55.0 | 53.2 | 53 | 87 | 46 | 9 | 23 | 2 | 1.47 | 70 | 70 | 0 | 0.00 | -0.12 | ||||
| Woking (2 Seasons) | 2 Leagues | 43 | 3,605 | 84 | 42.6 | 40.1 | 41 | 90 | 28 | 2 | 2 | 1.29 | 43 | 45 | -2 | -0.07 | +0.64 | |||||
| Sutton United (1 Season) | 1 League | 19 | 1,710 | 90 | 41.3 | 19.0 | 19 | 19 | 0 | 0 | 1.55 | 26 | 20 | +6 | +0.32 | +0.02 | ||||||
| Crewe Alexandra (1 Season) | 3 Leagues | 15 | 1,179 | 79 | 26.7 | 13.1 | 14 | 84 | 10 | 1 | 1 | 7 | 0.60 | 6 | 26 | -20 | -1.53 | -0.66 | ||||
| Wigan Athletic (1 Season) | 3 Leagues | 5 | 253 | 51 | 5.0 | 2.8 | 2 | 77 | 1 | 3 | 8 | 2.00 | 4 | 7 | -3 | -1.07 | -2.42 | |||||
| Reading (1 Season) | 1 League | 3 | 270 | 90 | 11.5 | 3.0 | 3 | 90 | 3 | 0 | 0 | 1.33 | 3 | 3 | 0 | 0.00 | +1.04 | |||||
| Reading (1 Season) | 1 League | 2 | 153 | 77 | 3.7 | 1.7 | 2 | 77 | 1 | 0 | 6 | 0.00 | 0 | 1 | -1 | -0.59 | +0.13 | |||||
| FA Cup (11 Seasons) | 12 | 961 | 80 | 34.4 | 10.7 | 12 | 80 | 7 | 0 | 7 | 1.25 | 9 | 14 | -5 | -0.47 | -1.02 | ||||||
| EFL Cup (9 Seasons) | 7 | 565 | 81 | 43.8 | 6.3 | 6 | 91 | 5 | 1 | 21 | 3 | 0.57 | 6 | 15 | -9 | -1.43 | -1.92 | |||||
| League One (7 Seasons) | 144 | 11,033 | 77 | 39.4 | 122.6 | 123 | 87 | 100 | 21 | 16 | 41 | 1.19 | 146 | 189 | -43 | -0.35 | -0.40 | |||||
| National League (4 Seasons) | 89 | 7,143 | 80 | 43.1 | 79.4 | 81 | 84 | 64 | 8 | 11 | 2 | 1.67 | 107 | 83 | +24 | +0.35 | +0.17 | |||||
| Championship (2 Seasons) | 2 | 153 | 77 | 1.8 | 1.7 | 2 | 77 | 1 | 0 | 8 | 0.00 | 0 | 1 | -1 | -0.59 | +0.13 | ||||||
| League Two (1 Season) | 32 | 2,671 | 83 | 64.5 | 29.7 | 29 | 87 | 27 | 3 | 45 | 0 | 1.00 | 32 | 46 | -14 | -0.47 | +0.32 | |||||
| PL2 — Div. 2 (1 Season) | 3 | 270 | 90 | 11.5 | 3.0 | 3 | 90 | 3 | 0 | 0 | 1.33 | 3 | 3 | 0 | 0.00 | +1.04 | ||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 18 | Charlton Athletic | 2 Leagues | 0 | 0 | 0 | 0 | 3 | |||||||||||||
| 2015-2016 | 19 | Charlton Athletic | 1 League | 0 | 0 | 0 | 0 | 1 | |||||||||||||
| 2015-2016 | 19 | Woking | 1 League | 12 | 934 | 78 | 22.6 | 10.4 | 11 | 1 | |||||||||||
| 2016-2017 | 20 | Charlton Athletic | 1 League | 0 | 0 | 0 | 0 | 1 | |||||||||||||
| 2016-2017 | 20 | Woking | 2 Leagues | 31 | 2,671 | 86 | 61.8 | 29.7 | 30 | 90 | 28 | 1 | 2 | 1.29 | 43 | 45 | -2 | -0.07 | +0.64 | ||
| 2017-2018 | 21 | Sutton United | 1 League | 19 | 1,710 | 90 | 41.3 | 19.0 | 19 | 19 | 0 | 0 | 1.55 | 26 | 20 | +6 | +0.32 | +0.02 | |||
| 2017-2018 | 21 | Wigan Athletic | 3 Leagues | 5 | 253 | 51 | 5.0 | 2.8 | 2 | 77 | 1 | 3 | 8 | 2.00 | 4 | 7 | -3 | -1.07 | -2.42 | ||
| 2018-2019 | 22 | AFC Wimbledon | 3 Leagues | 26 | 2,080 | 80 | 43.6 | 23.1 | 23 | 87 | 21 | 3 | 23 | 14 | 1.50 | 27 | 30 | -3 | -0.13 | +0.34 | |
| 2019-2020 | 23 | AFC Wimbledon | 3 Leagues | 34 | 2,929 | 86 | 84.9 | 32.5 | 34 | 86 | 27 | 0 | 3 | 0.91 | 34 | 49 | -15 | -0.46 | -0.46 | ||
| 2020-2021 | 24 | AFC Wimbledon | 3 Leagues | 22 | 1,821 | 83 | 41.0 | 20.2 | 20 | 88 | 16 | 2 | 27 | 2 | 1.05 | 20 | 27 | -7 | -0.35 | 0.00 | |
| 2021-2022 | 25 | Reading | 1 League | 3 | 270 | 90 | 11.5 | 3.0 | 3 | 90 | 3 | 0 | 0 | 1.33 | 3 | 3 | 0 | 0.00 | +1.04 | ||
| 2021-2022 | 25 | Reading | 1 League | 2 | 153 | 77 | 3.7 | 1.7 | 2 | 77 | 1 | 0 | 6 | 0.00 | 0 | 1 | -1 | -0.59 | +0.13 | ||
| 2021-2022 | 25 | Crewe Alexandra | 3 Leagues | 15 | 1,179 | 79 | 26.7 | 13.1 | 14 | 84 | 10 | 1 | 1 | 7 | 0.60 | 6 | 26 | -20 | -1.53 | -0.66 | |
| 2022-2023 | 26 | Charlton Athletic | 2 Leagues | 16 | 1,017 | 64 | 23.1 | 11.3 | 13 | 77 | 8 | 3 | 3 | 6 | 1.88 | 26 | 24 | +2 | +0.18 | +0.10 | |
| 2023-2024 | 27 | Charlton Athletic | 3 Leagues | 42 | 2,990 | 71 | 66.4 | 33.2 | 32 | 88 | 27 | 10 | 18 | 6 | 1.15 | 44 | 49 | -5 | -0.15 | -0.45 | |
| 2024-2025 | 28 | Carlisle United | 3 Leagues | 34 | 2,871 | 84 | 66.0 | 31.9 | 31 | 88 | 28 | 3 | 45 | 0 | 0.94 | 32 | 49 | -17 | -0.53 | +0.32 | |
| 2025-2026 | 29 | Carlisle United | 2 Leagues | 28 | 1,918 | 69 | 44.1 | 21.3 | 22 | 84 | 18 | 6 | 11 | 2 | 2.11 | 38 | 21 | +17 | +0.80 | +0.03 | |
| 12 Seasons | 8 Clubs | 6 Leagues | 286 | 22,526 | 79 | 36.9 | 250.3 | 253 | 86 | 204 | 33 | 18 | 61 | 1.28 | 300 | 348 | -48 | -0.20 | -0.15 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Charlton Athletic (5 Seasons) | 4 Leagues | 58 | 4,007 | 69 | 29.7 | 44.5 | 45 | 85 | 35 | 13 | 14 | 17 | 1.35 | 70 | 73 | -3 | -0.07 | -0.21 | |||
| AFC Wimbledon (3 Seasons) | 3 Leagues | 82 | 6,830 | 83 | 53.9 | 75.9 | 77 | 87 | 64 | 5 | 25 | 19 | 1.13 | 81 | 106 | -25 | -0.33 | +0.04 | |||
| Carlisle United (2 Seasons) | 4 Leagues | 62 | 4,789 | 77 | 55.0 | 53.2 | 53 | 87 | 46 | 9 | 23 | 2 | 1.47 | 70 | 70 | 0 | 0.00 | -0.12 | |||
| Woking (2 Seasons) | 2 Leagues | 43 | 3,605 | 84 | 42.6 | 40.1 | 41 | 90 | 28 | 2 | 2 | 1.29 | 43 | 45 | -2 | -0.07 | +0.64 | ||||
| Sutton United (1 Season) | 1 League | 19 | 1,710 | 90 | 41.3 | 19.0 | 19 | 19 | 0 | 0 | 1.55 | 26 | 20 | +6 | +0.32 | +0.02 | |||||
| Crewe Alexandra (1 Season) | 3 Leagues | 15 | 1,179 | 79 | 26.7 | 13.1 | 14 | 84 | 10 | 1 | 1 | 7 | 0.60 | 6 | 26 | -20 | -1.53 | -0.66 | |||
| Wigan Athletic (1 Season) | 3 Leagues | 5 | 253 | 51 | 5.0 | 2.8 | 2 | 77 | 1 | 3 | 8 | 2.00 | 4 | 7 | -3 | -1.07 | -2.42 | ||||
| Reading (1 Season) | 1 League | 3 | 270 | 90 | 11.5 | 3.0 | 3 | 90 | 3 | 0 | 0 | 1.33 | 3 | 3 | 0 | 0.00 | +1.04 | ||||
| Reading (1 Season) | 1 League | 2 | 153 | 77 | 3.7 | 1.7 | 2 | 77 | 1 | 0 | 6 | 0.00 | 0 | 1 | -1 | -0.59 | +0.13 | ||||
| FA Cup (11 Seasons) | 12 | 961 | 80 | 34.4 | 10.7 | 12 | 80 | 7 | 0 | 7 | 1.25 | 9 | 14 | -5 | -0.47 | -1.02 | |||||
| EFL Cup (9 Seasons) | 7 | 565 | 81 | 43.8 | 6.3 | 6 | 91 | 5 | 1 | 21 | 3 | 0.57 | 6 | 15 | -9 | -1.43 | -1.92 | ||||
| League One (7 Seasons) | 144 | 11,033 | 77 | 39.4 | 122.6 | 123 | 87 | 100 | 21 | 16 | 41 | 1.19 | 146 | 189 | -43 | -0.35 | -0.40 | ||||
| National League (4 Seasons) | 89 | 7,143 | 80 | 43.1 | 79.4 | 81 | 84 | 64 | 8 | 11 | 2 | 1.67 | 107 | 83 | +24 | +0.35 | +0.17 | ||||
| Championship (2 Seasons) | 2 | 153 | 77 | 1.8 | 1.7 | 2 | 77 | 1 | 0 | 8 | 0.00 | 0 | 1 | -1 | -0.59 | +0.13 | |||||
| League Two (1 Season) | 32 | 2,671 | 83 | 64.5 | 29.7 | 29 | 87 | 27 | 3 | 45 | 0 | 1.00 | 32 | 46 | -14 | -0.47 | +0.32 | ||||
| PL2 — Div. 2 (1 Season) | 3 | 270 | 90 | 11.5 | 3.0 | 3 | 90 | 3 | 0 | 0 | 1.33 | 3 | 3 | 0 | 0.00 | +1.04 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 18 | Charlton Athletic | eng ENG | 2. Championship | 12th | 0 | 0 | 0 | 0 | 2 | Matches | ||||||||||||
| 2015-2016 | 19 | Woking | eng ENG | 5. National League | 12th | 12 | 934 | 78 | 22.6 | 10.4 | 11 | 1 | Matches | ||||||||||
| 2016-2017 | 20 | Woking | eng ENG | 5. National League | 18th | 30 | 2,581 | 86 | 62.3 | 28.7 | 29 | 27 | 1 | 1 | 1.33 | 43 | 42 | +1 | +0.03 | +0.90 | Matches | ||
| 2017-2018 | 21 | Sutton United | eng ENG | 5. National League | 3rd | 19 | 1,710 | 90 | 41.3 | 19.0 | 19 | 19 | 0 | 0 | 1.55 | 26 | 20 | +6 | +0.32 | +0.02 | Matches | ||
| 2017-2018 | 21 | Wigan Athletic | eng ENG | 3. League One | 1st | 3 | 99 | 33 | 2.4 | 1.1 | 0 | 0 | 3 | 7 | 2.33 | 1 | 2 | -1 | -0.91 | -2.27 | Matches | ||
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | 3. League One | 20th | 23 | 1,864 | 81 | 45.0 | 20.7 | 20 | 90 | 19 | 3 | 23 | 11 | 1.30 | 21 | 28 | -7 | -0.34 | +0.22 | Matches |
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | 3. League One | 20th | 31 | 2,644 | 85 | 83.9 | 29.4 | 31 | 85 | 25 | 0 | 3 | 0.97 | 31 | 44 | -13 | -0.44 | -0.44 | Matches | |
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | 3. League One | 19th | 19 | 1,521 | 80 | 36.7 | 16.9 | 17 | 86 | 13 | 2 | 27 | 2 | 1.11 | 18 | 24 | -6 | -0.36 | -0.01 | Matches |
| 2021-2022 | 25 | Reading | eng ENG | Jr. PL2 — Div. 2 | 14th | 3 | 270 | 90 | 11.5 | 3.0 | 3 | 90 | 3 | 0 | 0 | 1.33 | 3 | 3 | 0 | 0.00 | +1.04 | Matches | |
| 2021-2022 | 25 | Reading | eng ENG | 2. Championship | 21st | 2 | 153 | 77 | 3.7 | 1.7 | 2 | 77 | 1 | 0 | 6 | 0.00 | 0 | 1 | -1 | -0.59 | +0.13 | Matches | |
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | 3. League One | 24th | 13 | 1,026 | 79 | 24.8 | 11.4 | 12 | 85 | 9 | 1 | 1 | 7 | 0.69 | 6 | 21 | -15 | -1.32 | -0.42 | Matches |
| 2022-2023 | 26 | Charlton Athletic | eng ENG | 3. League One | 10th | 15 | 1,000 | 67 | 24.2 | 11.1 | 12 | 83 | 8 | 3 | 3 | 6 | 1.80 | 26 | 24 | +2 | +0.18 | +0.12 | Matches |
| 2023-2024 | 27 | Charlton Athletic | eng ENG | 3. League One | 16th | 40 | 2,879 | 72 | 69.5 | 32.0 | 31 | 88 | 26 | 9 | 17 | 5 | 1.18 | 43 | 46 | -3 | -0.09 | -0.24 | Matches |
| 2024-2025 | 28 | Carlisle United | eng ENG | 4. League Two | 23rd | 32 | 2,671 | 83 | 64.5 | 29.7 | 29 | 87 | 27 | 3 | 45 | 0 | 1.00 | 32 | 46 | -14 | -0.47 | +0.32 | Matches |
| 2025-2026 | 29 | Carlisle United | eng ENG | 5. National League | 3rd | 28 | 1,918 | 69 | 46.3 | 21.3 | 22 | 84 | 18 | 6 | 11 | 1 | 2.11 | 38 | 21 | +17 | +0.80 | +0.03 | Matches |
| 12 Seasons | 8 Clubs | 4 Leagues | 267 | 21,000 | 79 | 36.9 | 233.3 | 235 | 86 | 192 | 32 | 18 | 51 | 1.30 | 285 | 319 | -34 | -0.15 | -0.08 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| AFC Wimbledon (3 Seasons) | 1 League | 73 | 6,029 | 83 | 52.7 | 67.0 | 68 | 87 | 57 | 5 | 25 | 16 | 1.11 | 70 | 96 | -26 | -0.39 | +0.01 | |||||
| Charlton Athletic (3 Seasons) | 2 Leagues | 55 | 3,879 | 71 | 31.2 | 43.1 | 43 | 86 | 34 | 12 | 14 | 13 | 1.35 | 69 | 70 | -1 | -0.02 | -0.11 | |||||
| Carlisle United (2 Seasons) | 2 Leagues | 60 | 4,589 | 76 | 55.4 | 51.0 | 51 | 86 | 45 | 9 | 23 | 1 | 1.52 | 70 | 67 | +3 | +0.06 | -0.09 | |||||
| Woking (2 Seasons) | 1 League | 42 | 3,515 | 84 | 42.5 | 39.1 | 40 | 27 | 2 | 1 | 1.33 | 43 | 42 | +1 | +0.03 | +0.90 | |||||||
| Sutton United (1 Season) | 1 League | 19 | 1,710 | 90 | 41.3 | 19.0 | 19 | 19 | 0 | 0 | 1.55 | 26 | 20 | +6 | +0.32 | +0.02 | |||||||
| Crewe Alexandra (1 Season) | 1 League | 13 | 1,026 | 79 | 24.8 | 11.4 | 12 | 85 | 9 | 1 | 1 | 7 | 0.69 | 6 | 21 | -15 | -1.32 | -0.42 | |||||
| Reading (1 Season) | 1 League | 3 | 270 | 90 | 11.5 | 3.0 | 3 | 90 | 3 | 0 | 0 | 1.33 | 3 | 3 | 0 | 0.00 | +1.04 | ||||||
| Wigan Athletic (1 Season) | 1 League | 3 | 99 | 33 | 2.4 | 1.1 | 0 | 0 | 3 | 7 | 2.33 | 1 | 2 | -1 | -0.91 | -2.27 | |||||||
| Reading (1 Season) | 1 League | 2 | 153 | 77 | 3.7 | 1.7 | 2 | 77 | 1 | 0 | 6 | 0.00 | 0 | 1 | -1 | -0.59 | +0.13 | ||||||
| League One (7 Seasons) | 144 | 11,033 | 77 | 39.4 | 122.6 | 123 | 87 | 100 | 21 | 16 | 41 | 1.19 | 146 | 189 | -43 | -0.35 | -0.40 | ||||||
| National League (4 Seasons) | 89 | 7,143 | 80 | 43.1 | 79.4 | 81 | 84 | 64 | 8 | 11 | 2 | 1.67 | 107 | 83 | +24 | +0.35 | +0.17 | ||||||
| Championship (2 Seasons) | 2 | 153 | 77 | 1.8 | 1.7 | 2 | 77 | 1 | 0 | 8 | 0.00 | 0 | 1 | -1 | -0.59 | +0.13 | |||||||
| League Two (1 Season) | 32 | 2,671 | 83 | 64.5 | 29.7 | 29 | 87 | 27 | 3 | 45 | 0 | 1.00 | 32 | 46 | -14 | -0.47 | +0.32 | ||||||
| PL2 — Div. 2 (1 Season) | 3 | 270 | 90 | 11.5 | 3.0 | 3 | 90 | 3 | 0 | 0 | 1.33 | 3 | 3 | 0 | 0.00 | +1.04 | |||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 18 | Charlton Athletic | eng ENG | FA Cup | 33rd | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2015-2016 | 19 | Charlton Athletic | eng ENG | League Cup | 17th | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2016-2017 | 20 | Charlton Athletic | eng ENG | EFL Cup | 58th | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2016-2017 | 20 | Woking | eng ENG | FA Cup | 65th | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 1 | 0.00 | 0 | 3 | -3 | -3.00 | -5.00 | Matches | |
| 2017-2018 | 21 | Wigan Athletic | eng ENG | EFL Cup | 33rd | 2 | 154 | 77 | 85.6 | 1.7 | 2 | 77 | 1 | 0 | 0 | 1.50 | 3 | 5 | -2 | -1.17 | -1.17 | Matches | |
| 2017-2018 | 21 | Wigan Athletic | eng ENG | FA Cup | 5th | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | EFL Cup | 33rd | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | FA Cup | 9th | 3 | 216 | 72 | 48.0 | 2.4 | 3 | 72 | 2 | 0 | 2 | 3.00 | 6 | 2 | +4 | +1.67 | +1.28 | Matches | |
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | EFL Cup | 58th | 1 | 120 | 120 | 100.0 | 1.3 | 1 | 120 | 1 | 0 | 0 | 0.00 | 2 | 2 | 0 | 0.00 | Matches | ||
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | FA Cup | 85th | 2 | 165 | 83 | 91.7 | 1.8 | 2 | 83 | 1 | 0 | 0 | 0.50 | 1 | 3 | -2 | -1.09 | -1.09 | Matches | |
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | EFL Cup | 58th | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 1.00 | 1 | 1 | 0 | 0.00 | Matches | ||
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | FA Cup | 65th | 2 | 210 | 105 | 100.0 | 2.3 | 2 | 105 | 2 | 0 | 0 | 0.50 | 1 | 2 | -1 | -0.43 | Matches | ||
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | EFL Cup | Rd2 | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 3 | -3 | -3.00 | -4.00 | Matches | |
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | FA Cup | 1 | 63 | 63 | 70.0 | 0.7 | 1 | 63 | 0 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.86 | +0.48 | Matches | ||
| 2022-2023 | 26 | Charlton Athletic | eng ENG | FA Cup | 1 | 17 | 17 | 6.3 | 0.2 | 1 | 17 | 0 | 0 | 0 | 3.00 | 0 | 0 | 0 | 0.00 | -0.36 | Matches | ||
| 2023-2024 | 27 | Charlton Athletic | eng ENG | EFL Cup | Rd1 | 1 | 21 | 21 | 23.3 | 0.2 | 0 | 0 | 1 | 21 | 0 | 0.00 | 0 | 2 | -2 | -8.57 | -8.57 | Matches | |
| 2023-2024 | 27 | Charlton Athletic | eng ENG | FA Cup | 1 | 90 | 90 | 33.3 | 1.0 | 1 | 90 | 1 | 0 | 1 | 1.00 | 1 | 1 | 0 | 0.00 | -1.50 | Matches | ||
| 2024-2025 | 28 | Carlisle United | eng ENG | EFL Cup | Rd1 | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.00 | Matches | ||
| 2024-2025 | 28 | Carlisle United | eng ENG | FA Cup | 1 | 110 | 110 | 91.7 | 1.2 | 1 | 110 | 0 | 0 | 0 | 0.00 | 0 | 1 | -1 | -0.82 | +8.18 | Matches | ||
| 2025-2026 | 29 | Carlisle United | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | |||||||||||||
| 12 Seasons | 6 Clubs | 2 Leagues | 19 | 1,526 | 80 | 37.4 | 17.0 | 18 | 84 | 12 | 1 | 21 | 10 | 1.00 | 15 | 29 | -14 | -0.83 | -1.37 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Charlton Athletic (5 Seasons) | 2 Leagues | 3 | 128 | 43 | 11.9 | 1.4 | 2 | 54 | 1 | 1 | 21 | 4 | 1.33 | 1 | 3 | -2 | -1.41 | -2.12 | |||||
| AFC Wimbledon (3 Seasons) | 2 Leagues | 9 | 801 | 89 | 65.1 | 8.9 | 9 | 89 | 7 | 0 | 3 | 1.33 | 11 | 10 | +1 | +0.11 | -0.25 | ||||||
| Carlisle United (2 Seasons) | 2 Leagues | 2 | 200 | 100 | 47.6 | 2.2 | 2 | 100 | 1 | 0 | 1 | 0.00 | 0 | 3 | -3 | -1.35 | +7.65 | ||||||
| Wigan Athletic (1 Season) | 2 Leagues | 2 | 154 | 77 | 17.1 | 1.7 | 2 | 77 | 1 | 0 | 1 | 1.50 | 3 | 5 | -2 | -1.17 | -1.17 | ||||||
| Crewe Alexandra (1 Season) | 2 Leagues | 2 | 153 | 77 | 56.7 | 1.7 | 2 | 77 | 1 | 0 | 0 | 0.00 | 0 | 5 | -5 | -2.94 | -2.94 | ||||||
| Woking (1 Season) | 1 League | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 1 | 0.00 | 0 | 3 | -3 | -3.00 | -5.00 | ||||||
| FA Cup (11 Seasons) | 12 | 961 | 80 | 34.4 | 10.7 | 12 | 80 | 7 | 0 | 7 | 1.25 | 9 | 14 | -5 | -0.47 | -1.02 | |||||||
| EFL Cup (9 Seasons) | 7 | 565 | 81 | 43.8 | 6.3 | 6 | 91 | 5 | 1 | 21 | 3 | 0.57 | 6 | 15 | -9 | -1.43 | -1.92 | ||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2015-2016 | 19 | Woking | eng ENG | 5. National League | 10.4 | 2 | 0 | 12 | Matches | |||||||||
| 2016-2017 | 20 | Woking | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2016-2017 | 20 | Woking | eng ENG | 5. National League | 28.7 | 1 | 0 | 0 | 14 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | Matches |
| 2017-2018 | 21 | Wigan Athletic | eng ENG | EFL Cup | 1.7 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 21 | Wigan Athletic | eng ENG | 3. League One | 1.1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 21 | Sutton United | eng ENG | 5. National League | 19.0 | 3 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | FA Cup | 2.4 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 2 | 0 | 0 | 0 | Matches |
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | 3. League One | 20.7 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | EFL Cup | 1.3 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 2 | 0 | 0 | Matches | ||
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | FA Cup | 1.8 | 0 | 0 | 0 | 0 | 4 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | 3. League One | 29.4 | 1 | 0 | 0 | 22 | 27 | 0 | 4 | 52 | 30 | 0 | 0 | 0 | Matches |
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | FA Cup | 2.3 | 0 | 0 | 0 | 1 | 2 | 1 | 4 | 2 | 1 | 0 | Matches | ||
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | 3. League One | 16.9 | 1 | 0 | 0 | 18 | 12 | 2 | 7 | 32 | 15 | 0 | Matches | ||
| 2021-2022 | 25 | Reading | eng ENG | 2. Championship | 1.7 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 3 | 0 | Matches | ||
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | 3. League One | 11.4 | 1 | 0 | 0 | 8 | 10 | 0 | 0 | 14 | 8 | 1 | Matches | ||
| 2021-2022 | 25 | Reading | eng ENG | Jr. PL2 — Div. 2 | 3.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2022-2023 | 26 | Charlton Athletic | eng ENG | FA Cup | 0.2 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2022-2023 | 26 | Charlton Athletic | eng ENG | 3. League One | 11.1 | 1 | 0 | 0 | 14 | 5 | 0 | 8 | 10 | 21 | 0 | Matches | ||
| 2023-2024 | 27 | Charlton Athletic | eng ENG | EFL Cup | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | Matches | ||
| 2023-2024 | 27 | Charlton Athletic | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 27 | Charlton Athletic | eng ENG | 3. League One | 32.0 | 9 | 0 | 0 | 31 | 19 | 1 | 37 | 29 | 33 | 0 | Matches | ||
| 2024-2025 | 28 | Carlisle United | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 6 | 2 | 0 | Matches | ||
| 2024-2025 | 28 | Carlisle United | eng ENG | FA Cup | 1.2 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2024-2025 | 28 | Carlisle United | eng ENG | 4. League Two | 29.7 | 5 | 0 | 0 | 25 | 28 | 1 | 5 | 44 | 40 | 0 | Matches | ||
| 2025-2026 | 29 | Carlisle United | eng ENG | 5. National League | 21.3 | 3 | 0 | 0 | 1 | Matches | ||||||||
| 12 Seasons | 8 Clubs | 6 Leagues | 250.3 | 29 | 0 | 0 | 160 | 115 | 7 | 69 | 195 | 156 | 0 | 0 | 3 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Charlton Athletic (5 Seasons) | 4 Leagues | 44.5 | 10 | 0 | 0 | 46 | 24 | 1 | 46 | 39 | 55 | 0 | ||||||
| AFC Wimbledon (3 Seasons) | 3 Leagues | 75.9 | 3 | 0 | 0 | 43 | 49 | 4 | 16 | 90 | 48 | 0 | 0 | 0 | ||||
| Carlisle United (2 Seasons) | 4 Leagues | 53.2 | 8 | 0 | 0 | 26 | 30 | 1 | 5 | 50 | 42 | 1 | ||||||
| Woking (2 Seasons) | 2 Leagues | 40.1 | 3 | 0 | 0 | 26 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | ||||
| Sutton United (1 Season) | 1 League | 19.0 | 3 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Crewe Alexandra (1 Season) | 3 Leagues | 13.1 | 1 | 0 | 0 | 9 | 10 | 0 | 0 | 15 | 8 | 1 | ||||||
| Wigan Athletic (1 Season) | 3 Leagues | 2.8 | 1 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | ||||
| Reading (1 Season) | 1 League | 3.0 | 0 | 0 | 0 | 0 | ||||||||||||
| Reading (1 Season) | 1 League | 1.7 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 3 | 0 | ||||||
| FA Cup (11 Seasons) | 10.7 | 0 | 0 | 0 | 4 | 7 | 2 | 5 | 3 | 3 | 0 | 0 | 0 | |||||
| EFL Cup (9 Seasons) | 6.3 | 0 | 0 | 0 | 3 | 7 | 0 | 2 | 10 | 3 | 0 | 0 | 0 | |||||
| League One (7 Seasons) | 122.6 | 15 | 0 | 0 | 93 | 73 | 3 | 56 | 137 | 107 | 0 | 0 | 1 | |||||
| National League (4 Seasons) | 79.4 | 9 | 0 | 0 | 34 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | |||||
| Championship (2 Seasons) | 1.7 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 3 | 0 | |||||||
| League Two (1 Season) | 29.7 | 5 | 0 | 0 | 25 | 28 | 1 | 5 | 44 | 40 | 0 | |||||||
| PL2 — Div. 2 (1 Season) | 3.0 | 0 | 0 | 0 | 0 | |||||||||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2015-2016 | 19 | Woking | 1 League | 10.4 | 2 | 0 | 12 | ||||||||||
| 2016-2017 | 20 | Woking | 2 Leagues | 29.7 | 1 | 0 | 0 | 14 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | |
| 2017-2018 | 21 | Sutton United | 1 League | 19.0 | 3 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2017-2018 | 21 | Wigan Athletic | 3 Leagues | 2.8 | 1 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |
| 2018-2019 | 22 | AFC Wimbledon | 3 Leagues | 23.1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 2 | 0 | 0 | 0 | |
| 2019-2020 | 23 | AFC Wimbledon | 3 Leagues | 32.5 | 1 | 0 | 0 | 22 | 34 | 0 | 5 | 54 | 30 | 0 | 0 | 0 | |
| 2020-2021 | 24 | AFC Wimbledon | 3 Leagues | 20.2 | 1 | 0 | 0 | 20 | 14 | 3 | 11 | 35 | 16 | 0 | |||
| 2021-2022 | 25 | Reading | 1 League | 3.0 | 0 | 0 | 0 | 0 | |||||||||
| 2021-2022 | 25 | Reading | 1 League | 1.7 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 3 | 0 | |||
| 2021-2022 | 25 | Crewe Alexandra | 3 Leagues | 13.1 | 1 | 0 | 0 | 9 | 10 | 0 | 0 | 15 | 8 | 1 | |||
| 2022-2023 | 26 | Charlton Athletic | 2 Leagues | 11.3 | 1 | 0 | 0 | 14 | 5 | 0 | 8 | 10 | 21 | 0 | |||
| 2023-2024 | 27 | Charlton Athletic | 3 Leagues | 33.2 | 9 | 0 | 0 | 32 | 19 | 1 | 38 | 29 | 34 | 0 | |||
| 2024-2025 | 28 | Carlisle United | 3 Leagues | 31.9 | 5 | 0 | 0 | 26 | 30 | 1 | 5 | 50 | 42 | 0 | |||
| 2025-2026 | 29 | Carlisle United | 2 Leagues | 21.3 | 3 | 0 | 0 | 1 | |||||||||
| 12 Seasons | 8 Clubs | 6 Leagues | 250.3 | 29 | 0 | 0 | 160 | 115 | 7 | 69 | 195 | 156 | 0 | 0 | 3 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Charlton Athletic (5 Seasons) | 4 Leagues | 44.5 | 10 | 0 | 0 | 46 | 24 | 1 | 46 | 39 | 55 | 0 | |||||
| AFC Wimbledon (3 Seasons) | 3 Leagues | 75.9 | 3 | 0 | 0 | 43 | 49 | 4 | 16 | 90 | 48 | 0 | 0 | 0 | |||
| Carlisle United (2 Seasons) | 4 Leagues | 53.2 | 8 | 0 | 0 | 26 | 30 | 1 | 5 | 50 | 42 | 1 | |||||
| Woking (2 Seasons) | 2 Leagues | 40.1 | 3 | 0 | 0 | 26 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | |||
| Sutton United (1 Season) | 1 League | 19.0 | 3 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Crewe Alexandra (1 Season) | 3 Leagues | 13.1 | 1 | 0 | 0 | 9 | 10 | 0 | 0 | 15 | 8 | 1 | |||||
| Wigan Athletic (1 Season) | 3 Leagues | 2.8 | 1 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |||
| Reading (1 Season) | 1 League | 3.0 | 0 | 0 | 0 | 0 | |||||||||||
| Reading (1 Season) | 1 League | 1.7 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 3 | 0 | |||||
| FA Cup (11 Seasons) | 10.7 | 0 | 0 | 0 | 4 | 7 | 2 | 5 | 3 | 3 | 0 | 0 | 0 | ||||
| EFL Cup (9 Seasons) | 6.3 | 0 | 0 | 0 | 3 | 7 | 0 | 2 | 10 | 3 | 0 | 0 | 0 | ||||
| League One (7 Seasons) | 122.6 | 15 | 0 | 0 | 93 | 73 | 3 | 56 | 137 | 107 | 0 | 0 | 1 | ||||
| National League (4 Seasons) | 79.4 | 9 | 0 | 0 | 34 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | ||||
| Championship (2 Seasons) | 1.7 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 3 | 0 | ||||||
| League Two (1 Season) | 29.7 | 5 | 0 | 0 | 25 | 28 | 1 | 5 | 44 | 40 | 0 | ||||||
| PL2 — Div. 2 (1 Season) | 3.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 |
| 2015-2016 | 19 | Woking | eng ENG | 5. National League | 12th | 10.4 | 2 | 0 | 12 | Matches | |||||||||
| 2016-2017 | 20 | Woking | eng ENG | 5. National League | 18th | 28.7 | 1 | 0 | 0 | 14 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | Matches |
| 2017-2018 | 21 | Sutton United | eng ENG | 5. National League | 3rd | 19.0 | 3 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 21 | Wigan Athletic | eng ENG | 3. League One | 1st | 1.1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | 3. League One | 20th | 20.7 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | 3. League One | 20th | 29.4 | 1 | 0 | 0 | 22 | 27 | 0 | 4 | 52 | 30 | 0 | 0 | 0 | Matches |
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | 3. League One | 19th | 16.9 | 1 | 0 | 0 | 18 | 12 | 2 | 7 | 32 | 15 | 0 | Matches | ||
| 2021-2022 | 25 | Reading | eng ENG | Jr. PL2 — Div. 2 | 14th | 3.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2021-2022 | 25 | Reading | eng ENG | 2. Championship | 21st | 1.7 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 3 | 0 | Matches | ||
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | 3. League One | 24th | 11.4 | 1 | 0 | 0 | 8 | 10 | 0 | 0 | 14 | 8 | 1 | Matches | ||
| 2022-2023 | 26 | Charlton Athletic | eng ENG | 3. League One | 10th | 11.1 | 1 | 0 | 0 | 14 | 5 | 0 | 8 | 10 | 21 | 0 | Matches | ||
| 2023-2024 | 27 | Charlton Athletic | eng ENG | 3. League One | 16th | 32.0 | 9 | 0 | 0 | 31 | 19 | 1 | 37 | 29 | 33 | 0 | Matches | ||
| 2024-2025 | 28 | Carlisle United | eng ENG | 4. League Two | 23rd | 29.7 | 5 | 0 | 0 | 25 | 28 | 1 | 5 | 44 | 40 | 0 | Matches | ||
| 2025-2026 | 29 | Carlisle United | eng ENG | 5. National League | 3rd | 21.3 | 3 | 0 | 0 | 1 | Matches | ||||||||
| 12 Seasons | 8 Clubs | 4 Leagues | 233.3 | 29 | 0 | 0 | 153 | 101 | 5 | 62 | 182 | 150 | 0 | 0 | 3 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| AFC Wimbledon (3 Seasons) | 1 League | 67.0 | 3 | 0 | 0 | 40 | 39 | 2 | 11 | 84 | 45 | 0 | 0 | 0 | |||||
| Charlton Athletic (3 Seasons) | 2 Leagues | 43.1 | 10 | 0 | 0 | 45 | 24 | 1 | 45 | 39 | 54 | 0 | |||||||
| Carlisle United (2 Seasons) | 2 Leagues | 51.0 | 8 | 0 | 0 | 25 | 28 | 1 | 5 | 44 | 40 | 1 | |||||||
| Woking (2 Seasons) | 1 League | 39.1 | 3 | 0 | 0 | 26 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | |||||
| Sutton United (1 Season) | 1 League | 19.0 | 3 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Crewe Alexandra (1 Season) | 1 League | 11.4 | 1 | 0 | 0 | 8 | 10 | 0 | 0 | 14 | 8 | 1 | |||||||
| Reading (1 Season) | 1 League | 3.0 | 0 | 0 | 0 | 0 | |||||||||||||
| Wigan Athletic (1 Season) | 1 League | 1.1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Reading (1 Season) | 1 League | 1.7 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 3 | 0 | |||||||
| League One (7 Seasons) | 122.6 | 15 | 0 | 0 | 93 | 73 | 3 | 56 | 137 | 107 | 0 | 0 | 1 | ||||||
| National League (4 Seasons) | 79.4 | 9 | 0 | 0 | 34 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | ||||||
| Championship (2 Seasons) | 1.7 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 3 | 0 | ||||||||
| League Two (1 Season) | 29.7 | 5 | 0 | 0 | 25 | 28 | 1 | 5 | 44 | 40 | 0 | ||||||||
| PL2 — Div. 2 (1 Season) | 3.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 |
| 2016-2017 | 20 | Woking | eng ENG | FA Cup | 65th | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 21 | Wigan Athletic | eng ENG | EFL Cup | 33rd | 1.7 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 22 | AFC Wimbledon | eng ENG | FA Cup | 9th | 2.4 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 2 | 0 | 0 | 0 | Matches |
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | EFL Cup | 58th | 1.3 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 2 | 0 | 0 | Matches | ||
| 2019-2020 | 23 | AFC Wimbledon | eng ENG | FA Cup | 85th | 1.8 | 0 | 0 | 0 | 0 | 4 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | EFL Cup | 58th | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2020-2021 | 24 | AFC Wimbledon | eng ENG | FA Cup | 65th | 2.3 | 0 | 0 | 0 | 1 | 2 | 1 | 4 | 2 | 1 | 0 | Matches | ||
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | EFL Cup | Rd2 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2021-2022 | 25 | Crewe Alexandra | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | |||
| 2022-2023 | 26 | Charlton Athletic | eng ENG | FA Cup | 0.2 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2023-2024 | 27 | Charlton Athletic | eng ENG | EFL Cup | Rd1 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | Matches | ||
| 2023-2024 | 27 | Charlton Athletic | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | |||
| 2024-2025 | 28 | Carlisle United | eng ENG | EFL Cup | Rd1 | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 6 | 2 | 0 | Matches | ||
| 2024-2025 | 28 | Carlisle United | eng ENG | FA Cup | 1.2 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 12 Seasons | 6 Clubs | 2 Leagues | 17.0 | 0 | 0 | 0 | 7 | 14 | 2 | 7 | 13 | 6 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Charlton Athletic (5 Seasons) | 2 Leagues | 1.4 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | |||||||
| AFC Wimbledon (3 Seasons) | 2 Leagues | 8.9 | 0 | 0 | 0 | 3 | 10 | 2 | 5 | 6 | 3 | 0 | 0 | 0 | |||||
| Carlisle United (2 Seasons) | 2 Leagues | 2.2 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 6 | 2 | 0 | |||||||
| Wigan Athletic (1 Season) | 2 Leagues | 1.7 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |||||
| Crewe Alexandra (1 Season) | 2 Leagues | 1.7 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | |||||||
| Woking (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | 0 | |||||||||||||
| FA Cup (11 Seasons) | 10.7 | 0 | 0 | 0 | 4 | 7 | 2 | 5 | 3 | 3 | 0 | 0 | 0 | ||||||
| EFL Cup (9 Seasons) | 6.3 | 0 | 0 | 0 | 3 | 7 | 0 | 2 | 10 | 3 | 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