| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2016-2017 | 17 | Reading | eng ENG | Jr. PL2 — Div. 1 | 5 | 5 | 450 | 5.0 | 3 | 0 | 3 | 3 | 0 | 0 | 1 | 0 | 0.60 | 0.00 | 0.60 | 0.60 | 0.60 | Matches |
| 2017-2018 | 18 | Reading | eng ENG | Jr. PL2 — Div. 2 | 5 | 2 | 194 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 19 | Reading | eng ENG | 2. Championship | 2 | 1 | 108 | 1.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 19 | Reading | eng ENG | Jr. PL2 — Div. 2 | 11 | 11 | 931 | 10.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | Matches |
| 2019-2020 | 20 | Reading | eng ENG | 2. Championship | 10 | 9 | 776 | 8.6 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 20 | Reading | eng ENG | EFL Cup | 2 | 2 | 176 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 20 | Reading | eng ENG | FA Cup | 2 | 2 | 170 | 1.9 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 20 | Reading | eng ENG | Jr. PL2 — Div. 2 | 2 | 2 | 180 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 21 | Reading | eng ENG | 2. Championship | 26 | 16 | 1,565 | 17.4 | 2 | 2 | 4 | 2 | 0 | 0 | 2 | 0 | 0.12 | 0.12 | 0.23 | 0.12 | 0.23 | Matches |
| 2020-2021 | 21 | Reading | 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 | Reading | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 22 | Reading | eng ENG | 2. Championship | 19 | 18 | 1,618 | 18.0 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.11 | 0.00 | 0.11 | 0.11 | 0.11 | Matches |
| 2021-2022 | 22 | Reading | eng ENG | EFL Cup | 1 | 1 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 22 | Reading | eng ENG | Jr. PL2 — Div. 2 | 1 | 1 | 46 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 23 | Reading | eng ENG | 2. Championship | 38 | 35 | 3,111 | 34.6 | 2 | 1 | 3 | 2 | 0 | 0 | 3 | 0 | 0.06 | 0.03 | 0.09 | 0.06 | 0.09 | Matches |
| 2022-2023 | 23 | Reading | eng ENG | EFL Cup | 1 | 0 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 23 | Reading | eng ENG | FA Cup | 2 | 2 | 180 | 2.0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.50 | 0.50 | 0.00 | 0.50 | Matches |
| 2023-2024 | 24 | Reading | eng ENG | EFL Cup | 1 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 24 | Portsmouth | eng ENG | 3. League One | 1 | 1 | 53 | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 24 | Reading | eng ENG | 3. League One | 10 | 3 | 374 | 4.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 24 | Reading FC | eng ENG | Jr. PL2 | 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 | 25 | Portsmouth | eng ENG | 2. Championship | 12 | 11 | 1,019 | 11.3 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 25 | Portsmouth | 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 | 25 | Charlton Athletic | eng ENG | 3. League One | 10 | 4 | 327 | 3.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 26 | Bradford City | eng ENG | EFL Cup | 1 | 0 | 11 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 26 | Bradford City | eng ENG | FA Cup | 1 | 1 | 85 | 0.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 26 | Bradford City | eng ENG | 3. League One | 7 | 3 | 277 | 3.1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 26 | Aberdeen | sct SCO | 1. Premiership | 3 | 3 | 223 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 8 Seasons | 5 Clubs | 5 Leagues | 152 | 116 | 10,553 | 117.3 | 6 | 4 | 10 | 6 | 0 | 0 | 18 | 2 | 0.05 | 0.03 | 0.09 | 0.05 | 0.09 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Reading (6 Seasons) | 4 Leagues | 116 | 92 | 8,468 | 94.1 | 6 | 4 | 10 | 6 | 0 | 0 | 12 | 1 | 0.06 | 0.04 | 0.11 | 0.06 | 0.11 | ||||
| Reading (5 Seasons) | 2 Leagues | 24 | 21 | 1,801 | 20.0 | 4 | 0 | 4 | 4 | 0 | 0 | 1 | 0 | 0.20 | 0.00 | 0.20 | 0.20 | 0.20 | ||||
| Portsmouth (2 Seasons) | 3 Leagues | 14 | 13 | 1,162 | 12.9 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Charlton Athletic (1 Season) | 1 League | 10 | 4 | 327 | 3.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Bradford City (1 Season) | 3 Leagues | 9 | 4 | 373 | 4.1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Aberdeen (1 Season) | 1 League | 3 | 3 | 223 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Reading FC (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 | ||||
| Championship (6 Seasons) | 107 | 90 | 8,197 | 91.1 | 6 | 3 | 9 | 6 | 0 | 0 | 10 | 0 | 0.07 | 0.03 | 0.10 | 0.07 | 0.10 | |||||
| EFL Cup (6 Seasons) | 7 | 5 | 487 | 5.4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| FA Cup (5 Seasons) | 7 | 7 | 615 | 6.8 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 1 | 0.00 | 0.15 | 0.15 | 0.00 | 0.15 | |||||
| PL2 — Div. 2 (4 Seasons) | 19 | 16 | 1,351 | 15.0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.07 | 0.00 | 0.07 | 0.07 | 0.07 | |||||
| League One (3 Seasons) | 28 | 11 | 1,031 | 11.5 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| PL2 (2 Seasons) | 6 | 6 | 540 | 6.0 | 3 | 0 | 3 | 3 | 0 | 0 | 1 | 0 | 0.50 | 0.00 | 0.50 | 0.50 | 0.50 | |||||
| Premiership (1 Season) | 3 | 3 | 223 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 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 | |||||
| 2016-2017 | 17 | Reading | 1 League | 5 | 5 | 450 | 5.0 | 3 | 0 | 3 | 3 | 0 | 0 | 1 | 0 | 0.60 | 0.00 | 0.60 | 0.60 | 0.60 | |
| 2017-2018 | 18 | Reading | 1 League | 5 | 2 | 194 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2018-2019 | 19 | Reading | 1 League | 11 | 11 | 931 | 10.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | |
| 2018-2019 | 19 | Reading | 1 League | 2 | 1 | 108 | 1.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2019-2020 | 20 | Reading | 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 | |
| 2019-2020 | 20 | Reading | 3 Leagues | 14 | 13 | 1,122 | 12.5 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2020-2021 | 21 | Reading | 3 Leagues | 28 | 18 | 1,745 | 19.4 | 2 | 2 | 4 | 2 | 0 | 0 | 2 | 0 | 0.10 | 0.10 | 0.21 | 0.10 | 0.21 | |
| 2021-2022 | 22 | Reading | 1 League | 1 | 1 | 46 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2021-2022 | 22 | Reading | 2 Leagues | 20 | 19 | 1,663 | 18.5 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.11 | 0.00 | 0.11 | 0.11 | 0.11 | |
| 2022-2023 | 23 | Reading | 3 Leagues | 41 | 37 | 3,336 | 37.1 | 2 | 2 | 4 | 2 | 0 | 0 | 3 | 0 | 0.05 | 0.05 | 0.11 | 0.05 | 0.11 | |
| 2023-2024 | 24 | Reading | 2 Leagues | 11 | 4 | 494 | 5.5 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2023-2024 | 24 | Reading FC | 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 | |
| 2023-2024 | 24 | Portsmouth | 1 League | 1 | 1 | 53 | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2024-2025 | 25 | Portsmouth | 2 Leagues | 13 | 12 | 1,109 | 12.3 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2024-2025 | 25 | Charlton Athletic | 1 League | 10 | 4 | 327 | 3.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2025-2026 | 26 | Bradford City | 3 Leagues | 9 | 4 | 373 | 4.1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2025-2026 | 26 | Aberdeen | 1 League | 3 | 3 | 223 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 8 Seasons | 5 Clubs | 5 Leagues | 152 | 116 | 10,553 | 117.3 | 6 | 4 | 10 | 6 | 0 | 0 | 18 | 2 | 0.05 | 0.03 | 0.09 | 0.05 | 0.09 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Reading (6 Seasons) | 4 Leagues | 116 | 92 | 8,468 | 94.1 | 6 | 4 | 10 | 6 | 0 | 0 | 12 | 1 | 0.06 | 0.04 | 0.11 | 0.06 | 0.11 | |||
| Reading (5 Seasons) | 2 Leagues | 24 | 21 | 1,801 | 20.0 | 4 | 0 | 4 | 4 | 0 | 0 | 1 | 0 | 0.20 | 0.00 | 0.20 | 0.20 | 0.20 | |||
| Portsmouth (2 Seasons) | 3 Leagues | 14 | 13 | 1,162 | 12.9 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Charlton Athletic (1 Season) | 1 League | 10 | 4 | 327 | 3.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Bradford City (1 Season) | 3 Leagues | 9 | 4 | 373 | 4.1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Aberdeen (1 Season) | 1 League | 3 | 3 | 223 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Reading FC (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 | |||
| Championship (6 Seasons) | 107 | 90 | 8,197 | 91.1 | 6 | 3 | 9 | 6 | 0 | 0 | 10 | 0 | 0.07 | 0.03 | 0.10 | 0.07 | 0.10 | ||||
| EFL Cup (6 Seasons) | 7 | 5 | 487 | 5.4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| FA Cup (5 Seasons) | 7 | 7 | 615 | 6.8 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 1 | 0.00 | 0.15 | 0.15 | 0.00 | 0.15 | ||||
| PL2 — Div. 2 (4 Seasons) | 19 | 16 | 1,351 | 15.0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.07 | 0.00 | 0.07 | 0.07 | 0.07 | ||||
| League One (3 Seasons) | 28 | 11 | 1,031 | 11.5 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| PL2 (2 Seasons) | 6 | 6 | 540 | 6.0 | 3 | 0 | 3 | 3 | 0 | 0 | 1 | 0 | 0.50 | 0.00 | 0.50 | 0.50 | 0.50 | ||||
| Premiership (1 Season) | 3 | 3 | 223 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 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 | |||||
| 2016-2017 | 17 | Reading | eng ENG | Jr. PL2 — Div. 1 | 11th | 5 | 5 | 450 | 5.0 | 3 | 0 | 3 | 3 | 0 | 0 | 1 | 0 | 0.60 | 0.00 | 0.60 | 0.60 | 0.60 | Matches |
| 2017-2018 | 18 | Reading | eng ENG | Jr. PL2 — Div. 2 | 5th | 5 | 2 | 194 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 19 | Reading | eng ENG | Jr. PL2 — Div. 2 | 3rd | 11 | 11 | 931 | 10.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | Matches |
| 2018-2019 | 19 | Reading | eng ENG | 2. Championship | 20th | 2 | 1 | 108 | 1.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 20 | Reading | eng ENG | Jr. PL2 — Div. 2 | 9th | 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 | Reading | eng ENG | 2. Championship | 14th | 10 | 9 | 776 | 8.6 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 21 | Reading | eng ENG | 2. Championship | 7th | 26 | 16 | 1,565 | 17.4 | 2 | 2 | 4 | 2 | 0 | 0 | 2 | 0 | 0.12 | 0.12 | 0.23 | 0.12 | 0.23 | Matches |
| 2021-2022 | 22 | Reading | eng ENG | Jr. PL2 — Div. 2 | 14th | 1 | 1 | 46 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 22 | Reading | eng ENG | 2. Championship | 21st | 19 | 18 | 1,618 | 18.0 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.11 | 0.00 | 0.11 | 0.11 | 0.11 | Matches |
| 2022-2023 | 23 | Reading | eng ENG | 2. Championship | 22nd | 38 | 35 | 3,111 | 34.6 | 2 | 1 | 3 | 2 | 0 | 0 | 3 | 0 | 0.06 | 0.03 | 0.09 | 0.06 | 0.09 | Matches |
| 2023-2024 | 24 | Reading | eng ENG | 3. League One | 17th | 10 | 3 | 374 | 4.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 24 | Reading FC | eng ENG | Jr. PL2 | 6th | 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 | 24 | Portsmouth | eng ENG | 3. League One | 1st | 1 | 1 | 53 | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 25 | Portsmouth | eng ENG | 2. Championship | 16th | 12 | 11 | 1,019 | 11.3 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 25 | Charlton Athletic | eng ENG | 3. League One | 4th | 10 | 4 | 327 | 3.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 26 | Bradford City | eng ENG | 3. League One | 4th | 7 | 3 | 277 | 3.1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 26 | Aberdeen | sct SCO | 1. Premiership | 9th | 3 | 3 | 223 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 8 Seasons | 5 Clubs | 3 Leagues | 138 | 104 | 9,451 | 105.0 | 6 | 3 | 9 | 6 | 0 | 0 | 15 | 1 | 0.06 | 0.03 | 0.09 | 0.06 | 0.09 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Reading (6 Seasons) | 2 Leagues | 105 | 82 | 7,552 | 83.9 | 6 | 3 | 9 | 6 | 0 | 0 | 9 | 0 | 0.07 | 0.04 | 0.11 | 0.07 | 0.11 | |||||
| Reading (5 Seasons) | 2 Leagues | 24 | 21 | 1,801 | 20.0 | 4 | 0 | 4 | 4 | 0 | 0 | 1 | 0 | 0.20 | 0.00 | 0.20 | 0.20 | 0.20 | |||||
| Portsmouth (2 Seasons) | 2 Leagues | 13 | 12 | 1,072 | 11.9 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Charlton Athletic (1 Season) | 1 League | 10 | 4 | 327 | 3.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Bradford City (1 Season) | 1 League | 7 | 3 | 277 | 3.1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Aberdeen (1 Season) | 1 League | 3 | 3 | 223 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Reading FC (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 | |||||
| Championship (6 Seasons) | 107 | 90 | 8,197 | 91.1 | 6 | 3 | 9 | 6 | 0 | 0 | 10 | 0 | 0.07 | 0.03 | 0.10 | 0.07 | 0.10 | ||||||
| PL2 — Div. 2 (4 Seasons) | 19 | 16 | 1,351 | 15.0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.07 | 0.00 | 0.07 | 0.07 | 0.07 | ||||||
| League One (3 Seasons) | 28 | 11 | 1,031 | 11.5 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| PL2 (2 Seasons) | 6 | 6 | 540 | 6.0 | 3 | 0 | 3 | 3 | 0 | 0 | 1 | 0 | 0.50 | 0.00 | 0.50 | 0.50 | 0.50 | ||||||
| Premiership (1 Season) | 3 | 3 | 223 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 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 | |||||
| 2019-2020 | 20 | Reading | eng ENG | EFL Cup | 17th | 2 | 2 | 176 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 20 | Reading | eng ENG | FA Cup | 9th | 2 | 2 | 170 | 1.9 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 21 | Reading | eng ENG | EFL Cup | 33rd | 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 | Reading | eng ENG | FA Cup | 33rd | 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 | Reading | eng ENG | EFL Cup | Rd1 | 1 | 1 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 23 | Reading | eng ENG | EFL Cup | Rd1 | 1 | 0 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 23 | Reading | eng ENG | FA Cup | 2 | 2 | 180 | 2.0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.50 | 0.50 | 0.00 | 0.50 | Matches | |
| 2023-2024 | 24 | Reading | eng ENG | EFL Cup | Rd2 | 1 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 25 | Portsmouth | 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 | |
| 2025-2026 | 26 | Bradford City | eng ENG | EFL Cup | Rd3 | 1 | 0 | 11 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 26 | Bradford City | eng ENG | FA Cup | 1 | 1 | 85 | 0.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 7 Seasons | 3 Clubs | 2 Leagues | 14 | 12 | 1,102 | 12.2 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 1 | 0.00 | 0.08 | 0.08 | 0.00 | 0.08 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Reading (5 Seasons) | 2 Leagues | 11 | 10 | 916 | 10.2 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 1 | 0.00 | 0.10 | 0.10 | 0.00 | 0.10 | |||||
| Bradford City (1 Season) | 2 Leagues | 2 | 1 | 96 | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Portsmouth (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 | |||||
| EFL Cup (6 Seasons) | 7 | 5 | 487 | 5.4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| FA Cup (5 Seasons) | 7 | 7 | 615 | 6.8 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 1 | 0.00 | 0.15 | 0.15 | 0.00 | 0.15 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016-2017 | 17 | Reading | eng ENG | Jr. PL2 — Div. 1 | 5.0 | 3 | 0 | 0 | Matches | |||||||
| 2017-2018 | 18 | Reading | eng ENG | Jr. PL2 — Div. 2 | 2.2 | 0 | 0 | 0 | Matches | |||||||
| 2018-2019 | 19 | Reading | eng ENG | 2. Championship | 1.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 19 | Reading | eng ENG | Jr. PL2 — Div. 2 | 10.3 | 1 | 0 | 0 | Matches | |||||||
| 2019-2020 | 20 | Reading | eng ENG | 2. Championship | 8.6 | 0 | 5 | 2 | 40.0 | 0.58 | 0.23 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 20 | Reading | eng ENG | EFL Cup | 2.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 20 | Reading | eng ENG | FA Cup | 1.9 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 20 | Reading | eng ENG | Jr. PL2 — Div. 2 | 2.0 | 0 | 0 | 0 | Matches | |||||||
| 2020-2021 | 21 | Reading | eng ENG | 2. Championship | 17.4 | 2 | 13 | 6 | 46.2 | 0.75 | 0.35 | 0.15 | 0.33 | 0 | 0 | Matches |
| 2020-2021 | 21 | Reading | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2020-2021 | 21 | Reading | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 22 | Reading | eng ENG | 2. Championship | 18.0 | 2 | 15 | 5 | 33.3 | 0.83 | 0.28 | 0.13 | 0.40 | 0 | 0 | Matches |
| 2021-2022 | 22 | Reading | eng ENG | EFL Cup | 0.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 22 | Reading | eng ENG | Jr. PL2 — Div. 2 | 0.5 | 0 | 0 | 0 | Matches | |||||||
| 2022-2023 | 23 | Reading | eng ENG | 2. Championship | 34.6 | 2 | 19 | 4 | 21.1 | 0.55 | 0.12 | 0.11 | 0.50 | 0 | 0 | Matches |
| 2022-2023 | 23 | Reading | eng ENG | EFL Cup | 0.5 | 0 | 1 | 0 | 0.0 | 2.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 23 | Reading | eng ENG | FA Cup | 2.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2023-2024 | 24 | Reading | eng ENG | EFL Cup | 1.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2023-2024 | 24 | Portsmouth | eng ENG | 3. League One | 0.6 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2023-2024 | 24 | Reading | eng ENG | 3. League One | 4.2 | 0 | 1 | 0 | 0.0 | 0.24 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 24 | Reading FC | eng ENG | Jr. PL2 | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2024-2025 | 25 | Portsmouth | eng ENG | 2. Championship | 11.3 | 0 | 4 | 1 | 25.0 | 0.35 | 0.09 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 25 | Portsmouth | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2024-2025 | 25 | Charlton Athletic | eng ENG | 3. League One | 3.6 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2025-2026 | 26 | Bradford City | eng ENG | EFL Cup | 0.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2025-2026 | 26 | Bradford City | eng ENG | FA Cup | 0.9 | 0 | 0 | 0 | Matches | |||||||
| 2025-2026 | 26 | Bradford City | eng ENG | 3. League One | 3.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2025-2026 | 26 | Aberdeen | sct SCO | 1. Premiership | 2.5 | 0 | 1 | 0 | 0.0 | 0.40 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 8 Seasons | 5 Clubs | 5 Leagues | 117.3 | 6 | 59 | 18 | 30.5 | 0.51 | 0.16 | 0.10 | 0.33 | 0 | 0 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Reading (6 Seasons) | 4 Leagues | 94.1 | 6 | 54 | 17 | 31.5 | 0.57 | 0.18 | 0.11 | 0.35 | 0 | 0 | ||||
| Reading (5 Seasons) | 2 Leagues | 20.0 | 4 | 0 | 0 | |||||||||||
| Portsmouth (2 Seasons) | 3 Leagues | 12.9 | 0 | 4 | 1 | 25.0 | 0.34 | 0.08 | 0.00 | 0.00 | 0 | 0 | ||||
| Charlton Athletic (1 Season) | 1 League | 3.6 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||
| Bradford City (1 Season) | 3 Leagues | 4.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||
| Aberdeen (1 Season) | 1 League | 2.5 | 0 | 1 | 0 | 0.0 | 0.40 | 0.00 | 0.00 | 0 | 0 | |||||
| Reading FC (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | |||||||||||
| Championship (6 Seasons) | 91.1 | 6 | 56 | 18 | 32.1 | 0.61 | 0.20 | 0.11 | 0.33 | 0 | 0 | |||||
| EFL Cup (6 Seasons) | 5.4 | 0 | 1 | 0 | 0.0 | 0.18 | 0.00 | 0.00 | 0 | 0 | ||||||
| FA Cup (5 Seasons) | 6.8 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| PL2 — Div. 2 (4 Seasons) | 15.0 | 1 | 0 | 0 | ||||||||||||
| League One (3 Seasons) | 11.5 | 0 | 1 | 0 | 0.0 | 0.09 | 0.00 | 0.00 | 0 | 0 | ||||||
| PL2 (2 Seasons) | 6.0 | 3 | 0 | 0 | ||||||||||||
| Premiership (1 Season) | 2.5 | 0 | 1 | 0 | 0.0 | 0.40 | 0.00 | 0.00 | 0 | 0 | ||||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016-2017 | 17 | Reading | 1 League | 5.0 | 3 | 0 | 0 | ||||||||
| 2017-2018 | 18 | Reading | 1 League | 2.2 | 0 | 0 | 0 | ||||||||
| 2018-2019 | 19 | Reading | 1 League | 10.3 | 1 | 0 | 0 | ||||||||
| 2018-2019 | 19 | Reading | 1 League | 1.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2019-2020 | 20 | Reading | 1 League | 2.0 | 0 | 0 | 0 | ||||||||
| 2019-2020 | 20 | Reading | 3 Leagues | 12.5 | 0 | 5 | 2 | 40.0 | 0.40 | 0.16 | 0.00 | 0.00 | 0 | 0 | |
| 2020-2021 | 21 | Reading | 3 Leagues | 19.4 | 2 | 13 | 6 | 46.2 | 0.67 | 0.31 | 0.15 | 0.33 | 0 | 0 | |
| 2021-2022 | 22 | Reading | 1 League | 0.5 | 0 | 0 | 0 | ||||||||
| 2021-2022 | 22 | Reading | 2 Leagues | 18.5 | 2 | 15 | 5 | 33.3 | 0.81 | 0.27 | 0.13 | 0.40 | 0 | 0 | |
| 2022-2023 | 23 | Reading | 3 Leagues | 37.1 | 2 | 20 | 4 | 20.0 | 0.54 | 0.11 | 0.10 | 0.50 | 0 | 0 | |
| 2023-2024 | 24 | Reading | 2 Leagues | 5.5 | 0 | 1 | 0 | 0.0 | 0.18 | 0.00 | 0.00 | 0 | 0 | ||
| 2023-2024 | 24 | Reading FC | 1 League | 1.0 | 0 | 0 | 0 | ||||||||
| 2023-2024 | 24 | Portsmouth | 1 League | 0.6 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2024-2025 | 25 | Portsmouth | 2 Leagues | 12.3 | 0 | 4 | 1 | 25.0 | 0.35 | 0.09 | 0.00 | 0.00 | 0 | 0 | |
| 2024-2025 | 25 | Charlton Athletic | 1 League | 3.6 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2025-2026 | 26 | Bradford City | 3 Leagues | 4.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2025-2026 | 26 | Aberdeen | 1 League | 2.5 | 0 | 1 | 0 | 0.0 | 0.40 | 0.00 | 0.00 | 0 | 0 | ||
| 8 Seasons | 5 Clubs | 5 Leagues | 117.3 | 6 | 59 | 18 | 30.5 | 0.51 | 0.16 | 0.10 | 0.33 | 0 | 0 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Reading (6 Seasons) | 4 Leagues | 94.1 | 6 | 54 | 17 | 31.5 | 0.57 | 0.18 | 0.11 | 0.35 | 0 | 0 | |||
| Reading (5 Seasons) | 2 Leagues | 20.0 | 4 | 0 | 0 | ||||||||||
| Portsmouth (2 Seasons) | 3 Leagues | 12.9 | 0 | 4 | 1 | 25.0 | 0.34 | 0.08 | 0.00 | 0.00 | 0 | 0 | |||
| Charlton Athletic (1 Season) | 1 League | 3.6 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||
| Bradford City (1 Season) | 3 Leagues | 4.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||
| Aberdeen (1 Season) | 1 League | 2.5 | 0 | 1 | 0 | 0.0 | 0.40 | 0.00 | 0.00 | 0 | 0 | ||||
| Reading FC (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | ||||||||||
| Championship (6 Seasons) | 91.1 | 6 | 56 | 18 | 32.1 | 0.61 | 0.20 | 0.11 | 0.33 | 0 | 0 | ||||
| EFL Cup (6 Seasons) | 5.4 | 0 | 1 | 0 | 0.0 | 0.18 | 0.00 | 0.00 | 0 | 0 | |||||
| FA Cup (5 Seasons) | 6.8 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||
| PL2 — Div. 2 (4 Seasons) | 15.0 | 1 | 0 | 0 | |||||||||||
| League One (3 Seasons) | 11.5 | 0 | 1 | 0 | 0.0 | 0.09 | 0.00 | 0.00 | 0 | 0 | |||||
| PL2 (2 Seasons) | 6.0 | 3 | 0 | 0 | |||||||||||
| Premiership (1 Season) | 2.5 | 0 | 1 | 0 | 0.0 | 0.40 | 0.00 | 0.00 | 0 | 0 | |||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016-2017 | 17 | Reading | eng ENG | Jr. PL2 — Div. 1 | 11th | 5.0 | 3 | 0 | 0 | Matches | |||||||
| 2017-2018 | 18 | Reading | eng ENG | Jr. PL2 — Div. 2 | 5th | 2.2 | 0 | 0 | 0 | Matches | |||||||
| 2018-2019 | 19 | Reading | eng ENG | Jr. PL2 — Div. 2 | 3rd | 10.3 | 1 | 0 | 0 | Matches | |||||||
| 2018-2019 | 19 | Reading | eng ENG | 2. Championship | 20th | 1.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 20 | Reading | eng ENG | Jr. PL2 — Div. 2 | 9th | 2.0 | 0 | 0 | 0 | Matches | |||||||
| 2019-2020 | 20 | Reading | eng ENG | 2. Championship | 14th | 8.6 | 0 | 5 | 2 | 40.0 | 0.58 | 0.23 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 21 | Reading | eng ENG | 2. Championship | 7th | 17.4 | 2 | 13 | 6 | 46.2 | 0.75 | 0.35 | 0.15 | 0.33 | 0 | 0 | Matches |
| 2021-2022 | 22 | Reading | eng ENG | Jr. PL2 — Div. 2 | 14th | 0.5 | 0 | 0 | 0 | Matches | |||||||
| 2021-2022 | 22 | Reading | eng ENG | 2. Championship | 21st | 18.0 | 2 | 15 | 5 | 33.3 | 0.83 | 0.28 | 0.13 | 0.40 | 0 | 0 | Matches |
| 2022-2023 | 23 | Reading | eng ENG | 2. Championship | 22nd | 34.6 | 2 | 19 | 4 | 21.1 | 0.55 | 0.12 | 0.11 | 0.50 | 0 | 0 | Matches |
| 2023-2024 | 24 | Reading | eng ENG | 3. League One | 17th | 4.2 | 0 | 1 | 0 | 0.0 | 0.24 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 24 | Reading FC | eng ENG | Jr. PL2 | 6th | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2023-2024 | 24 | Portsmouth | eng ENG | 3. League One | 1st | 0.6 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2024-2025 | 25 | Portsmouth | eng ENG | 2. Championship | 16th | 11.3 | 0 | 4 | 1 | 25.0 | 0.35 | 0.09 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 25 | Charlton Athletic | eng ENG | 3. League One | 4th | 3.6 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2025-2026 | 26 | Bradford City | eng ENG | 3. League One | 4th | 3.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2025-2026 | 26 | Aberdeen | sct SCO | 1. Premiership | 9th | 2.5 | 0 | 1 | 0 | 0.0 | 0.40 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 8 Seasons | 5 Clubs | 3 Leagues | 105.0 | 6 | 58 | 18 | 31.0 | 0.55 | 0.17 | 0.10 | 0.33 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Reading (6 Seasons) | 2 Leagues | 83.9 | 6 | 53 | 17 | 32.1 | 0.63 | 0.20 | 0.11 | 0.35 | 0 | 0 | |||||
| Reading (5 Seasons) | 2 Leagues | 20.0 | 4 | 0 | 0 | ||||||||||||
| Portsmouth (2 Seasons) | 2 Leagues | 11.9 | 0 | 4 | 1 | 25.0 | 0.34 | 0.08 | 0.00 | 0.00 | 0 | 0 | |||||
| Charlton Athletic (1 Season) | 1 League | 3.6 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Bradford City (1 Season) | 1 League | 3.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Aberdeen (1 Season) | 1 League | 2.5 | 0 | 1 | 0 | 0.0 | 0.40 | 0.00 | 0.00 | 0 | 0 | ||||||
| Reading FC (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | ||||||||||||
| Championship (6 Seasons) | 91.1 | 6 | 56 | 18 | 32.1 | 0.61 | 0.20 | 0.11 | 0.33 | 0 | 0 | ||||||
| PL2 — Div. 2 (4 Seasons) | 15.0 | 1 | 0 | 0 | |||||||||||||
| League One (3 Seasons) | 11.5 | 0 | 1 | 0 | 0.0 | 0.09 | 0.00 | 0.00 | 0 | 0 | |||||||
| PL2 (2 Seasons) | 6.0 | 3 | 0 | 0 | |||||||||||||
| Premiership (1 Season) | 2.5 | 0 | 1 | 0 | 0.0 | 0.40 | 0.00 | 0.00 | 0 | 0 | |||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2019-2020 | 20 | Reading | eng ENG | EFL Cup | 17th | 2.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 20 | Reading | eng ENG | FA Cup | 9th | 1.9 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2020-2021 | 21 | Reading | eng ENG | EFL Cup | 33rd | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2020-2021 | 21 | Reading | eng ENG | FA Cup | 33rd | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 22 | Reading | eng ENG | EFL Cup | Rd1 | 0.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2022-2023 | 23 | Reading | eng ENG | EFL Cup | Rd1 | 0.5 | 0 | 1 | 0 | 0.0 | 2.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 23 | Reading | eng ENG | FA Cup | 2.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | ||||
| 2023-2024 | 24 | Reading | eng ENG | EFL Cup | Rd2 | 1.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2024-2025 | 25 | Portsmouth | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | Matches | ||||||||
| 2025-2026 | 26 | Bradford City | eng ENG | EFL Cup | Rd3 | 0.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2025-2026 | 26 | Bradford City | eng ENG | FA Cup | 0.9 | 0 | 0 | 0 | Matches | ||||||||
| 7 Seasons | 3 Clubs | 2 Leagues | 12.2 | 0 | 1 | 0 | 0.0 | 0.10 | 0.00 | 0.00 | 0 | 0 | |||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Reading (5 Seasons) | 2 Leagues | 10.2 | 0 | 1 | 0 | 0.0 | 0.10 | 0.00 | 0.00 | 0 | 0 | ||||||
| Bradford City (1 Season) | 2 Leagues | 1.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Portsmouth (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | ||||||||||||
| EFL Cup (6 Seasons) | 5.4 | 0 | 1 | 0 | 0.0 | 0.18 | 0.00 | 0.00 | 0 | 0 | |||||||
| FA Cup (5 Seasons) | 6.8 | 0 | 0 | 0 | 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 | |||||||
| 2016-2017 | 17 | Reading | eng ENG | Jr. PL2 — Div. 1 | 5 | 450 | 90 | 22.7 | 5.0 | 5 | 90 | 5 | 0 | 0 | 1.20 | 10 | 14 | -4 | -0.80 | +0.14 | Matches | |
| 2017-2018 | 18 | Reading | eng ENG | Jr. PL2 — Div. 2 | 5 | 194 | 39 | 11.3 | 2.2 | 2 | 49 | 0 | 3 | 32 | 1 | 1.67 | 6 | 7 | -1 | -0.46 | -0.17 | Matches |
| 2018-2019 | 19 | Reading | eng ENG | 2. Championship | 2 | 108 | 54 | 2.6 | 1.2 | 1 | 91 | 1 | 1 | 17 | 6 | 1.00 | 1 | 1 | 0 | 0.00 | +0.38 | Matches |
| 2018-2019 | 19 | Reading | eng ENG | Jr. PL2 — Div. 2 | 11 | 931 | 85 | 47.0 | 10.3 | 11 | 85 | 9 | 0 | 0 | 2.25 | 29 | 12 | +17 | +1.64 | +2.07 | Matches | |
| 2019-2020 | 20 | Reading | eng ENG | 2. Championship | 10 | 776 | 78 | 18.7 | 8.6 | 9 | 77 | 6 | 1 | 79 | 12 | 1.10 | 12 | 10 | +2 | +0.23 | +0.26 | Matches |
| 2019-2020 | 20 | Reading | eng ENG | EFL Cup | 2 | 176 | 88 | 53.3 | 2.0 | 2 | 88 | 1 | 0 | 0 | 1.50 | 1 | 2 | -1 | -0.51 | -2.26 | Matches | |
| 2019-2020 | 20 | Reading | eng ENG | FA Cup | 2 | 170 | 85 | 33.3 | 1.9 | 2 | 85 | 1 | 0 | 0 | 2.00 | 3 | 1 | +2 | +1.06 | +1.32 | Matches | |
| 2019-2020 | 20 | Reading | eng ENG | Jr. PL2 — Div. 2 | 2 | 180 | 90 | 11.1 | 2.0 | 2 | 90 | 2 | 0 | 0 | 2.00 | 4 | 3 | +1 | +0.50 | +0.69 | Matches | |
| 2020-2021 | 21 | Reading | eng ENG | 2. Championship | 26 | 1,565 | 60 | 37.8 | 17.4 | 16 | 90 | 16 | 10 | 13 | 8 | 1.77 | 22 | 19 | +3 | +0.17 | 0.00 | Matches |
| 2020-2021 | 21 | Reading | eng ENG | EFL Cup | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | -3.00 | Matches | |
| 2020-2021 | 21 | Reading | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2021-2022 | 22 | Reading | eng ENG | 2. Championship | 19 | 1,618 | 85 | 39.1 | 18.0 | 18 | 88 | 17 | 1 | 30 | 3 | 1.11 | 22 | 33 | -11 | -0.61 | +0.17 | Matches |
| 2021-2022 | 22 | Reading | eng ENG | EFL Cup | 1 | 45 | 45 | 50.0 | 0.5 | 1 | 45 | 0 | 0 | 0 | 0.00 | 0 | 1 | -1 | -2.00 | +2.00 | Matches | |
| 2021-2022 | 22 | Reading | eng ENG | Jr. PL2 — Div. 2 | 1 | 46 | 46 | 2.0 | 0.5 | 1 | 46 | 0 | 0 | 0 | 1.00 | 1 | 1 | 0 | 0.00 | +0.94 | Matches | |
| 2022-2023 | 23 | Reading | eng ENG | 2. Championship | 38 | 3,111 | 82 | 75.1 | 34.6 | 35 | 85 | 27 | 3 | 45 | 0 | 1.11 | 33 | 55 | -22 | -0.64 | -0.64 | Matches |
| 2022-2023 | 23 | Reading | eng ENG | EFL Cup | 1 | 45 | 45 | 50.0 | 0.5 | 0 | 0 | 1 | 45 | 0 | 0.00 | 1 | 1 | 0 | 0.00 | +2.00 | Matches | |
| 2022-2023 | 23 | Reading | eng ENG | FA Cup | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 3 | 3 | 0 | 0.00 | Matches | ||
| 2023-2024 | 24 | Reading | eng ENG | EFL Cup | 1 | 120 | 120 | 57.1 | 1.3 | 1 | 120 | 1 | 0 | 0 | 1.00 | 2 | 2 | 0 | 0.00 | -4.00 | Matches | |
| 2023-2024 | 24 | Portsmouth | eng ENG | 3. League One | 1 | 53 | 53 | 1.3 | 0.6 | 1 | 53 | 0 | 0 | 0 | 3.00 | 2 | 0 | +2 | +3.40 | +2.63 | Matches | |
| 2023-2024 | 24 | Reading | eng ENG | 3. League One | 10 | 374 | 37 | 9.0 | 4.2 | 3 | 75 | 2 | 7 | 21 | 2 | 1.40 | 3 | 4 | -1 | -0.24 | -0.22 | Matches |
| 2023-2024 | 24 | Reading FC | eng ENG | Jr. PL2 | 1 | 90 | 90 | 5.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 3.00 | 2 | 1 | +1 | +1.00 | +1.05 | Matches | |
| 2024-2025 | 25 | Portsmouth | eng ENG | 2. Championship | 12 | 1,019 | 85 | 24.6 | 11.3 | 11 | 89 | 10 | 1 | 45 | 13 | 0.58 | 7 | 22 | -15 | -1.32 | -1.38 | Matches |
| 2024-2025 | 25 | Portsmouth | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.00 | Matches | ||
| 2024-2025 | 25 | Charlton Athletic | eng ENG | 3. League One | 10 | 327 | 33 | 7.9 | 3.6 | 4 | 71 | 2 | 6 | 7 | 5 | 2.50 | 4 | 5 | -1 | -0.28 | -0.87 | Matches |
| 2025-2026 | 26 | Bradford City | eng ENG | EFL Cup | 1 | 11 | 11 | 4.1 | 0.1 | 0 | 0 | 1 | 11 | 0 | 0.00 | 0 | 1 | -1 | -8.18 | -8.88 | Matches | |
| 2025-2026 | 26 | Bradford City | eng ENG | FA Cup | 1 | 85 | 85 | 94.4 | 0.9 | 1 | 85 | 0 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.06 | -1.06 | Matches | |
| 2025-2026 | 26 | Bradford City | eng ENG | 3. League One | 7 | 277 | 40 | 6.7 | 3.1 | 3 | 81 | 1 | 4 | 8 | 7 | 2.43 | 5 | 5 | 0 | 0.00 | -0.16 | Matches |
| 2025-2026 | 26 | Aberdeen | sct SCO | 1. Premiership | 3 | 223 | 74 | 6.5 | 2.5 | 3 | 74 | 2 | 0 | 0 | 0.33 | 2 | 5 | -3 | -1.21 | -0.87 | Matches | |
| 8 Seasons | 5 Clubs | 5 Leagues | 152 | 10,553 | 69 | 22.5 | 117.3 | 116 | 85 | 92 | 36 | 20 | 56 | 1.32 | 123 | 175 | -52 | -0.44 | -0.51 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Reading (6 Seasons) | 4 Leagues | 116 | 8,468 | 73 | 31.9 | 94.1 | 92 | 86 | 76 | 24 | 24 | 31 | 1.27 | 103 | 134 | -31 | -0.33 | -0.17 | ||||
| Reading (5 Seasons) | 2 Leagues | 24 | 1,801 | 75 | 18.7 | 20.0 | 21 | 81 | 16 | 3 | 32 | 1 | 1.84 | 50 | 37 | +13 | +0.65 | +1.26 | ||||
| Portsmouth (2 Seasons) | 3 Leagues | 14 | 1,162 | 83 | 13.9 | 12.9 | 13 | 86 | 11 | 1 | 45 | 13 | 0.71 | 9 | 24 | -15 | -1.16 | -1.62 | ||||
| Charlton Athletic (1 Season) | 1 League | 10 | 327 | 33 | 7.9 | 3.6 | 4 | 71 | 2 | 6 | 7 | 5 | 2.50 | 4 | 5 | -1 | -0.28 | -0.87 | ||||
| Bradford City (1 Season) | 3 Leagues | 9 | 373 | 41 | 8.3 | 4.1 | 4 | 82 | 1 | 5 | 9 | 7 | 1.89 | 5 | 7 | -2 | -0.48 | -0.68 | ||||
| Aberdeen (1 Season) | 1 League | 3 | 223 | 74 | 6.5 | 2.5 | 3 | 74 | 2 | 0 | 0 | 0.33 | 2 | 5 | -3 | -1.21 | -0.87 | |||||
| Reading FC (1 Season) | 1 League | 1 | 90 | 90 | 5.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 3.00 | 2 | 1 | +1 | +1.00 | +1.05 | |||||
| Championship (6 Seasons) | 107 | 8,197 | 77 | 33.0 | 91.1 | 90 | 86 | 77 | 17 | 25 | 42 | 1.21 | 97 | 140 | -43 | -0.47 | -0.29 | |||||
| EFL Cup (6 Seasons) | 7 | 487 | 70 | 41.6 | 5.4 | 5 | 86 | 3 | 2 | 28 | 0 | 0.57 | 4 | 8 | -4 | -0.74 | -1.79 | |||||
| FA Cup (5 Seasons) | 7 | 615 | 88 | 64.1 | 6.8 | 7 | 88 | 5 | 0 | 0 | 1.00 | 6 | 8 | -2 | -0.29 | -0.03 | ||||||
| PL2 — Div. 2 (4 Seasons) | 19 | 1,351 | 71 | 17.7 | 15.0 | 16 | 78 | 11 | 3 | 32 | 1 | 2.01 | 40 | 23 | +17 | +1.13 | +1.66 | |||||
| League One (3 Seasons) | 28 | 1,031 | 37 | 6.2 | 11.5 | 11 | 73 | 5 | 17 | 13 | 14 | 2.11 | 14 | 14 | 0 | 0.00 | -0.38 | |||||
| PL2 (2 Seasons) | 6 | 540 | 90 | 14.3 | 6.0 | 6 | 90 | 6 | 0 | 0 | 1.50 | 12 | 15 | -3 | -0.50 | -0.03 | ||||||
| Premiership (1 Season) | 3 | 223 | 74 | 6.5 | 2.5 | 3 | 74 | 2 | 0 | 0 | 0.33 | 2 | 5 | -3 | -1.21 | -0.87 | ||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016-2017 | 17 | Reading | 1 League | 5 | 450 | 90 | 22.7 | 5.0 | 5 | 90 | 5 | 0 | 0 | 1.20 | 10 | 14 | -4 | -0.80 | +0.14 | ||
| 2017-2018 | 18 | Reading | 1 League | 5 | 194 | 39 | 11.3 | 2.2 | 2 | 49 | 0 | 3 | 32 | 1 | 1.67 | 6 | 7 | -1 | -0.46 | -0.17 | |
| 2018-2019 | 19 | Reading | 1 League | 11 | 931 | 85 | 47.0 | 10.3 | 11 | 85 | 9 | 0 | 0 | 2.25 | 29 | 12 | +17 | +1.64 | +2.07 | ||
| 2018-2019 | 19 | Reading | 1 League | 2 | 108 | 54 | 2.6 | 1.2 | 1 | 91 | 1 | 1 | 17 | 6 | 1.00 | 1 | 1 | 0 | 0.00 | +0.38 | |
| 2019-2020 | 20 | Reading | 1 League | 2 | 180 | 90 | 11.1 | 2.0 | 2 | 90 | 2 | 0 | 0 | 2.00 | 4 | 3 | +1 | +0.50 | +0.69 | ||
| 2019-2020 | 20 | Reading | 3 Leagues | 14 | 1,122 | 80 | 22.5 | 12.5 | 13 | 80 | 8 | 1 | 79 | 12 | 1.29 | 16 | 13 | +3 | +0.24 | +0.22 | |
| 2020-2021 | 21 | Reading | 3 Leagues | 28 | 1,745 | 62 | 39.6 | 19.4 | 18 | 90 | 18 | 10 | 13 | 8 | 1.64 | 22 | 21 | +1 | +0.05 | -0.18 | |
| 2021-2022 | 22 | Reading | 1 League | 1 | 46 | 46 | 2.0 | 0.5 | 1 | 46 | 0 | 0 | 0 | 1.00 | 1 | 1 | 0 | 0.00 | +0.94 | ||
| 2021-2022 | 22 | Reading | 2 Leagues | 20 | 1,663 | 83 | 39.3 | 18.5 | 19 | 86 | 17 | 1 | 30 | 3 | 1.05 | 22 | 34 | -12 | -0.65 | +0.19 | |
| 2022-2023 | 23 | Reading | 3 Leagues | 41 | 3,336 | 81 | 75.6 | 37.1 | 37 | 85 | 29 | 4 | 45 | 0 | 1.10 | 37 | 59 | -22 | -0.59 | -0.51 | |
| 2023-2024 | 24 | Reading | 2 Leagues | 11 | 494 | 45 | 11.4 | 5.5 | 4 | 86 | 3 | 7 | 21 | 2 | 1.36 | 5 | 6 | -1 | -0.18 | -0.25 | |
| 2023-2024 | 24 | Reading FC | 1 League | 1 | 90 | 90 | 5.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 3.00 | 2 | 1 | +1 | +1.00 | +1.05 | ||
| 2023-2024 | 24 | Portsmouth | 1 League | 1 | 53 | 53 | 1.3 | 0.6 | 1 | 53 | 0 | 0 | 0 | 3.00 | 2 | 0 | +2 | +3.40 | +2.63 | ||
| 2024-2025 | 25 | Portsmouth | 2 Leagues | 13 | 1,109 | 85 | 26.2 | 12.3 | 12 | 89 | 11 | 1 | 45 | 13 | 0.54 | 7 | 24 | -17 | -1.38 | -1.44 | |
| 2024-2025 | 25 | Charlton Athletic | 1 League | 10 | 327 | 33 | 7.9 | 3.6 | 4 | 71 | 2 | 6 | 7 | 5 | 2.50 | 4 | 5 | -1 | -0.28 | -0.87 | |
| 2025-2026 | 26 | Bradford City | 3 Leagues | 9 | 373 | 41 | 8.3 | 4.1 | 4 | 82 | 1 | 5 | 9 | 7 | 1.89 | 5 | 7 | -2 | -0.48 | -0.68 | |
| 2025-2026 | 26 | Aberdeen | 1 League | 3 | 223 | 74 | 6.5 | 2.5 | 3 | 74 | 2 | 0 | 0 | 0.33 | 2 | 5 | -3 | -1.21 | -0.87 | ||
| 8 Seasons | 5 Clubs | 5 Leagues | 152 | 10,553 | 69 | 22.5 | 117.3 | 116 | 85 | 92 | 36 | 20 | 56 | 1.32 | 123 | 175 | -52 | -0.44 | -0.51 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Reading (6 Seasons) | 4 Leagues | 116 | 8,468 | 73 | 31.9 | 94.1 | 92 | 86 | 76 | 24 | 24 | 31 | 1.27 | 103 | 134 | -31 | -0.33 | -0.17 | |||
| Reading (5 Seasons) | 2 Leagues | 24 | 1,801 | 75 | 18.7 | 20.0 | 21 | 81 | 16 | 3 | 32 | 1 | 1.84 | 50 | 37 | +13 | +0.65 | +1.26 | |||
| Portsmouth (2 Seasons) | 3 Leagues | 14 | 1,162 | 83 | 13.9 | 12.9 | 13 | 86 | 11 | 1 | 45 | 13 | 0.71 | 9 | 24 | -15 | -1.16 | -1.62 | |||
| Charlton Athletic (1 Season) | 1 League | 10 | 327 | 33 | 7.9 | 3.6 | 4 | 71 | 2 | 6 | 7 | 5 | 2.50 | 4 | 5 | -1 | -0.28 | -0.87 | |||
| Bradford City (1 Season) | 3 Leagues | 9 | 373 | 41 | 8.3 | 4.1 | 4 | 82 | 1 | 5 | 9 | 7 | 1.89 | 5 | 7 | -2 | -0.48 | -0.68 | |||
| Aberdeen (1 Season) | 1 League | 3 | 223 | 74 | 6.5 | 2.5 | 3 | 74 | 2 | 0 | 0 | 0.33 | 2 | 5 | -3 | -1.21 | -0.87 | ||||
| Reading FC (1 Season) | 1 League | 1 | 90 | 90 | 5.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 3.00 | 2 | 1 | +1 | +1.00 | +1.05 | ||||
| Championship (6 Seasons) | 107 | 8,197 | 77 | 33.0 | 91.1 | 90 | 86 | 77 | 17 | 25 | 42 | 1.21 | 97 | 140 | -43 | -0.47 | -0.29 | ||||
| EFL Cup (6 Seasons) | 7 | 487 | 70 | 41.6 | 5.4 | 5 | 86 | 3 | 2 | 28 | 0 | 0.57 | 4 | 8 | -4 | -0.74 | -1.79 | ||||
| FA Cup (5 Seasons) | 7 | 615 | 88 | 64.1 | 6.8 | 7 | 88 | 5 | 0 | 0 | 1.00 | 6 | 8 | -2 | -0.29 | -0.03 | |||||
| PL2 — Div. 2 (4 Seasons) | 19 | 1,351 | 71 | 17.7 | 15.0 | 16 | 78 | 11 | 3 | 32 | 1 | 2.01 | 40 | 23 | +17 | +1.13 | +1.66 | ||||
| League One (3 Seasons) | 28 | 1,031 | 37 | 6.2 | 11.5 | 11 | 73 | 5 | 17 | 13 | 14 | 2.11 | 14 | 14 | 0 | 0.00 | -0.38 | ||||
| PL2 (2 Seasons) | 6 | 540 | 90 | 14.3 | 6.0 | 6 | 90 | 6 | 0 | 0 | 1.50 | 12 | 15 | -3 | -0.50 | -0.03 | |||||
| Premiership (1 Season) | 3 | 223 | 74 | 6.5 | 2.5 | 3 | 74 | 2 | 0 | 0 | 0.33 | 2 | 5 | -3 | -1.21 | -0.87 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016-2017 | 17 | Reading | eng ENG | Jr. PL2 — Div. 1 | 11th | 5 | 450 | 90 | 22.7 | 5.0 | 5 | 90 | 5 | 0 | 0 | 1.20 | 10 | 14 | -4 | -0.80 | +0.14 | Matches | |
| 2017-2018 | 18 | Reading | eng ENG | Jr. PL2 — Div. 2 | 5th | 5 | 194 | 39 | 11.3 | 2.2 | 2 | 49 | 0 | 3 | 32 | 1 | 1.67 | 6 | 7 | -1 | -0.46 | -0.17 | Matches |
| 2018-2019 | 19 | Reading | eng ENG | Jr. PL2 — Div. 2 | 3rd | 11 | 931 | 85 | 47.0 | 10.3 | 11 | 85 | 9 | 0 | 0 | 2.25 | 29 | 12 | +17 | +1.64 | +2.07 | Matches | |
| 2018-2019 | 19 | Reading | eng ENG | 2. Championship | 20th | 2 | 108 | 54 | 2.6 | 1.2 | 1 | 91 | 1 | 1 | 17 | 6 | 1.00 | 1 | 1 | 0 | 0.00 | +0.38 | Matches |
| 2019-2020 | 20 | Reading | eng ENG | Jr. PL2 — Div. 2 | 9th | 2 | 180 | 90 | 11.1 | 2.0 | 2 | 90 | 2 | 0 | 0 | 2.00 | 4 | 3 | +1 | +0.50 | +0.69 | Matches | |
| 2019-2020 | 20 | Reading | eng ENG | 2. Championship | 14th | 10 | 776 | 78 | 18.7 | 8.6 | 9 | 77 | 6 | 1 | 79 | 12 | 1.10 | 12 | 10 | +2 | +0.23 | +0.26 | Matches |
| 2020-2021 | 21 | Reading | eng ENG | 2. Championship | 7th | 26 | 1,565 | 60 | 37.8 | 17.4 | 16 | 90 | 16 | 10 | 13 | 8 | 1.77 | 22 | 19 | +3 | +0.17 | 0.00 | Matches |
| 2021-2022 | 22 | Reading | eng ENG | Jr. PL2 — Div. 2 | 14th | 1 | 46 | 46 | 2.0 | 0.5 | 1 | 46 | 0 | 0 | 0 | 1.00 | 1 | 1 | 0 | 0.00 | +0.94 | Matches | |
| 2021-2022 | 22 | Reading | eng ENG | 2. Championship | 21st | 19 | 1,618 | 85 | 39.1 | 18.0 | 18 | 88 | 17 | 1 | 30 | 3 | 1.11 | 22 | 33 | -11 | -0.61 | +0.17 | Matches |
| 2022-2023 | 23 | Reading | eng ENG | 2. Championship | 22nd | 38 | 3,111 | 82 | 75.1 | 34.6 | 35 | 85 | 27 | 3 | 45 | 0 | 1.11 | 33 | 55 | -22 | -0.64 | -0.64 | Matches |
| 2023-2024 | 24 | Reading | eng ENG | 3. League One | 17th | 10 | 374 | 37 | 9.0 | 4.2 | 3 | 75 | 2 | 7 | 21 | 2 | 1.40 | 3 | 4 | -1 | -0.24 | -0.22 | Matches |
| 2023-2024 | 24 | Reading FC | eng ENG | Jr. PL2 | 6th | 1 | 90 | 90 | 5.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 3.00 | 2 | 1 | +1 | +1.00 | +1.05 | Matches | |
| 2023-2024 | 24 | Portsmouth | eng ENG | 3. League One | 1st | 1 | 53 | 53 | 1.3 | 0.6 | 1 | 53 | 0 | 0 | 0 | 3.00 | 2 | 0 | +2 | +3.40 | +2.63 | Matches | |
| 2024-2025 | 25 | Portsmouth | eng ENG | 2. Championship | 16th | 12 | 1,019 | 85 | 24.6 | 11.3 | 11 | 89 | 10 | 1 | 45 | 13 | 0.58 | 7 | 22 | -15 | -1.32 | -1.38 | Matches |
| 2024-2025 | 25 | Charlton Athletic | eng ENG | 3. League One | 4th | 10 | 327 | 33 | 7.9 | 3.6 | 4 | 71 | 2 | 6 | 7 | 5 | 2.50 | 4 | 5 | -1 | -0.28 | -0.87 | Matches |
| 2025-2026 | 26 | Bradford City | eng ENG | 3. League One | 4th | 7 | 277 | 40 | 6.7 | 3.1 | 3 | 81 | 1 | 4 | 8 | 7 | 2.43 | 5 | 5 | 0 | 0.00 | -0.16 | Matches |
| 2025-2026 | 26 | Aberdeen | sct SCO | 1. Premiership | 9th | 3 | 223 | 74 | 6.5 | 2.5 | 3 | 74 | 2 | 0 | 0 | 0.33 | 2 | 5 | -3 | -1.21 | -0.87 | Matches | |
| 8 Seasons | 5 Clubs | 3 Leagues | 138 | 9,451 | 68 | 21.1 | 105.0 | 104 | 85 | 84 | 34 | 19 | 56 | 1.37 | 113 | 159 | -46 | -0.44 | -0.49 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Reading (6 Seasons) | 2 Leagues | 105 | 7,552 | 72 | 30.4 | 83.9 | 82 | 86 | 69 | 23 | 23 | 31 | 1.30 | 93 | 122 | -29 | -0.35 | -0.16 | |||||
| Reading (5 Seasons) | 2 Leagues | 24 | 1,801 | 75 | 18.7 | 20.0 | 21 | 81 | 16 | 3 | 32 | 1 | 1.84 | 50 | 37 | +13 | +0.65 | +1.26 | |||||
| Portsmouth (2 Seasons) | 2 Leagues | 13 | 1,072 | 82 | 12.9 | 11.9 | 12 | 86 | 10 | 1 | 45 | 13 | 0.77 | 9 | 22 | -13 | -1.09 | -1.55 | |||||
| Charlton Athletic (1 Season) | 1 League | 10 | 327 | 33 | 7.9 | 3.6 | 4 | 71 | 2 | 6 | 7 | 5 | 2.50 | 4 | 5 | -1 | -0.28 | -0.87 | |||||
| Bradford City (1 Season) | 1 League | 7 | 277 | 40 | 6.7 | 3.1 | 3 | 81 | 1 | 4 | 8 | 7 | 2.43 | 5 | 5 | 0 | 0.00 | -0.16 | |||||
| Aberdeen (1 Season) | 1 League | 3 | 223 | 74 | 6.5 | 2.5 | 3 | 74 | 2 | 0 | 0 | 0.33 | 2 | 5 | -3 | -1.21 | -0.87 | ||||||
| Reading FC (1 Season) | 1 League | 1 | 90 | 90 | 5.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 3.00 | 2 | 1 | +1 | +1.00 | +1.05 | ||||||
| Championship (6 Seasons) | 107 | 8,197 | 77 | 33.0 | 91.1 | 90 | 86 | 77 | 17 | 25 | 42 | 1.21 | 97 | 140 | -43 | -0.47 | -0.29 | ||||||
| PL2 — Div. 2 (4 Seasons) | 19 | 1,351 | 71 | 17.7 | 15.0 | 16 | 78 | 11 | 3 | 32 | 1 | 2.01 | 40 | 23 | +17 | +1.13 | +1.66 | ||||||
| League One (3 Seasons) | 28 | 1,031 | 37 | 6.2 | 11.5 | 11 | 73 | 5 | 17 | 13 | 14 | 2.11 | 14 | 14 | 0 | 0.00 | -0.38 | ||||||
| PL2 (2 Seasons) | 6 | 540 | 90 | 14.3 | 6.0 | 6 | 90 | 6 | 0 | 0 | 1.50 | 12 | 15 | -3 | -0.50 | -0.03 | |||||||
| Premiership (1 Season) | 3 | 223 | 74 | 6.5 | 2.5 | 3 | 74 | 2 | 0 | 0 | 0.33 | 2 | 5 | -3 | -1.21 | -0.87 | |||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2019-2020 | 20 | Reading | eng ENG | EFL Cup | 17th | 2 | 176 | 88 | 53.3 | 2.0 | 2 | 88 | 1 | 0 | 0 | 1.50 | 1 | 2 | -1 | -0.51 | -2.26 | Matches | |
| 2019-2020 | 20 | Reading | eng ENG | FA Cup | 9th | 2 | 170 | 85 | 33.3 | 1.9 | 2 | 85 | 1 | 0 | 0 | 2.00 | 3 | 1 | +2 | +1.06 | +1.32 | Matches | |
| 2020-2021 | 21 | Reading | eng ENG | EFL Cup | 33rd | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | -3.00 | Matches | |
| 2020-2021 | 21 | Reading | eng ENG | FA Cup | 33rd | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2021-2022 | 22 | Reading | eng ENG | EFL Cup | Rd1 | 1 | 45 | 45 | 50.0 | 0.5 | 1 | 45 | 0 | 0 | 0 | 0.00 | 0 | 1 | -1 | -2.00 | +2.00 | Matches | |
| 2022-2023 | 23 | Reading | eng ENG | EFL Cup | Rd1 | 1 | 45 | 45 | 50.0 | 0.5 | 0 | 0 | 1 | 45 | 0 | 0.00 | 1 | 1 | 0 | 0.00 | +2.00 | Matches | |
| 2022-2023 | 23 | Reading | eng ENG | FA Cup | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 3 | 3 | 0 | 0.00 | Matches | |||
| 2023-2024 | 24 | Reading | eng ENG | EFL Cup | Rd2 | 1 | 120 | 120 | 57.1 | 1.3 | 1 | 120 | 1 | 0 | 0 | 1.00 | 2 | 2 | 0 | 0.00 | -4.00 | Matches | |
| 2024-2025 | 25 | Portsmouth | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.00 | Matches | |||
| 2025-2026 | 26 | Bradford City | eng ENG | EFL Cup | Rd3 | 1 | 11 | 11 | 4.1 | 0.1 | 0 | 0 | 1 | 11 | 0 | 0.00 | 0 | 1 | -1 | -8.18 | -8.88 | Matches | |
| 2025-2026 | 26 | Bradford City | eng ENG | FA Cup | 1 | 85 | 85 | 94.4 | 0.9 | 1 | 85 | 0 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.06 | -1.06 | Matches | ||
| 7 Seasons | 3 Clubs | 2 Leagues | 14 | 1,102 | 79 | 51.7 | 12.2 | 12 | 87 | 8 | 2 | 28 | 0 | 0.79 | 10 | 16 | -6 | -0.49 | -1.10 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Reading (5 Seasons) | 2 Leagues | 11 | 916 | 83 | 54.5 | 10.2 | 10 | 87 | 7 | 1 | 45 | 0 | 1.00 | 10 | 12 | -2 | -0.20 | -0.79 | |||||
| Bradford City (1 Season) | 2 Leagues | 2 | 96 | 48 | 26.7 | 1.1 | 1 | 85 | 0 | 1 | 11 | 0 | 0.00 | 0 | 2 | -2 | -1.87 | -2.56 | |||||
| Portsmouth (1 Season) | 1 League | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.00 | |||||||
| EFL Cup (6 Seasons) | 7 | 487 | 70 | 41.6 | 5.4 | 5 | 86 | 3 | 2 | 28 | 0 | 0.57 | 4 | 8 | -4 | -0.74 | -1.79 | ||||||
| FA Cup (5 Seasons) | 7 | 615 | 88 | 64.1 | 6.8 | 7 | 88 | 5 | 0 | 0 | 1.00 | 6 | 8 | -2 | -0.29 | -0.03 | |||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2016-2017 | 17 | Reading | eng ENG | Jr. PL2 — Div. 1 | 5.0 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 18 | Reading | eng ENG | Jr. PL2 — Div. 2 | 2.2 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 19 | Reading | eng ENG | 2. Championship | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 19 | Reading | eng ENG | Jr. PL2 — Div. 2 | 10.3 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 20 | Reading | eng ENG | 2. Championship | 8.6 | 1 | 0 | 0 | 7 | 6 | 0 | 0 | 14 | 10 | 0 | Matches | ||
| 2019-2020 | 20 | Reading | eng ENG | EFL Cup | 2.0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 2 | 2 | 0 | Matches | ||
| 2019-2020 | 20 | Reading | eng ENG | FA Cup | 1.9 | 2 | 1 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2019-2020 | 20 | Reading | eng ENG | Jr. PL2 — Div. 2 | 2.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2020-2021 | 21 | Reading | eng ENG | 2. Championship | 17.4 | 2 | 0 | 0 | 20 | 14 | 0 | 7 | 34 | 24 | 0 | Matches | ||
| 2020-2021 | 21 | Reading | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2020-2021 | 21 | Reading | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | Matches | ||
| 2021-2022 | 22 | Reading | eng ENG | 2. Championship | 18.0 | 1 | 0 | 0 | 8 | 12 | 0 | 25 | 33 | 15 | 1 | Matches | ||
| 2021-2022 | 22 | Reading | eng ENG | EFL Cup | 0.5 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 22 | Reading | eng ENG | Jr. PL2 — Div. 2 | 0.5 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2022-2023 | 23 | Reading | eng ENG | 2. Championship | 34.6 | 3 | 0 | 0 | 30 | 22 | 0 | 25 | 40 | 28 | 0 | Matches | ||
| 2022-2023 | 23 | Reading | eng ENG | EFL Cup | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2022-2023 | 23 | Reading | eng ENG | FA Cup | 2.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 1 | 3 | 0 | Matches | ||
| 2023-2024 | 24 | Reading | eng ENG | EFL Cup | 1.3 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 3 | 1 | 0 | Matches | ||
| 2023-2024 | 24 | Portsmouth | eng ENG | 3. League One | 0.6 | 0 | 1 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 24 | Reading | eng ENG | 3. League One | 4.2 | 2 | 0 | 0 | 4 | 7 | 1 | 1 | 6 | 4 | 0 | Matches | ||
| 2023-2024 | 24 | Reading FC | eng ENG | Jr. PL2 | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2024-2025 | 25 | Portsmouth | eng ENG | 2. Championship | 11.3 | 3 | 0 | 0 | 12 | 9 | 0 | 1 | 16 | 13 | 0 | Matches | ||
| 2024-2025 | 25 | Portsmouth | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2024-2025 | 25 | Charlton Athletic | eng ENG | 3. League One | 3.6 | 0 | 0 | 0 | 5 | 5 | 0 | 0 | 10 | 1 | 0 | Matches | ||
| 2025-2026 | 26 | Bradford City | eng ENG | EFL Cup | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | Matches | ||
| 2025-2026 | 26 | Bradford City | eng ENG | FA Cup | 0.9 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2025-2026 | 26 | Bradford City | eng ENG | 3. League One | 3.1 | 2 | 0 | 0 | 2 | 5 | 0 | 1 | 6 | 3 | 0 | Matches | ||
| 2025-2026 | 26 | Aberdeen | sct SCO | 1. Premiership | 2.5 | 1 | 0 | 0 | 3 | 2 | 0 | 1 | 5 | 1 | 1 | Matches | ||
| 8 Seasons | 5 Clubs | 5 Leagues | 117.3 | 18 | 2 | 1 | 100 | 91 | 1 | 61 | 177 | 108 | 0 | 0 | 2 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Reading (6 Seasons) | 4 Leagues | 94.1 | 12 | 1 | 1 | 77 | 68 | 1 | 58 | 139 | 88 | 0 | 0 | 1 | ||||
| Reading (5 Seasons) | 2 Leagues | 20.0 | 1 | 0 | 0 | 0 | ||||||||||||
| Portsmouth (2 Seasons) | 3 Leagues | 12.9 | 3 | 1 | 0 | 13 | 11 | 0 | 1 | 16 | 13 | 0 | ||||||
| Charlton Athletic (1 Season) | 1 League | 3.6 | 0 | 0 | 0 | 5 | 5 | 0 | 0 | 10 | 1 | 0 | ||||||
| Bradford City (1 Season) | 3 Leagues | 4.1 | 2 | 0 | 0 | 2 | 5 | 0 | 1 | 7 | 5 | 0 | ||||||
| Aberdeen (1 Season) | 1 League | 2.5 | 1 | 0 | 0 | 3 | 2 | 0 | 1 | 5 | 1 | 1 | ||||||
| Reading FC (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | 0 | ||||||||||||
| Championship (6 Seasons) | 91.1 | 10 | 0 | 0 | 77 | 64 | 0 | 58 | 140 | 90 | 0 | 0 | 1 | |||||
| EFL Cup (6 Seasons) | 5.4 | 1 | 0 | 0 | 4 | 4 | 0 | 0 | 8 | 5 | 0 | |||||||
| FA Cup (5 Seasons) | 6.8 | 2 | 1 | 1 | 4 | 2 | 0 | 0 | 2 | 4 | 0 | |||||||
| PL2 — Div. 2 (4 Seasons) | 15.0 | 0 | 0 | 0 | 0 | |||||||||||||
| League One (3 Seasons) | 11.5 | 4 | 1 | 0 | 12 | 19 | 1 | 2 | 22 | 8 | 0 | |||||||
| PL2 (2 Seasons) | 6.0 | 1 | 0 | 0 | 0 | |||||||||||||
| Premiership (1 Season) | 2.5 | 1 | 0 | 0 | 3 | 2 | 0 | 1 | 5 | 1 | 1 | |||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2016-2017 | 17 | Reading | 1 League | 5.0 | 1 | 0 | 0 | 0 | |||||||||
| 2017-2018 | 18 | Reading | 1 League | 2.2 | 0 | 0 | 0 | 0 | |||||||||
| 2018-2019 | 19 | Reading | 1 League | 10.3 | 0 | 0 | 0 | 0 | |||||||||
| 2018-2019 | 19 | Reading | 1 League | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | |
| 2019-2020 | 20 | Reading | 1 League | 2.0 | 0 | 0 | 0 | 0 | |||||||||
| 2019-2020 | 20 | Reading | 3 Leagues | 12.5 | 3 | 1 | 1 | 11 | 6 | 0 | 0 | 16 | 12 | 0 | |||
| 2020-2021 | 21 | Reading | 3 Leagues | 19.4 | 2 | 0 | 0 | 22 | 16 | 0 | 7 | 36 | 25 | 0 | |||
| 2021-2022 | 22 | Reading | 1 League | 0.5 | 0 | 0 | 0 | 0 | |||||||||
| 2021-2022 | 22 | Reading | 2 Leagues | 18.5 | 1 | 0 | 0 | 8 | 13 | 0 | 25 | 33 | 15 | 1 | |||
| 2022-2023 | 23 | Reading | 3 Leagues | 37.1 | 3 | 0 | 0 | 31 | 24 | 0 | 25 | 42 | 31 | 0 | |||
| 2023-2024 | 24 | Reading | 2 Leagues | 5.5 | 3 | 0 | 0 | 5 | 8 | 1 | 1 | 9 | 5 | 0 | |||
| 2023-2024 | 24 | Reading FC | 1 League | 1.0 | 0 | 0 | 0 | 0 | |||||||||
| 2023-2024 | 24 | Portsmouth | 1 League | 0.6 | 0 | 1 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | |||
| 2024-2025 | 25 | Portsmouth | 2 Leagues | 12.3 | 3 | 0 | 0 | 12 | 9 | 0 | 1 | 16 | 13 | 0 | |||
| 2024-2025 | 25 | Charlton Athletic | 1 League | 3.6 | 0 | 0 | 0 | 5 | 5 | 0 | 0 | 10 | 1 | 0 | |||
| 2025-2026 | 26 | Bradford City | 3 Leagues | 4.1 | 2 | 0 | 0 | 2 | 5 | 0 | 1 | 7 | 5 | 0 | |||
| 2025-2026 | 26 | Aberdeen | 1 League | 2.5 | 1 | 0 | 0 | 3 | 2 | 0 | 1 | 5 | 1 | 1 | |||
| 8 Seasons | 5 Clubs | 5 Leagues | 117.3 | 18 | 2 | 1 | 100 | 91 | 1 | 61 | 177 | 108 | 0 | 0 | 2 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Reading (6 Seasons) | 4 Leagues | 94.1 | 12 | 1 | 1 | 77 | 68 | 1 | 58 | 139 | 88 | 0 | 0 | 1 | |||
| Reading (5 Seasons) | 2 Leagues | 20.0 | 1 | 0 | 0 | 0 | |||||||||||
| Portsmouth (2 Seasons) | 3 Leagues | 12.9 | 3 | 1 | 0 | 13 | 11 | 0 | 1 | 16 | 13 | 0 | |||||
| Charlton Athletic (1 Season) | 1 League | 3.6 | 0 | 0 | 0 | 5 | 5 | 0 | 0 | 10 | 1 | 0 | |||||
| Bradford City (1 Season) | 3 Leagues | 4.1 | 2 | 0 | 0 | 2 | 5 | 0 | 1 | 7 | 5 | 0 | |||||
| Aberdeen (1 Season) | 1 League | 2.5 | 1 | 0 | 0 | 3 | 2 | 0 | 1 | 5 | 1 | 1 | |||||
| Reading FC (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | 0 | |||||||||||
| Championship (6 Seasons) | 91.1 | 10 | 0 | 0 | 77 | 64 | 0 | 58 | 140 | 90 | 0 | 0 | 1 | ||||
| EFL Cup (6 Seasons) | 5.4 | 1 | 0 | 0 | 4 | 4 | 0 | 0 | 8 | 5 | 0 | ||||||
| FA Cup (5 Seasons) | 6.8 | 2 | 1 | 1 | 4 | 2 | 0 | 0 | 2 | 4 | 0 | ||||||
| PL2 — Div. 2 (4 Seasons) | 15.0 | 0 | 0 | 0 | 0 | ||||||||||||
| League One (3 Seasons) | 11.5 | 4 | 1 | 0 | 12 | 19 | 1 | 2 | 22 | 8 | 0 | ||||||
| PL2 (2 Seasons) | 6.0 | 1 | 0 | 0 | 0 | ||||||||||||
| Premiership (1 Season) | 2.5 | 1 | 0 | 0 | 3 | 2 | 0 | 1 | 5 | 1 | 1 | ||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2016-2017 | 17 | Reading | eng ENG | Jr. PL2 — Div. 1 | 11th | 5.0 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 18 | Reading | eng ENG | Jr. PL2 — Div. 2 | 5th | 2.2 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 19 | Reading | eng ENG | Jr. PL2 — Div. 2 | 3rd | 10.3 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 19 | Reading | eng ENG | 2. Championship | 20th | 1.2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | Matches |
| 2019-2020 | 20 | Reading | eng ENG | Jr. PL2 — Div. 2 | 9th | 2.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 20 | Reading | eng ENG | 2. Championship | 14th | 8.6 | 1 | 0 | 0 | 7 | 6 | 0 | 0 | 14 | 10 | 0 | Matches | ||
| 2020-2021 | 21 | Reading | eng ENG | 2. Championship | 7th | 17.4 | 2 | 0 | 0 | 20 | 14 | 0 | 7 | 34 | 24 | 0 | Matches | ||
| 2021-2022 | 22 | Reading | eng ENG | Jr. PL2 — Div. 2 | 14th | 0.5 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2021-2022 | 22 | Reading | eng ENG | 2. Championship | 21st | 18.0 | 1 | 0 | 0 | 8 | 12 | 0 | 25 | 33 | 15 | 1 | Matches | ||
| 2022-2023 | 23 | Reading | eng ENG | 2. Championship | 22nd | 34.6 | 3 | 0 | 0 | 30 | 22 | 0 | 25 | 40 | 28 | 0 | Matches | ||
| 2023-2024 | 24 | Reading | eng ENG | 3. League One | 17th | 4.2 | 2 | 0 | 0 | 4 | 7 | 1 | 1 | 6 | 4 | 0 | Matches | ||
| 2023-2024 | 24 | Reading FC | eng ENG | Jr. PL2 | 6th | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2023-2024 | 24 | Portsmouth | eng ENG | 3. League One | 1st | 0.6 | 0 | 1 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2024-2025 | 25 | Portsmouth | eng ENG | 2. Championship | 16th | 11.3 | 3 | 0 | 0 | 12 | 9 | 0 | 1 | 16 | 13 | 0 | Matches | ||
| 2024-2025 | 25 | Charlton Athletic | eng ENG | 3. League One | 4th | 3.6 | 0 | 0 | 0 | 5 | 5 | 0 | 0 | 10 | 1 | 0 | Matches | ||
| 2025-2026 | 26 | Bradford City | eng ENG | 3. League One | 4th | 3.1 | 2 | 0 | 0 | 2 | 5 | 0 | 1 | 6 | 3 | 0 | Matches | ||
| 2025-2026 | 26 | Aberdeen | sct SCO | 1. Premiership | 9th | 2.5 | 1 | 0 | 0 | 3 | 2 | 0 | 1 | 5 | 1 | 1 | Matches | ||
| 8 Seasons | 5 Clubs | 3 Leagues | 105.0 | 15 | 1 | 0 | 92 | 85 | 1 | 61 | 167 | 99 | 0 | 0 | 2 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Reading (6 Seasons) | 2 Leagues | 83.9 | 9 | 0 | 0 | 69 | 62 | 1 | 58 | 130 | 81 | 0 | 0 | 1 | |||||
| Reading (5 Seasons) | 2 Leagues | 20.0 | 1 | 0 | 0 | 0 | |||||||||||||
| Portsmouth (2 Seasons) | 2 Leagues | 11.9 | 3 | 1 | 0 | 13 | 11 | 0 | 1 | 16 | 13 | 0 | |||||||
| Charlton Athletic (1 Season) | 1 League | 3.6 | 0 | 0 | 0 | 5 | 5 | 0 | 0 | 10 | 1 | 0 | |||||||
| Bradford City (1 Season) | 1 League | 3.1 | 2 | 0 | 0 | 2 | 5 | 0 | 1 | 6 | 3 | 0 | |||||||
| Aberdeen (1 Season) | 1 League | 2.5 | 1 | 0 | 0 | 3 | 2 | 0 | 1 | 5 | 1 | 1 | |||||||
| Reading FC (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | 0 | |||||||||||||
| Championship (6 Seasons) | 91.1 | 10 | 0 | 0 | 77 | 64 | 0 | 58 | 140 | 90 | 0 | 0 | 1 | ||||||
| PL2 — Div. 2 (4 Seasons) | 15.0 | 0 | 0 | 0 | 0 | ||||||||||||||
| League One (3 Seasons) | 11.5 | 4 | 1 | 0 | 12 | 19 | 1 | 2 | 22 | 8 | 0 | ||||||||
| PL2 (2 Seasons) | 6.0 | 1 | 0 | 0 | 0 | ||||||||||||||
| Premiership (1 Season) | 2.5 | 1 | 0 | 0 | 3 | 2 | 0 | 1 | 5 | 1 | 1 | ||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2019-2020 | 20 | Reading | eng ENG | EFL Cup | 17th | 2.0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 2 | 2 | 0 | Matches | ||
| 2019-2020 | 20 | Reading | eng ENG | FA Cup | 9th | 1.9 | 2 | 1 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 21 | Reading | eng ENG | EFL Cup | 33rd | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2020-2021 | 21 | Reading | eng ENG | FA Cup | 33rd | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | Matches | ||
| 2021-2022 | 22 | Reading | eng ENG | EFL Cup | Rd1 | 0.5 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2022-2023 | 23 | Reading | eng ENG | EFL Cup | Rd1 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2022-2023 | 23 | Reading | eng ENG | FA Cup | 2.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 1 | 3 | 0 | Matches | |||
| 2023-2024 | 24 | Reading | eng ENG | EFL Cup | Rd2 | 1.3 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 3 | 1 | 0 | Matches | ||
| 2024-2025 | 25 | Portsmouth | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2025-2026 | 26 | Bradford City | eng ENG | EFL Cup | Rd3 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | Matches | ||
| 2025-2026 | 26 | Bradford City | eng ENG | FA Cup | 0.9 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 7 Seasons | 3 Clubs | 2 Leagues | 12.2 | 3 | 1 | 1 | 8 | 6 | 0 | 0 | 10 | 9 | 0 | ||||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Reading (5 Seasons) | 2 Leagues | 10.2 | 3 | 1 | 1 | 8 | 6 | 0 | 0 | 9 | 7 | 0 | |||||||
| Bradford City (1 Season) | 2 Leagues | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | |||||||
| Portsmouth (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | 0 | |||||||||||||
| EFL Cup (6 Seasons) | 5.4 | 1 | 0 | 0 | 4 | 4 | 0 | 0 | 8 | 5 | 0 | ||||||||
| FA Cup (5 Seasons) | 6.8 | 2 | 1 | 1 | 4 | 2 | 0 | 0 | 2 | 4 | 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