| 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 | |||||
| 2011-2012 | 17 | Crystal Palace | eng ENG | 2. Championship | 14 | 5 | 605 | 6.7 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.15 | 0.15 | 0.00 | 0.15 | |
| 2012-2013 | 18 | Crystal Palace | eng ENG | 2. Championship | 29 | 11 | 1,104 | 12.3 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.08 | 0.08 | 0.00 | 0.08 | |
| 2013-2014 | 19 | Ipswich Town | eng ENG | 2. Championship | 13 | 11 | 952 | 10.6 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | Matches |
| 2013-2014 | 19 | Crystal Palace | eng ENG | 1. Premier League | 9 | 0 | 188 | 2.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2014-2015 | 20 | Ipswich Town | eng ENG | 2. Championship | 7 | 4 | 343 | 3.8 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.26 | 0.00 | 0.26 | 0.26 | 0.26 | Matches |
| 2014-2015 | 20 | Crystal Palace | eng ENG | League Cup | 2 | 2 | 152 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2014-2015 | 20 | Crystal Palace | eng ENG | 1. Premier League | 2 | 0 | 36 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 21 | Nottingham Forest | eng ENG | 2. Championship | 10 | 4 | 386 | 4.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | 2. Championship | 13 | 11 | 775 | 8.6 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.12 | 0.12 | 0.00 | 0.12 | Matches |
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | FA Cup | 1 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 21 | Crystal Palace | eng ENG | 1. Premier League | 1 | 0 | 11 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 22 | Ipswich Town | eng ENG | 2. Championship | 8 | 1 | 201 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 23 | Sunderland | eng ENG | 2. Championship | 12 | 7 | 558 | 6.2 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.16 | 0.00 | 0.16 | 0.16 | 0.16 | Matches |
| 2017-2018 | 23 | Sunderland | eng ENG | EFL Cup | 1 | 0 | 28 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 23 | Sunderland | eng ENG | Jr. PL2 — Div. 1 | 2 | 2 | 161 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 24 | Crystal Palace | eng ENG | EFL Cup | 1 | 1 | 75 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 24 | Charlton Athletic | eng ENG | 3. League One | 16 | 14 | 1,136 | 12.6 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 25 | Charlton Athletic | eng ENG | 2. Championship | 26 | 15 | 1,368 | 15.2 | 0 | 5 | 5 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.33 | 0.33 | 0.00 | 0.33 | Matches |
| 2019-2020 | 25 | Charlton Athletic | eng ENG | FA 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 |
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 9 | 1 | 181 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | EFL Cup | 1 | 1 | 76 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 26 | 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 |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | 3. League One | 18 | 7 | 755 | 8.4 | 2 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0.24 | 0.00 | 0.24 | 0.24 | 0.24 | Matches |
| 2021-2022 | 27 | Swindon Town | eng ENG | FA Cup | 3 | 2 | 155 | 1.7 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.58 | 0.58 | 0.00 | 0.58 | Matches |
| 2021-2022 | 27 | Swindon Town | eng ENG | 4. League Two | 40 | 24 | 2,211 | 24.6 | 5 | 5 | 10 | 5 | 0 | 0 | 4 | 0 | 0.20 | 0.20 | 0.41 | 0.20 | 0.41 | Matches |
| 2022-2023 | 28 | Swindon Town | eng ENG | EFL Cup | 1 | 1 | 61 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 28 | Swindon Town | eng ENG | FA Cup | 1 | 1 | 59 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 28 | Swindon Town | eng ENG | 4. League Two | 37 | 35 | 2,766 | 30.7 | 10 | 2 | 12 | 10 | 0 | 0 | 4 | 0 | 0.33 | 0.07 | 0.39 | 0.33 | 0.39 | Matches |
| 2023-2024 | 29 | Gillingham | eng ENG | EFL Cup | 2 | 0 | 38 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 29 | Gillingham | eng ENG | FA Cup | 2 | 2 | 108 | 1.2 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.83 | 0.83 | 0.00 | 0.83 | Matches |
| 2023-2024 | 29 | Gillingham | eng ENG | 4. League Two | 42 | 31 | 2,431 | 27.0 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | 0 | 0.00 | 0.04 | 0.04 | 0.00 | 0.04 | Matches |
| 2024-2025 | 30 | Gillingham | eng ENG | EFL Cup | 1 | 1 | 59 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 30 | Gillingham | eng ENG | FA Cup | 0 | 0 | Matches | |||||||||||||||
| 2024-2025 | 30 | Gillingham | eng ENG | 4. League Two | 26 | 8 | 981 | 10.9 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 1 | 0.09 | 0.09 | 0.18 | 0.09 | 0.18 | Matches |
| 2025-2026 | 31 | Gillingham | 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 |
| 2025-2026 | 31 | Gillingham | eng ENG | 4. League Two | 26 | 14 | 1,396 | 15.5 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 1 | 0.06 | 0.00 | 0.06 | 0.06 | 0.06 | Matches |
| 15 Seasons | 9 Clubs | 6 Leagues | 377 | 216 | 19,421 | 215.8 | 22 | 19 | 41 | 22 | 0 | 0 | 30 | 2 | 0.10 | 0.09 | 0.19 | 0.10 | 0.19 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Crystal Palace (6 Seasons) | 3 Leagues | 58 | 19 | 2,171 | 24.1 | 0 | 2 | 2 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.08 | 0.08 | 0.00 | 0.08 | ||||
| Gillingham (3 Seasons) | 3 Leagues | 100 | 57 | 5,103 | 56.7 | 2 | 3 | 5 | 2 | 0 | 0 | 11 | 2 | 0.04 | 0.05 | 0.09 | 0.04 | 0.09 | ||||
| Charlton Athletic (3 Seasons) | 4 Leagues | 63 | 38 | 3,446 | 38.3 | 2 | 5 | 7 | 2 | 0 | 0 | 3 | 0 | 0.05 | 0.13 | 0.18 | 0.05 | 0.18 | ||||
| Ipswich Town (3 Seasons) | 1 League | 28 | 16 | 1,496 | 16.6 | 2 | 0 | 2 | 2 | 0 | 0 | 3 | 0 | 0.12 | 0.00 | 0.12 | 0.12 | 0.12 | ||||
| Swindon Town (2 Seasons) | 3 Leagues | 82 | 63 | 5,252 | 58.4 | 15 | 8 | 23 | 15 | 0 | 0 | 9 | 0 | 0.26 | 0.14 | 0.39 | 0.26 | 0.39 | ||||
| Milton Keynes Dons (1 Season) | 2 Leagues | 14 | 11 | 800 | 8.9 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.11 | 0.11 | 0.00 | 0.11 | ||||
| Sunderland (1 Season) | 2 Leagues | 13 | 7 | 586 | 6.5 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.15 | 0.00 | 0.15 | 0.15 | 0.15 | ||||
| Nottingham Forest (1 Season) | 1 League | 10 | 4 | 386 | 4.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Cardiff City (1 Season) | 1 League | 9 | 1 | 181 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Sunderland (1 Season) | 1 League | 2 | 2 | 161 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Championship (9 Seasons) | 141 | 70 | 6,473 | 71.9 | 3 | 8 | 11 | 3 | 0 | 0 | 8 | 0 | 0.04 | 0.11 | 0.15 | 0.04 | 0.15 | |||||
| EFL Cup (8 Seasons) | 10 | 7 | 579 | 6.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| FA Cup (7 Seasons) | 9 | 6 | 458 | 5.1 | 0 | 2 | 2 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.39 | 0.39 | 0.00 | 0.39 | |||||
| League Two (5 Seasons) | 171 | 112 | 9,785 | 108.7 | 17 | 9 | 26 | 17 | 0 | 0 | 19 | 2 | 0.16 | 0.08 | 0.24 | 0.16 | 0.24 | |||||
| Premier League (3 Seasons) | 12 | 0 | 235 | 2.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| League One (2 Seasons) | 34 | 21 | 1,891 | 21.0 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | |||||
| PL2 — Div. 1 (1 Season) | 2 | 2 | 161 | 1.8 | 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 | |||||
| 2011-2012 | 17 | Crystal Palace | 1 League | 14 | 5 | 605 | 6.7 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.15 | 0.15 | 0.00 | 0.15 | |
| 2012-2013 | 18 | Crystal Palace | 1 League | 29 | 11 | 1,104 | 12.3 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.08 | 0.08 | 0.00 | 0.08 | |
| 2013-2014 | 19 | Crystal Palace | 1 League | 9 | 0 | 188 | 2.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2013-2014 | 19 | Ipswich Town | 1 League | 13 | 11 | 952 | 10.6 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | |
| 2014-2015 | 20 | Ipswich Town | 1 League | 7 | 4 | 343 | 3.8 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.26 | 0.00 | 0.26 | 0.26 | 0.26 | |
| 2014-2015 | 20 | Crystal Palace | 2 Leagues | 4 | 2 | 188 | 2.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2015-2016 | 21 | Crystal Palace | 1 League | 1 | 0 | 11 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2015-2016 | 21 | Nottingham Forest | 1 League | 10 | 4 | 386 | 4.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2015-2016 | 21 | Milton Keynes Dons | 2 Leagues | 14 | 11 | 800 | 8.9 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.11 | 0.11 | 0.00 | 0.11 | |
| 2016-2017 | 22 | Ipswich Town | 1 League | 8 | 1 | 201 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2017-2018 | 23 | Sunderland | 1 League | 2 | 2 | 161 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2017-2018 | 23 | Sunderland | 2 Leagues | 13 | 7 | 586 | 6.5 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.15 | 0.00 | 0.15 | 0.15 | 0.15 | |
| 2018-2019 | 24 | Crystal Palace | 1 League | 1 | 1 | 75 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2018-2019 | 24 | Charlton Athletic | 1 League | 16 | 14 | 1,136 | 12.6 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2019-2020 | 25 | Charlton Athletic | 2 Leagues | 27 | 15 | 1,389 | 15.4 | 0 | 5 | 5 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.32 | 0.32 | 0.00 | 0.32 | |
| 2020-2021 | 26 | Charlton Athletic | 3 Leagues | 20 | 9 | 921 | 10.2 | 2 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0.20 | 0.00 | 0.20 | 0.20 | 0.20 | |
| 2020-2021 | 26 | Cardiff City | 1 League | 9 | 1 | 181 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2021-2022 | 27 | Swindon Town | 2 Leagues | 43 | 26 | 2,366 | 26.3 | 5 | 6 | 11 | 5 | 0 | 0 | 5 | 0 | 0.19 | 0.23 | 0.42 | 0.19 | 0.42 | |
| 2022-2023 | 28 | Swindon Town | 3 Leagues | 39 | 37 | 2,886 | 32.1 | 10 | 2 | 12 | 10 | 0 | 0 | 4 | 0 | 0.31 | 0.06 | 0.37 | 0.31 | 0.37 | |
| 2023-2024 | 29 | Gillingham | 3 Leagues | 46 | 33 | 2,577 | 28.6 | 0 | 2 | 2 | 0 | 0 | 0 | 5 | 0 | 0.00 | 0.07 | 0.07 | 0.00 | 0.07 | |
| 2024-2025 | 30 | Gillingham | 3 Leagues | 27 | 9 | 1,040 | 11.6 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 1 | 0.09 | 0.09 | 0.17 | 0.09 | 0.17 | |
| 2025-2026 | 31 | Gillingham | 2 Leagues | 27 | 15 | 1,486 | 16.5 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 1 | 0.06 | 0.00 | 0.06 | 0.06 | 0.06 | |
| 15 Seasons | 9 Clubs | 6 Leagues | 377 | 216 | 19,421 | 215.8 | 22 | 19 | 41 | 22 | 0 | 0 | 30 | 2 | 0.10 | 0.09 | 0.19 | 0.10 | 0.19 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Crystal Palace (6 Seasons) | 3 Leagues | 58 | 19 | 2,171 | 24.1 | 0 | 2 | 2 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.08 | 0.08 | 0.00 | 0.08 | |||
| Gillingham (3 Seasons) | 3 Leagues | 100 | 57 | 5,103 | 56.7 | 2 | 3 | 5 | 2 | 0 | 0 | 11 | 2 | 0.04 | 0.05 | 0.09 | 0.04 | 0.09 | |||
| Charlton Athletic (3 Seasons) | 4 Leagues | 63 | 38 | 3,446 | 38.3 | 2 | 5 | 7 | 2 | 0 | 0 | 3 | 0 | 0.05 | 0.13 | 0.18 | 0.05 | 0.18 | |||
| Ipswich Town (3 Seasons) | 1 League | 28 | 16 | 1,496 | 16.6 | 2 | 0 | 2 | 2 | 0 | 0 | 3 | 0 | 0.12 | 0.00 | 0.12 | 0.12 | 0.12 | |||
| Swindon Town (2 Seasons) | 3 Leagues | 82 | 63 | 5,252 | 58.4 | 15 | 8 | 23 | 15 | 0 | 0 | 9 | 0 | 0.26 | 0.14 | 0.39 | 0.26 | 0.39 | |||
| Milton Keynes Dons (1 Season) | 2 Leagues | 14 | 11 | 800 | 8.9 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.11 | 0.11 | 0.00 | 0.11 | |||
| Sunderland (1 Season) | 2 Leagues | 13 | 7 | 586 | 6.5 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.15 | 0.00 | 0.15 | 0.15 | 0.15 | |||
| Nottingham Forest (1 Season) | 1 League | 10 | 4 | 386 | 4.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Cardiff City (1 Season) | 1 League | 9 | 1 | 181 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Sunderland (1 Season) | 1 League | 2 | 2 | 161 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Championship (9 Seasons) | 141 | 70 | 6,473 | 71.9 | 3 | 8 | 11 | 3 | 0 | 0 | 8 | 0 | 0.04 | 0.11 | 0.15 | 0.04 | 0.15 | ||||
| EFL Cup (8 Seasons) | 10 | 7 | 579 | 6.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| FA Cup (7 Seasons) | 9 | 6 | 458 | 5.1 | 0 | 2 | 2 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.39 | 0.39 | 0.00 | 0.39 | ||||
| League Two (5 Seasons) | 171 | 112 | 9,785 | 108.7 | 17 | 9 | 26 | 17 | 0 | 0 | 19 | 2 | 0.16 | 0.08 | 0.24 | 0.16 | 0.24 | ||||
| Premier League (3 Seasons) | 12 | 0 | 235 | 2.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| League One (2 Seasons) | 34 | 21 | 1,891 | 21.0 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | ||||
| PL2 — Div. 1 (1 Season) | 2 | 2 | 161 | 1.8 | 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 | |||||
| 2011-2012 | 17 | Crystal Palace | eng ENG | 2. Championship | 17th | 14 | 5 | 605 | 6.7 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.15 | 0.15 | 0.00 | 0.15 | |
| 2012-2013 | 18 | Crystal Palace | eng ENG | 2. Championship | 5th | 29 | 11 | 1,104 | 12.3 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.08 | 0.08 | 0.00 | 0.08 | |
| 2013-2014 | 19 | Crystal Palace | eng ENG | 1. Premier League | 11th | 9 | 0 | 188 | 2.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2013-2014 | 19 | Ipswich Town | eng ENG | 2. Championship | 9th | 13 | 11 | 952 | 10.6 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | Matches |
| 2014-2015 | 20 | Ipswich Town | eng ENG | 2. Championship | 6th | 7 | 4 | 343 | 3.8 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.26 | 0.00 | 0.26 | 0.26 | 0.26 | Matches |
| 2014-2015 | 20 | Crystal Palace | eng ENG | 1. Premier League | 10th | 2 | 0 | 36 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 21 | Crystal Palace | eng ENG | 1. Premier League | 15th | 1 | 0 | 11 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 21 | Nottingham Forest | eng ENG | 2. Championship | 16th | 10 | 4 | 386 | 4.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | 2. Championship | 23rd | 13 | 11 | 775 | 8.6 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.12 | 0.12 | 0.00 | 0.12 | Matches |
| 2016-2017 | 22 | Ipswich Town | eng ENG | 2. Championship | 16th | 8 | 1 | 201 | 2.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 23 | Sunderland | eng ENG | 2. Championship | 24th | 12 | 7 | 558 | 6.2 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.16 | 0.00 | 0.16 | 0.16 | 0.16 | Matches |
| 2017-2018 | 23 | Sunderland | eng ENG | Jr. PL2 — Div. 1 | 11th | 2 | 2 | 161 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 24 | Charlton Athletic | eng ENG | 3. League One | 3rd | 16 | 14 | 1,136 | 12.6 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 25 | Charlton Athletic | eng ENG | 2. Championship | 22nd | 26 | 15 | 1,368 | 15.2 | 0 | 5 | 5 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.33 | 0.33 | 0.00 | 0.33 | Matches |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | 3. League One | 7th | 18 | 7 | 755 | 8.4 | 2 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0.24 | 0.00 | 0.24 | 0.24 | 0.24 | Matches |
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 8th | 9 | 1 | 181 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 27 | Swindon Town | eng ENG | 4. League Two | 6th | 40 | 24 | 2,211 | 24.6 | 5 | 5 | 10 | 5 | 0 | 0 | 4 | 0 | 0.20 | 0.20 | 0.41 | 0.20 | 0.41 | Matches |
| 2022-2023 | 28 | Swindon Town | eng ENG | 4. League Two | 10th | 37 | 35 | 2,766 | 30.7 | 10 | 2 | 12 | 10 | 0 | 0 | 4 | 0 | 0.33 | 0.07 | 0.39 | 0.33 | 0.39 | Matches |
| 2023-2024 | 29 | Gillingham | eng ENG | 4. League Two | 12th | 42 | 31 | 2,431 | 27.0 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | 0 | 0.00 | 0.04 | 0.04 | 0.00 | 0.04 | Matches |
| 2024-2025 | 30 | Gillingham | eng ENG | 4. League Two | 17th | 26 | 8 | 981 | 10.9 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 1 | 0.09 | 0.09 | 0.18 | 0.09 | 0.18 | Matches |
| 2025-2026 | 31 | Gillingham | eng ENG | 4. League Two | 17th | 26 | 14 | 1,396 | 15.5 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 1 | 0.06 | 0.00 | 0.06 | 0.06 | 0.06 | Matches |
| 15 Seasons | 9 Clubs | 4 Leagues | 358 | 203 | 18,384 | 204.3 | 22 | 17 | 39 | 22 | 0 | 0 | 29 | 2 | 0.11 | 0.08 | 0.19 | 0.11 | 0.19 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Crystal Palace (5 Seasons) | 2 Leagues | 55 | 16 | 1,944 | 21.6 | 0 | 2 | 2 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.09 | 0.09 | 0.00 | 0.09 | |||||
| Gillingham (3 Seasons) | 1 League | 94 | 53 | 4,808 | 53.4 | 2 | 2 | 4 | 2 | 0 | 0 | 11 | 2 | 0.04 | 0.04 | 0.07 | 0.04 | 0.07 | |||||
| Charlton Athletic (3 Seasons) | 2 Leagues | 60 | 36 | 3,259 | 36.2 | 2 | 5 | 7 | 2 | 0 | 0 | 3 | 0 | 0.06 | 0.14 | 0.19 | 0.06 | 0.19 | |||||
| Ipswich Town (3 Seasons) | 1 League | 28 | 16 | 1,496 | 16.6 | 2 | 0 | 2 | 2 | 0 | 0 | 3 | 0 | 0.12 | 0.00 | 0.12 | 0.12 | 0.12 | |||||
| Swindon Town (2 Seasons) | 1 League | 77 | 59 | 4,977 | 55.3 | 15 | 7 | 22 | 15 | 0 | 0 | 8 | 0 | 0.27 | 0.13 | 0.40 | 0.27 | 0.40 | |||||
| Milton Keynes Dons (1 Season) | 1 League | 13 | 11 | 775 | 8.6 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.12 | 0.12 | 0.00 | 0.12 | |||||
| Sunderland (1 Season) | 1 League | 12 | 7 | 558 | 6.2 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.16 | 0.00 | 0.16 | 0.16 | 0.16 | |||||
| Nottingham Forest (1 Season) | 1 League | 10 | 4 | 386 | 4.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Cardiff City (1 Season) | 1 League | 9 | 1 | 181 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Sunderland (1 Season) | 1 League | 2 | 2 | 161 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Championship (9 Seasons) | 141 | 70 | 6,473 | 71.9 | 3 | 8 | 11 | 3 | 0 | 0 | 8 | 0 | 0.04 | 0.11 | 0.15 | 0.04 | 0.15 | ||||||
| League Two (5 Seasons) | 171 | 112 | 9,785 | 108.7 | 17 | 9 | 26 | 17 | 0 | 0 | 19 | 2 | 0.16 | 0.08 | 0.24 | 0.16 | 0.24 | ||||||
| Premier League (3 Seasons) | 12 | 0 | 235 | 2.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| League One (2 Seasons) | 34 | 21 | 1,891 | 21.0 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | ||||||
| PL2 — Div. 1 (1 Season) | 2 | 2 | 161 | 1.8 | 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 | 20 | Crystal Palace | eng ENG | League Cup | 17th | 2 | 2 | 152 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | FA Cup | 17th | 1 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 23 | Sunderland | eng ENG | EFL Cup | 17th | 1 | 0 | 28 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 24 | Crystal Palace | eng ENG | EFL Cup | 9th | 1 | 1 | 75 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 25 | Charlton Athletic | eng ENG | FA Cup | 33rd | 1 | 0 | 21 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | EFL Cup | 33rd | 1 | 1 | 76 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | FA Cup | 85th | 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 | 27 | Swindon Town | eng ENG | FA Cup | 3 | 2 | 155 | 1.7 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.58 | 0.58 | 0.00 | 0.58 | Matches | |
| 2022-2023 | 28 | Swindon Town | eng ENG | EFL Cup | Rd1 | 1 | 1 | 61 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 28 | Swindon Town | eng ENG | FA Cup | 1 | 1 | 59 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2023-2024 | 29 | Gillingham | eng ENG | EFL Cup | Rd2 | 2 | 0 | 38 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 29 | Gillingham | eng ENG | FA Cup | 2 | 2 | 108 | 1.2 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.83 | 0.83 | 0.00 | 0.83 | Matches | |
| 2024-2025 | 30 | Gillingham | eng ENG | EFL Cup | Rd1 | 1 | 1 | 59 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 30 | Gillingham | eng ENG | FA Cup | 0 | 0 | Matches | ||||||||||||||||
| 2025-2026 | 31 | Gillingham | 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 |
| 11 Seasons | 6 Clubs | 2 Leagues | 19 | 13 | 1,037 | 11.5 | 0 | 2 | 2 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.17 | 0.17 | 0.00 | 0.17 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Gillingham (3 Seasons) | 2 Leagues | 6 | 4 | 295 | 3.3 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.31 | 0.31 | 0.00 | 0.31 | |||||
| Swindon Town (2 Seasons) | 2 Leagues | 5 | 4 | 275 | 3.1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.33 | 0.33 | 0.00 | 0.33 | |||||
| Crystal Palace (2 Seasons) | 1 League | 3 | 3 | 227 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Charlton Athletic (2 Seasons) | 2 Leagues | 3 | 2 | 187 | 2.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Sunderland (1 Season) | 1 League | 1 | 0 | 28 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Milton Keynes Dons (1 Season) | 1 League | 1 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| EFL Cup (8 Seasons) | 10 | 7 | 579 | 6.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| FA Cup (7 Seasons) | 9 | 6 | 458 | 5.1 | 0 | 2 | 2 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.39 | 0.39 | 0.00 | 0.39 | ||||||
| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2014 | 20 | wls Wales | Friendlies (M) | 1 | 0 | 19 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2014 | 20 | wls Wales | WCQ | 3 | 2 | 188 | 2.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2015 | 21 | wls Wales | Friendlies (M) | 1 | 1 | 58 | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2016 | 22 | wls Wales | Friendlies (M) | 3 | 2 | 162 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2016 | 22 | wls Wales | UEFA Euro | SF | 4 | 1 | 142 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016 | 22 | wls Wales | UEFA Euro Qualifying | 2 | 2 | 167 | 1.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2018 | 24 | wls Wales | WCQ | 1 | 0 | 54 | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2019 | 25 | wls Wales | Friendlies (M) | 1 | 1 | 90 | 1.0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.00 | 1.00 | 0.00 | 1.00 | Matches | |
| 2020 | 26 | wls Wales | Friendlies (M) | 1 | 1 | 72 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2020-2021 | 26 | wls Wales | UEFA Nations League | LgB | 3 | 1 | 93 | 1.0 | 1 | 1 | 2 | 1 | 0 | 0 | 1 | 0 | 0.97 | 0.97 | 1.94 | 0.97 | 1.94 | Matches |
| 2021 | 27 | wls Wales | Friendlies (M) | 3 | 2 | 162 | 1.8 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.56 | 0.56 | 0.00 | 0.56 | Matches | |
| 2021 | 27 | wls Wales | UEFA Euro | R16 | 0 | 0 | Matches | |||||||||||||||
| 2021 | 27 | wls Wales | UEFA Euro Qualifying | 3 | 2 | 160 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2022 | 28 | wls Wales | 1. World Cup | GR | 0 | 0 | Matches | |||||||||||||||
| 2022 | 28 | wls Wales | WCQ | 3 | 0 | 98 | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2022 | 28 | wls Wales | Friendlies (M) | 1 | 0 | 20 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2022-2023 | 28 | wls Wales | UEFA Nations League | LgA | 1 | 1 | 76 | 0.8 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.18 | 0.00 | 1.18 | 1.18 | 1.18 | Matches |
| 8 Seasons | 1 Club | 6 Leagues | 31 | 16 | 1,561 | 17.3 | 2 | 3 | 5 | 2 | 0 | 0 | 2 | 0 | 0.12 | 0.17 | 0.29 | 0.12 | 0.29 | |||
| Friendlies (M) (7 Seasons) | 11 | 7 | 583 | 6.5 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.31 | 0.31 | 0.00 | 0.31 | |||||
| WCQ (3 Seasons) | 7 | 2 | 340 | 3.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| UEFA Euro Qualifying (2 Seasons) | 5 | 4 | 327 | 3.6 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| UEFA Euro (2 Seasons) | 4 | 1 | 142 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| UEFA Nations League (2 Seasons) | 4 | 2 | 169 | 1.9 | 2 | 1 | 3 | 2 | 0 | 0 | 1 | 0 | 1.07 | 0.53 | 1.60 | 1.07 | 1.60 | |||||
| World Cup (1 Season) | 0 | 0 | ||||||||||||||||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2011-2012 | 17 | Crystal Palace | eng ENG | 2. Championship | 6.7 | 0 | 3 | 0.45 | 0.00 | 0 | 0 | |||||
| 2012-2013 | 18 | Crystal Palace | eng ENG | 2. Championship | 12.3 | 0 | 1 | 0.08 | 0.00 | 0 | 0 | |||||
| 2013-2014 | 19 | Ipswich Town | eng ENG | 2. Championship | 10.6 | 1 | 5 | 0.47 | 0.20 | 0 | 0 | Matches | ||||
| 2013-2014 | 19 | Crystal Palace | eng ENG | 1. Premier League | 2.1 | 0 | 1 | 0.48 | 0.00 | 0 | 0 | Matches | ||||
| 2014-2015 | 20 | Ipswich Town | eng ENG | 2. Championship | 3.8 | 1 | 1 | 0.26 | 1.00 | 0 | 0 | Matches | ||||
| 2014-2015 | 20 | Crystal Palace | eng ENG | League Cup | 1.7 | 0 | 0 | 0 | Matches | |||||||
| 2014-2015 | 20 | Crystal Palace | eng ENG | 1. Premier League | 0.4 | 0 | 0 | 0.00 | 0 | 0 | Matches | |||||
| 2015-2016 | 21 | Nottingham Forest | eng ENG | 2. Championship | 4.3 | 0 | 0 | 0.00 | 0 | 0 | Matches | |||||
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | 2. Championship | 8.6 | 0 | 6 | 0.70 | 0.00 | 0 | 0 | Matches | ||||
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | FA Cup | 0.3 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 21 | Crystal Palace | eng ENG | 1. Premier League | 0.1 | 0 | 0 | 0.00 | 0 | 0 | Matches | |||||
| 2016-2017 | 22 | Ipswich Town | eng ENG | 2. Championship | 2.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2017-2018 | 23 | Sunderland | eng ENG | 2. Championship | 6.2 | 1 | 4 | 1 | 25.0 | 0.65 | 0.16 | 0.25 | 1.00 | 0 | 0 | Matches |
| 2017-2018 | 23 | Sunderland | eng ENG | EFL Cup | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2017-2018 | 23 | Sunderland | eng ENG | Jr. PL2 — Div. 1 | 1.8 | 0 | 0 | 0 | Matches | |||||||
| 2018-2019 | 24 | Crystal Palace | eng ENG | EFL Cup | 0.8 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 24 | Charlton Athletic | eng ENG | 3. League One | 12.6 | 0 | 0 | 0 | Matches | |||||||
| 2019-2020 | 25 | Charlton Athletic | eng ENG | 2. Championship | 15.2 | 0 | 8 | 2 | 25.0 | 0.53 | 0.13 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 25 | Charlton Athletic | eng ENG | FA Cup | 0.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 2.0 | 0 | 1 | 0 | 0.0 | 0.50 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | EFL Cup | 0.8 | 0 | 2 | 2 | 100.0 | 2.37 | 2.37 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | FA Cup | 1.0 | 0 | 1 | 1 | 100.0 | 1.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | 3. League One | 8.4 | 2 | 8 | 2 | 25.0 | 0.95 | 0.24 | 0.25 | 1.00 | 0 | 0 | Matches |
| 2021-2022 | 27 | Swindon Town | eng ENG | FA Cup | 1.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 27 | Swindon Town | eng ENG | 4. League Two | 24.6 | 5 | 25 | 9 | 36.0 | 1.02 | 0.37 | 0.20 | 0.56 | 0 | 0 | Matches |
| 2022-2023 | 28 | Swindon Town | eng ENG | EFL Cup | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2022-2023 | 28 | Swindon Town | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | Matches | |||||||
| 2022-2023 | 28 | Swindon Town | eng ENG | 4. League Two | 30.7 | 10 | 44 | 18 | 40.9 | 1.43 | 0.59 | 0.23 | 0.56 | 0 | 0 | Matches |
| 2023-2024 | 29 | Gillingham | eng ENG | EFL Cup | 0.4 | 0 | 1 | 0 | 0.0 | 2.37 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 29 | Gillingham | eng ENG | FA Cup | 1.2 | 0 | 2 | 1 | 50.0 | 1.67 | 0.83 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 29 | Gillingham | eng ENG | 4. League Two | 27.0 | 0 | 32 | 8 | 25.0 | 1.18 | 0.30 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 30 | Gillingham | eng ENG | EFL Cup | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2024-2025 | 30 | Gillingham | eng ENG | 4. League Two | 10.9 | 1 | 14 | 3 | 21.4 | 1.28 | 0.28 | 0.07 | 0.33 | 0 | 0 | Matches |
| 2025-2026 | 31 | Gillingham | eng ENG | EFL Cup | 1.0 | 0 | 3 | 0 | 0.0 | 3.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2025-2026 | 31 | Gillingham | eng ENG | 4. League Two | 15.5 | 1 | 10 | 3 | 30.0 | 0.64 | 0.19 | 0.10 | 0.33 | 0 | 0 | Matches |
| 15 Seasons | 9 Clubs | 6 Leagues | 215.8 | 22 | 155 | 67 | 32.3 | 1.02 | 0.33 | 0.13 | 0.33 | 0 | 0 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Crystal Palace (6 Seasons) | 3 Leagues | 24.1 | 0 | 0 | 5 | 0.00 | 0.22 | 0.00 | 0 | 0 | ||||||
| Gillingham (3 Seasons) | 3 Leagues | 56.7 | 2 | 62 | 15 | 24.2 | 1.09 | 0.26 | 0.03 | 0.13 | 0 | 0 | ||||
| Charlton Athletic (3 Seasons) | 4 Leagues | 38.3 | 2 | 19 | 7 | 36.8 | 0.74 | 0.27 | 0.11 | 0.29 | 0 | 0 | ||||
| Ipswich Town (3 Seasons) | 1 League | 16.6 | 2 | 0 | 6 | 0.00 | 0.36 | 0.33 | 0 | 0 | ||||||
| Swindon Town (2 Seasons) | 3 Leagues | 58.4 | 15 | 69 | 27 | 39.1 | 1.20 | 0.47 | 0.22 | 0.56 | 0 | 0 | ||||
| Milton Keynes Dons (1 Season) | 2 Leagues | 8.9 | 0 | 6 | 0.70 | 0.00 | 0 | 0 | ||||||||
| Sunderland (1 Season) | 2 Leagues | 6.5 | 1 | 4 | 1 | 25.0 | 0.61 | 0.15 | 0.25 | 1.00 | 0 | 0 | ||||
| Nottingham Forest (1 Season) | 1 League | 4.3 | 0 | 0 | 0.00 | 0 | 0 | |||||||||
| Cardiff City (1 Season) | 1 League | 2.0 | 0 | 1 | 0 | 0.0 | 0.50 | 0.00 | 0.00 | 0 | 0 | |||||
| Sunderland (1 Season) | 1 League | 1.8 | 0 | 0 | 0 | |||||||||||
| Championship (9 Seasons) | 71.9 | 3 | 13 | 19 | 23.1 | 0.51 | 0.26 | 0.08 | 0.16 | 0 | 0 | |||||
| EFL Cup (8 Seasons) | 6.4 | 0 | 6 | 2 | 33.3 | 1.26 | 0.42 | 0.00 | 0.00 | 0 | 0 | |||||
| FA Cup (7 Seasons) | 5.1 | 0 | 3 | 2 | 66.7 | 0.72 | 0.48 | 0.00 | 0.00 | 0 | 0 | |||||
| League Two (5 Seasons) | 108.7 | 17 | 125 | 41 | 32.8 | 1.15 | 0.38 | 0.14 | 0.41 | 0 | 0 | |||||
| Premier League (3 Seasons) | 2.6 | 0 | 1 | 0.38 | 0.00 | 0 | 0 | |||||||||
| League One (2 Seasons) | 21.0 | 2 | 8 | 2 | 25.0 | 0.95 | 0.24 | 0.25 | 1.00 | 0 | 0 | |||||
| PL2 — Div. 1 (1 Season) | 1.8 | 0 | 0 | 0 | ||||||||||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2011-2012 | 17 | Crystal Palace | 1 League | 6.7 | 0 | 3 | 0.45 | 0.00 | 0 | 0 | |||||
| 2012-2013 | 18 | Crystal Palace | 1 League | 12.3 | 0 | 1 | 0.08 | 0.00 | 0 | 0 | |||||
| 2013-2014 | 19 | Crystal Palace | 1 League | 2.1 | 0 | 1 | 0.48 | 0.00 | 0 | 0 | |||||
| 2013-2014 | 19 | Ipswich Town | 1 League | 10.6 | 1 | 5 | 0.47 | 0.20 | 0 | 0 | |||||
| 2014-2015 | 20 | Ipswich Town | 1 League | 3.8 | 1 | 1 | 0.26 | 1.00 | 0 | 0 | |||||
| 2014-2015 | 20 | Crystal Palace | 2 Leagues | 2.1 | 0 | 0 | 0.00 | 0 | 0 | ||||||
| 2015-2016 | 21 | Crystal Palace | 1 League | 0.1 | 0 | 0 | 0.00 | 0 | 0 | ||||||
| 2015-2016 | 21 | Nottingham Forest | 1 League | 4.3 | 0 | 0 | 0.00 | 0 | 0 | ||||||
| 2015-2016 | 21 | Milton Keynes Dons | 2 Leagues | 8.9 | 0 | 6 | 0.70 | 0.00 | 0 | 0 | |||||
| 2016-2017 | 22 | Ipswich Town | 1 League | 2.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2017-2018 | 23 | Sunderland | 1 League | 1.8 | 0 | 0 | 0 | ||||||||
| 2017-2018 | 23 | Sunderland | 2 Leagues | 6.5 | 1 | 4 | 1 | 25.0 | 0.61 | 0.15 | 0.25 | 1.00 | 0 | 0 | |
| 2018-2019 | 24 | Crystal Palace | 1 League | 0.8 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2018-2019 | 24 | Charlton Athletic | 1 League | 12.6 | 0 | 0 | 0 | ||||||||
| 2019-2020 | 25 | Charlton Athletic | 2 Leagues | 15.4 | 0 | 8 | 2 | 25.0 | 0.52 | 0.13 | 0.00 | 0.00 | 0 | 0 | |
| 2020-2021 | 26 | Charlton Athletic | 3 Leagues | 10.2 | 2 | 11 | 5 | 45.5 | 1.07 | 0.49 | 0.18 | 0.40 | 0 | 0 | |
| 2020-2021 | 26 | Cardiff City | 1 League | 2.0 | 0 | 1 | 0 | 0.0 | 0.50 | 0.00 | 0.00 | 0 | 0 | ||
| 2021-2022 | 27 | Swindon Town | 2 Leagues | 26.3 | 5 | 25 | 9 | 36.0 | 0.95 | 0.34 | 0.20 | 0.56 | 0 | 0 | |
| 2022-2023 | 28 | Swindon Town | 3 Leagues | 32.1 | 10 | 44 | 18 | 40.9 | 1.40 | 0.57 | 0.23 | 0.56 | 0 | 0 | |
| 2023-2024 | 29 | Gillingham | 3 Leagues | 28.6 | 0 | 35 | 9 | 25.7 | 1.22 | 0.31 | 0.00 | 0.00 | 0 | 0 | |
| 2024-2025 | 30 | Gillingham | 3 Leagues | 11.6 | 1 | 14 | 3 | 21.4 | 1.21 | 0.26 | 0.07 | 0.33 | 0 | 0 | |
| 2025-2026 | 31 | Gillingham | 2 Leagues | 16.5 | 1 | 13 | 3 | 23.1 | 0.79 | 0.18 | 0.08 | 0.33 | 0 | 0 | |
| 15 Seasons | 9 Clubs | 6 Leagues | 215.8 | 22 | 155 | 67 | 32.3 | 1.02 | 0.33 | 0.13 | 0.33 | 0 | 0 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Crystal Palace (6 Seasons) | 3 Leagues | 24.1 | 0 | 0 | 5 | 0.00 | 0.22 | 0.00 | 0 | 0 | |||||
| Gillingham (3 Seasons) | 3 Leagues | 56.7 | 2 | 62 | 15 | 24.2 | 1.09 | 0.26 | 0.03 | 0.13 | 0 | 0 | |||
| Charlton Athletic (3 Seasons) | 4 Leagues | 38.3 | 2 | 19 | 7 | 36.8 | 0.74 | 0.27 | 0.11 | 0.29 | 0 | 0 | |||
| Ipswich Town (3 Seasons) | 1 League | 16.6 | 2 | 0 | 6 | 0.00 | 0.36 | 0.33 | 0 | 0 | |||||
| Swindon Town (2 Seasons) | 3 Leagues | 58.4 | 15 | 69 | 27 | 39.1 | 1.20 | 0.47 | 0.22 | 0.56 | 0 | 0 | |||
| Milton Keynes Dons (1 Season) | 2 Leagues | 8.9 | 0 | 6 | 0.70 | 0.00 | 0 | 0 | |||||||
| Sunderland (1 Season) | 2 Leagues | 6.5 | 1 | 4 | 1 | 25.0 | 0.61 | 0.15 | 0.25 | 1.00 | 0 | 0 | |||
| Nottingham Forest (1 Season) | 1 League | 4.3 | 0 | 0 | 0.00 | 0 | 0 | ||||||||
| Cardiff City (1 Season) | 1 League | 2.0 | 0 | 1 | 0 | 0.0 | 0.50 | 0.00 | 0.00 | 0 | 0 | ||||
| Sunderland (1 Season) | 1 League | 1.8 | 0 | 0 | 0 | ||||||||||
| Championship (9 Seasons) | 71.9 | 3 | 13 | 19 | 23.1 | 0.51 | 0.26 | 0.08 | 0.16 | 0 | 0 | ||||
| EFL Cup (8 Seasons) | 6.4 | 0 | 6 | 2 | 33.3 | 1.26 | 0.42 | 0.00 | 0.00 | 0 | 0 | ||||
| FA Cup (7 Seasons) | 5.1 | 0 | 3 | 2 | 66.7 | 0.72 | 0.48 | 0.00 | 0.00 | 0 | 0 | ||||
| League Two (5 Seasons) | 108.7 | 17 | 125 | 41 | 32.8 | 1.15 | 0.38 | 0.14 | 0.41 | 0 | 0 | ||||
| Premier League (3 Seasons) | 2.6 | 0 | 1 | 0.38 | 0.00 | 0 | 0 | ||||||||
| League One (2 Seasons) | 21.0 | 2 | 8 | 2 | 25.0 | 0.95 | 0.24 | 0.25 | 1.00 | 0 | 0 | ||||
| PL2 — Div. 1 (1 Season) | 1.8 | 0 | 0 | 0 | |||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2011-2012 | 17 | Crystal Palace | eng ENG | 2. Championship | 17th | 6.7 | 0 | 3 | 0.45 | 0.00 | 0 | 0 | |||||
| 2012-2013 | 18 | Crystal Palace | eng ENG | 2. Championship | 5th | 12.3 | 0 | 1 | 0.08 | 0.00 | 0 | 0 | |||||
| 2013-2014 | 19 | Crystal Palace | eng ENG | 1. Premier League | 11th | 2.1 | 0 | 1 | 0.48 | 0.00 | 0 | 0 | Matches | ||||
| 2013-2014 | 19 | Ipswich Town | eng ENG | 2. Championship | 9th | 10.6 | 1 | 5 | 0.47 | 0.20 | 0 | 0 | Matches | ||||
| 2014-2015 | 20 | Ipswich Town | eng ENG | 2. Championship | 6th | 3.8 | 1 | 1 | 0.26 | 1.00 | 0 | 0 | Matches | ||||
| 2014-2015 | 20 | Crystal Palace | eng ENG | 1. Premier League | 10th | 0.4 | 0 | 0 | 0.00 | 0 | 0 | Matches | |||||
| 2015-2016 | 21 | Crystal Palace | eng ENG | 1. Premier League | 15th | 0.1 | 0 | 0 | 0.00 | 0 | 0 | Matches | |||||
| 2015-2016 | 21 | Nottingham Forest | eng ENG | 2. Championship | 16th | 4.3 | 0 | 0 | 0.00 | 0 | 0 | Matches | |||||
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | 2. Championship | 23rd | 8.6 | 0 | 6 | 0.70 | 0.00 | 0 | 0 | Matches | ||||
| 2016-2017 | 22 | Ipswich Town | eng ENG | 2. Championship | 16th | 2.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2017-2018 | 23 | Sunderland | eng ENG | 2. Championship | 24th | 6.2 | 1 | 4 | 1 | 25.0 | 0.65 | 0.16 | 0.25 | 1.00 | 0 | 0 | Matches |
| 2017-2018 | 23 | Sunderland | eng ENG | Jr. PL2 — Div. 1 | 11th | 1.8 | 0 | 0 | 0 | Matches | |||||||
| 2018-2019 | 24 | Charlton Athletic | eng ENG | 3. League One | 3rd | 12.6 | 0 | 0 | 0 | Matches | |||||||
| 2019-2020 | 25 | Charlton Athletic | eng ENG | 2. Championship | 22nd | 15.2 | 0 | 8 | 2 | 25.0 | 0.53 | 0.13 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | 3. League One | 7th | 8.4 | 2 | 8 | 2 | 25.0 | 0.95 | 0.24 | 0.25 | 1.00 | 0 | 0 | Matches |
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 8th | 2.0 | 0 | 1 | 0 | 0.0 | 0.50 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 27 | Swindon Town | eng ENG | 4. League Two | 6th | 24.6 | 5 | 25 | 9 | 36.0 | 1.02 | 0.37 | 0.20 | 0.56 | 0 | 0 | Matches |
| 2022-2023 | 28 | Swindon Town | eng ENG | 4. League Two | 10th | 30.7 | 10 | 44 | 18 | 40.9 | 1.43 | 0.59 | 0.23 | 0.56 | 0 | 0 | Matches |
| 2023-2024 | 29 | Gillingham | eng ENG | 4. League Two | 12th | 27.0 | 0 | 32 | 8 | 25.0 | 1.18 | 0.30 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 30 | Gillingham | eng ENG | 4. League Two | 17th | 10.9 | 1 | 14 | 3 | 21.4 | 1.28 | 0.28 | 0.07 | 0.33 | 0 | 0 | Matches |
| 2025-2026 | 31 | Gillingham | eng ENG | 4. League Two | 17th | 15.5 | 1 | 10 | 3 | 30.0 | 0.64 | 0.19 | 0.10 | 0.33 | 0 | 0 | Matches |
| 15 Seasons | 9 Clubs | 4 Leagues | 204.3 | 22 | 146 | 63 | 31.5 | 1.02 | 0.33 | 0.14 | 0.35 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Crystal Palace (5 Seasons) | 2 Leagues | 21.6 | 0 | 5 | 0.23 | 0.00 | 0 | 0 | |||||||||
| Gillingham (3 Seasons) | 1 League | 53.4 | 2 | 56 | 14 | 25.0 | 1.05 | 0.26 | 0.04 | 0.14 | 0 | 0 | |||||
| Charlton Athletic (3 Seasons) | 2 Leagues | 36.2 | 2 | 16 | 4 | 25.0 | 0.68 | 0.17 | 0.13 | 0.50 | 0 | 0 | |||||
| Ipswich Town (3 Seasons) | 1 League | 16.6 | 2 | 0 | 6 | 0.00 | 0.36 | 0.33 | 0 | 0 | |||||||
| Swindon Town (2 Seasons) | 1 League | 55.3 | 15 | 69 | 27 | 39.1 | 1.25 | 0.49 | 0.22 | 0.56 | 0 | 0 | |||||
| Milton Keynes Dons (1 Season) | 1 League | 8.6 | 0 | 6 | 0.70 | 0.00 | 0 | 0 | |||||||||
| Sunderland (1 Season) | 1 League | 6.2 | 1 | 4 | 1 | 25.0 | 0.65 | 0.16 | 0.25 | 1.00 | 0 | 0 | |||||
| Nottingham Forest (1 Season) | 1 League | 4.3 | 0 | 0 | 0.00 | 0 | 0 | ||||||||||
| Cardiff City (1 Season) | 1 League | 2.0 | 0 | 1 | 0 | 0.0 | 0.50 | 0.00 | 0.00 | 0 | 0 | ||||||
| Sunderland (1 Season) | 1 League | 1.8 | 0 | 0 | 0 | ||||||||||||
| Championship (9 Seasons) | 71.9 | 3 | 13 | 19 | 23.1 | 0.51 | 0.26 | 0.08 | 0.16 | 0 | 0 | ||||||
| League Two (5 Seasons) | 108.7 | 17 | 125 | 41 | 32.8 | 1.15 | 0.38 | 0.14 | 0.41 | 0 | 0 | ||||||
| Premier League (3 Seasons) | 2.6 | 0 | 1 | 0.38 | 0.00 | 0 | 0 | ||||||||||
| League One (2 Seasons) | 21.0 | 2 | 8 | 2 | 25.0 | 0.95 | 0.24 | 0.25 | 1.00 | 0 | 0 | ||||||
| PL2 — Div. 1 (1 Season) | 1.8 | 0 | 0 | 0 | |||||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2014-2015 | 20 | Crystal Palace | eng ENG | League Cup | 17th | 1.7 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | FA Cup | 17th | 0.3 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 23 | Sunderland | eng ENG | EFL Cup | 17th | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 24 | Crystal Palace | eng ENG | EFL Cup | 9th | 0.8 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 25 | Charlton Athletic | eng ENG | FA Cup | 33rd | 0.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2020-2021 | 26 | Charlton Athletic | eng ENG | EFL Cup | 33rd | 0.8 | 0 | 2 | 2 | 100.0 | 2.37 | 2.37 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | FA Cup | 85th | 1.0 | 0 | 1 | 1 | 100.0 | 1.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 27 | Swindon Town | eng ENG | FA Cup | 1.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | ||||
| 2022-2023 | 28 | Swindon Town | eng ENG | EFL Cup | Rd1 | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2022-2023 | 28 | Swindon Town | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | Matches | ||||||||
| 2023-2024 | 29 | Gillingham | eng ENG | EFL Cup | Rd2 | 0.4 | 0 | 1 | 0 | 0.0 | 2.37 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 29 | Gillingham | eng ENG | FA Cup | 1.2 | 0 | 2 | 1 | 50.0 | 1.67 | 0.83 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2024-2025 | 30 | Gillingham | eng ENG | EFL Cup | Rd1 | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2025-2026 | 31 | Gillingham | eng ENG | EFL Cup | Rd1 | 1.0 | 0 | 3 | 0 | 0.0 | 3.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 11 Seasons | 6 Clubs | 2 Leagues | 11.5 | 0 | 9 | 4 | 44.4 | 1.01 | 0.45 | 0.00 | 0.00 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Gillingham (3 Seasons) | 2 Leagues | 3.3 | 0 | 6 | 1 | 16.7 | 1.83 | 0.31 | 0.00 | 0.00 | 0 | 0 | |||||
| Swindon Town (2 Seasons) | 2 Leagues | 3.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Crystal Palace (2 Seasons) | 1 League | 2.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Charlton Athletic (2 Seasons) | 2 Leagues | 2.1 | 0 | 3 | 3 | 100.0 | 1.44 | 1.44 | 0.00 | 0.00 | 0 | 0 | |||||
| Sunderland (1 Season) | 1 League | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Milton Keynes Dons (1 Season) | 1 League | 0.3 | 0 | 0 | 0 | ||||||||||||
| EFL Cup (8 Seasons) | 6.4 | 0 | 6 | 2 | 33.3 | 1.26 | 0.42 | 0.00 | 0.00 | 0 | 0 | ||||||
| FA Cup (7 Seasons) | 5.1 | 0 | 3 | 2 | 66.7 | 0.72 | 0.48 | 0.00 | 0.00 | 0 | 0 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2014 | 20 | wls Wales | Friendlies (M) | 0.2 | 0 | 0 | 0 | Matches | ||||||||
| 2014 | 20 | wls Wales | WCQ | 2.1 | 0 | 0 | 0 | Matches | ||||||||
| 2015 | 21 | wls Wales | Friendlies (M) | 0.6 | 0 | 0 | 0 | Matches | ||||||||
| 2016 | 22 | wls Wales | Friendlies (M) | 1.8 | 0 | 0 | 0 | Matches | ||||||||
| 2016 | 22 | wls Wales | UEFA Euro | SF | 1.6 | 0 | 1 | 0 | 0.0 | 0.63 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2016 | 22 | wls Wales | UEFA Euro Qualifying | 1.9 | 0 | 2 | 0 | 0.0 | 1.08 | 0.00 | 0.00 | 0 | 0 | Matches | ||
| 2018 | 24 | wls Wales | WCQ | 0.6 | 0 | 0 | 0 | Matches | ||||||||
| 2019 | 25 | wls Wales | Friendlies (M) | 1.0 | 0 | 0 | 0 | Matches | ||||||||
| 2020 | 26 | wls Wales | Friendlies (M) | 0.8 | 0 | 0 | 0 | Matches | ||||||||
| 2020-2021 | 26 | wls Wales | UEFA Nations League | LgB | 1.0 | 1 | 1 | 1 | 100.0 | 0.97 | 0.97 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2021 | 27 | wls Wales | Friendlies (M) | 1.8 | 0 | 0 | 0 | Matches | ||||||||
| 2021 | 27 | wls Wales | UEFA Euro Qualifying | 1.8 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | ||||
| 2022 | 28 | wls Wales | WCQ | 1.1 | 0 | 1 | 0 | 0.0 | 0.92 | 0.00 | 0.00 | 0 | 0 | Matches | ||
| 2022 | 28 | wls Wales | Friendlies (M) | 0.2 | 0 | 0 | 0 | Matches | ||||||||
| 2022-2023 | 28 | wls Wales | UEFA Nations League | LgA | 0.8 | 1 | 1 | 1 | 100.0 | 1.18 | 1.18 | 1.00 | 1.00 | 0 | 0 | Matches |
| 8 Seasons | 1 Club | 6 Leagues | 17.3 | 2 | 6 | 2 | 33.3 | 0.73 | 0.24 | 0.33 | 1.00 | 0 | 0 | |||
| Friendlies (M) (7 Seasons) | 6.5 | 0 | 0 | 0 | ||||||||||||
| WCQ (3 Seasons) | 3.8 | 0 | 1 | 0 | 0.0 | 0.92 | 0.00 | 0.00 | 0 | 0 | ||||||
| UEFA Euro Qualifying (2 Seasons) | 3.6 | 0 | 2 | 0 | 0.0 | 0.55 | 0.00 | 0.00 | 0 | 0 | ||||||
| UEFA Euro (2 Seasons) | 1.6 | 0 | 1 | 0 | 0.0 | 0.63 | 0.00 | 0.00 | 0 | 0 | ||||||
| UEFA Nations League (2 Seasons) | 1.9 | 2 | 2 | 2 | 100.0 | 1.07 | 1.07 | 1.00 | 1.00 | 0 | 0 | |||||
| World Cup (1 Season) | ||||||||||||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2011-2012 | 17 | Crystal Palace | eng ENG | 2. Championship | 14 | 605 | 43 | 14.6 | 6.7 | 5 | 9 | |||||||||||
| 2012-2013 | 18 | Crystal Palace | eng ENG | 2. Championship | 29 | 1,104 | 38 | 26.7 | 12.3 | 11 | 18 | |||||||||||
| 2013-2014 | 19 | Ipswich Town | eng ENG | 2. Championship | 13 | 952 | 73 | 23.0 | 10.6 | 11 | 2 | Matches | ||||||||||
| 2013-2014 | 19 | Crystal Palace | eng ENG | 1. Premier League | 9 | 188 | 21 | 5.5 | 2.1 | 0 | 9 | Matches | ||||||||||
| 2014-2015 | 20 | Ipswich Town | eng ENG | 2. Championship | 7 | 343 | 49 | 8.3 | 3.8 | 4 | 0 | 3 | 3 | 1.29 | 5 | 3 | +2 | +0.52 | +0.15 | Matches | ||
| 2014-2015 | 20 | Crystal Palace | eng ENG | League Cup | 2 | 152 | 76 | 72.4 | 1.7 | 2 | 76 | 0 | 0 | 0 | 1.50 | 4 | 2 | +2 | +1.18 | +1.18 | Matches | |
| 2014-2015 | 20 | Crystal Palace | eng ENG | 1. Premier League | 2 | 36 | 18 | 1.1 | 0.4 | 0 | 0 | 2 | 1 | 0.50 | 0 | 0 | 0 | 0.00 | +0.11 | Matches | ||
| 2015-2016 | 21 | Nottingham Forest | eng ENG | 2. Championship | 10 | 386 | 39 | 9.3 | 4.3 | 4 | 0 | 6 | 6 | 0.70 | 4 | 2 | +2 | +0.47 | +0.61 | Matches | ||
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | 2. Championship | 13 | 775 | 60 | 18.7 | 8.6 | 11 | 0 | 2 | 4 | 0.69 | 6 | 11 | -5 | -0.58 | +0.09 | Matches | ||
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | FA Cup | 1 | 25 | 25 | 9.3 | 0.3 | 0 | 0 | 1 | 24 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +0.37 | Matches | |
| 2015-2016 | 21 | Crystal Palace | eng ENG | 1. Premier League | 1 | 11 | 11 | 0.3 | 0.1 | 0 | 0 | 1 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +0.32 | Matches | ||
| 2016-2017 | 22 | Ipswich Town | eng ENG | 2. Championship | 8 | 201 | 25 | 4.9 | 2.2 | 1 | 0 | 7 | 4 | 1.00 | 4 | 1 | +3 | +1.34 | +1.64 | Matches | ||
| 2017-2018 | 23 | Sunderland | eng ENG | 2. Championship | 12 | 558 | 47 | 13.5 | 6.2 | 7 | 2 | 5 | 4 | 0.50 | 8 | 9 | -1 | -0.16 | +0.52 | Matches | ||
| 2017-2018 | 23 | Sunderland | eng ENG | EFL Cup | 1 | 28 | 28 | 10.4 | 0.3 | 0 | 0 | 1 | 27 | 0 | 0.00 | 0 | 1 | -1 | -3.21 | -3.21 | Matches | |
| 2017-2018 | 23 | Sunderland | eng ENG | Jr. PL2 — Div. 1 | 2 | 161 | 81 | 8.1 | 1.8 | 2 | 81 | 0 | 0 | 0 | 1.50 | 2 | 3 | -1 | -0.56 | +0.38 | Matches | |
| 2018-2019 | 24 | Crystal Palace | eng ENG | EFL Cup | 1 | 75 | 75 | 27.8 | 0.8 | 1 | 75 | 0 | 0 | 2 | 3.00 | 1 | 0 | +1 | +1.20 | +0.28 | Matches | |
| 2018-2019 | 24 | Charlton Athletic | eng ENG | 3. League One | 16 | 1,136 | 71 | 27.4 | 12.6 | 14 | 78 | 4 | 2 | 23 | 1 | 1.94 | 16 | 7 | +9 | +0.71 | -0.01 | Matches |
| 2019-2020 | 25 | Charlton Athletic | eng ENG | 2. Championship | 26 | 1,368 | 53 | 33.0 | 15.2 | 15 | 68 | 2 | 11 | 32 | 2 | 1.19 | 21 | 21 | 0 | 0.00 | +0.49 | Matches |
| 2019-2020 | 25 | Charlton Athletic | eng ENG | FA Cup | 1 | 21 | 21 | 23.3 | 0.2 | 0 | 0 | 1 | 21 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.30 | Matches | |
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 9 | 181 | 20 | 4.4 | 2.0 | 1 | 70 | 0 | 8 | 14 | 7 | 1.44 | 3 | 5 | -2 | -0.99 | -1.43 | Matches |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | EFL Cup | 1 | 76 | 76 | 42.2 | 0.8 | 1 | 76 | 0 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.37 | -3.23 | Matches | |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2020-2021 | 26 | Charlton Athletic | eng ENG | 3. League One | 18 | 755 | 42 | 18.2 | 8.4 | 7 | 65 | 0 | 11 | 27 | 6 | 1.28 | 16 | 14 | +2 | +0.24 | -0.08 | Matches |
| 2021-2022 | 27 | Swindon Town | eng ENG | FA Cup | 3 | 155 | 52 | 57.4 | 1.7 | 2 | 68 | 0 | 1 | 20 | 0 | 2.00 | 4 | 2 | +2 | +1.16 | +1.94 | Matches |
| 2021-2022 | 27 | Swindon Town | eng ENG | 4. League Two | 40 | 2,211 | 55 | 53.4 | 24.6 | 24 | 76 | 6 | 16 | 25 | 0 | 1.64 | 45 | 32 | +13 | +0.53 | +0.06 | Matches |
| 2022-2023 | 28 | Swindon Town | eng ENG | EFL Cup | 1 | 61 | 61 | 67.8 | 0.7 | 1 | 61 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +6.21 | Matches | |
| 2022-2023 | 28 | Swindon Town | eng ENG | FA Cup | 1 | 59 | 59 | 65.6 | 0.7 | 1 | 59 | 0 | 0 | 0 | 0.00 | 0 | 4 | -4 | -6.10 | -6.10 | Matches | |
| 2022-2023 | 28 | Swindon Town | eng ENG | 4. League Two | 37 | 2,766 | 75 | 66.8 | 30.7 | 35 | 78 | 11 | 2 | 18 | 0 | 1.38 | 40 | 31 | +9 | +0.29 | +0.49 | Matches |
| 2023-2024 | 29 | Gillingham | eng ENG | EFL Cup | 2 | 38 | 19 | 21.1 | 0.4 | 0 | 0 | 2 | 19 | 0 | 1.50 | 1 | 1 | 0 | 0.00 | -0.63 | Matches | |
| 2023-2024 | 29 | Gillingham | eng ENG | FA Cup | 2 | 108 | 54 | 40.0 | 1.2 | 2 | 54 | 0 | 0 | 0 | 3.00 | 3 | 0 | +3 | +2.50 | +4.17 | Matches | |
| 2023-2024 | 29 | Gillingham | eng ENG | 4. League Two | 42 | 2,431 | 58 | 58.7 | 27.0 | 31 | 72 | 4 | 11 | 19 | 1 | 1.31 | 30 | 31 | -1 | -0.04 | +0.49 | Matches |
| 2024-2025 | 30 | Gillingham | eng ENG | EFL Cup | 1 | 59 | 59 | 65.6 | 0.7 | 1 | 59 | 0 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.53 | +1.38 | Matches | |
| 2024-2025 | 30 | Gillingham | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2024-2025 | 30 | Gillingham | eng ENG | 4. League Two | 26 | 981 | 38 | 23.7 | 10.9 | 8 | 78 | 2 | 18 | 20 | 8 | 1.46 | 9 | 13 | -4 | -0.37 | -0.34 | Matches |
| 2025-2026 | 31 | Gillingham | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 1.00 | 1 | 1 | 0 | 0.00 | Matches | ||
| 2025-2026 | 31 | Gillingham | eng ENG | 4. League Two | 26 | 1,396 | 54 | 33.7 | 15.5 | 14 | 79 | 5 | 12 | 24 | 7 | 1.15 | 19 | 29 | -10 | -0.64 | -0.35 | Matches |
| 15 Seasons | 9 Clubs | 6 Leagues | 377 | 19,421 | 52 | 23.3 | 215.8 | 216 | 74 | 38 | 161 | 23 | 57 | 1.28 | 240 | 224 | +16 | +0.09 | +0.17 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Crystal Palace (6 Seasons) | 3 Leagues | 58 | 2,171 | 37 | 11.4 | 24.1 | 19 | 76 | 0 | 39 | 3 | 1.17 | 5 | 2 | +3 | +0.99 | +1.16 | |||||
| Gillingham (3 Seasons) | 3 Leagues | 100 | 5,103 | 51 | 38.8 | 56.7 | 57 | 74 | 12 | 43 | 21 | 17 | 1.33 | 63 | 76 | -13 | -0.23 | +0.03 | ||||
| Charlton Athletic (3 Seasons) | 4 Leagues | 63 | 3,446 | 55 | 27.0 | 38.3 | 38 | 72 | 7 | 25 | 29 | 9 | 1.35 | 53 | 45 | +8 | +0.21 | +0.01 | ||||
| Ipswich Town (3 Seasons) | 1 League | 28 | 1,496 | 53 | 12.0 | 16.6 | 16 | 0 | 12 | 7 | 1.14 | 9 | 4 | +5 | +0.83 | +0.79 | ||||||
| Swindon Town (2 Seasons) | 3 Leagues | 82 | 5,252 | 64 | 60.2 | 58.4 | 63 | 76 | 17 | 19 | 24 | 0 | 1.50 | 89 | 69 | +20 | +0.34 | +0.24 | ||||
| Milton Keynes Dons (1 Season) | 2 Leagues | 14 | 800 | 57 | 18.1 | 8.9 | 11 | 0 | 3 | 24 | 4 | 0.64 | 6 | 11 | -5 | -0.56 | +0.09 | |||||
| Sunderland (1 Season) | 2 Leagues | 13 | 586 | 45 | 13.3 | 6.5 | 7 | 2 | 6 | 27 | 4 | 0.46 | 8 | 10 | -2 | -0.31 | +0.33 | |||||
| Nottingham Forest (1 Season) | 1 League | 10 | 386 | 39 | 9.3 | 4.3 | 4 | 0 | 6 | 6 | 0.70 | 4 | 2 | +2 | +0.47 | +0.61 | ||||||
| Cardiff City (1 Season) | 1 League | 9 | 181 | 20 | 4.4 | 2.0 | 1 | 70 | 0 | 8 | 14 | 7 | 1.44 | 3 | 5 | -2 | -0.99 | -1.43 | ||||
| Sunderland (1 Season) | 1 League | 2 | 161 | 81 | 8.1 | 1.8 | 2 | 81 | 0 | 0 | 0 | 1.50 | 2 | 3 | -1 | -0.56 | +0.38 | |||||
| Championship (9 Seasons) | 141 | 6,473 | 46 | 15.6 | 71.9 | 70 | 68 | 4 | 71 | 24 | 30 | 0.98 | 51 | 52 | -1 | -0.02 | +0.16 | |||||
| EFL Cup (8 Seasons) | 10 | 579 | 58 | 42.0 | 6.4 | 7 | 73 | 1 | 3 | 22 | 2 | 1.00 | 7 | 8 | -1 | -0.16 | -0.27 | |||||
| FA Cup (7 Seasons) | 9 | 458 | 51 | 39.1 | 5.1 | 6 | 66 | 1 | 3 | 22 | 1 | 1.33 | 7 | 7 | 0 | 0.00 | +0.87 | |||||
| League Two (5 Seasons) | 171 | 9,785 | 57 | 47.3 | 108.7 | 112 | 76 | 28 | 59 | 22 | 16 | 1.40 | 143 | 136 | +7 | +0.06 | +0.17 | |||||
| Premier League (3 Seasons) | 12 | 235 | 20 | 2.3 | 2.6 | 0 | 0 | 12 | 1 | 0.33 | 0 | 0 | 0 | 0.00 | +0.21 | |||||||
| League One (2 Seasons) | 34 | 1,891 | 56 | 22.8 | 21.0 | 21 | 74 | 4 | 13 | 27 | 7 | 1.59 | 32 | 21 | +11 | +0.52 | +0.02 | |||||
| PL2 — Div. 1 (1 Season) | 2 | 161 | 81 | 8.1 | 1.8 | 2 | 81 | 0 | 0 | 0 | 1.50 | 2 | 3 | -1 | -0.56 | +0.38 | ||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2011-2012 | 17 | Crystal Palace | 1 League | 14 | 605 | 43 | 14.6 | 6.7 | 5 | 9 | |||||||||||
| 2012-2013 | 18 | Crystal Palace | 1 League | 29 | 1,104 | 38 | 26.7 | 12.3 | 11 | 18 | |||||||||||
| 2013-2014 | 19 | Crystal Palace | 1 League | 9 | 188 | 21 | 5.5 | 2.1 | 0 | 9 | |||||||||||
| 2013-2014 | 19 | Ipswich Town | 1 League | 13 | 952 | 73 | 23.0 | 10.6 | 11 | 2 | |||||||||||
| 2014-2015 | 20 | Ipswich Town | 1 League | 7 | 343 | 49 | 8.3 | 3.8 | 4 | 0 | 3 | 3 | 1.29 | 5 | 3 | +2 | +0.52 | +0.15 | |||
| 2014-2015 | 20 | Crystal Palace | 2 Leagues | 4 | 188 | 47 | 5.2 | 2.1 | 2 | 76 | 0 | 2 | 1 | 1.00 | 4 | 2 | +2 | +0.96 | +1.06 | ||
| 2015-2016 | 21 | Crystal Palace | 1 League | 1 | 11 | 11 | 0.3 | 0.1 | 0 | 0 | 1 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +0.32 | |||
| 2015-2016 | 21 | Nottingham Forest | 1 League | 10 | 386 | 39 | 9.3 | 4.3 | 4 | 0 | 6 | 6 | 0.70 | 4 | 2 | +2 | +0.47 | +0.61 | |||
| 2015-2016 | 21 | Milton Keynes Dons | 2 Leagues | 14 | 800 | 57 | 18.1 | 8.9 | 11 | 0 | 3 | 24 | 4 | 0.64 | 6 | 11 | -5 | -0.56 | +0.09 | ||
| 2016-2017 | 22 | Ipswich Town | 1 League | 8 | 201 | 25 | 4.9 | 2.2 | 1 | 0 | 7 | 4 | 1.00 | 4 | 1 | +3 | +1.34 | +1.64 | |||
| 2017-2018 | 23 | Sunderland | 1 League | 2 | 161 | 81 | 8.1 | 1.8 | 2 | 81 | 0 | 0 | 0 | 1.50 | 2 | 3 | -1 | -0.56 | +0.38 | ||
| 2017-2018 | 23 | Sunderland | 2 Leagues | 13 | 586 | 45 | 13.3 | 6.5 | 7 | 2 | 6 | 27 | 4 | 0.46 | 8 | 10 | -2 | -0.31 | +0.33 | ||
| 2018-2019 | 24 | Crystal Palace | 1 League | 1 | 75 | 75 | 27.8 | 0.8 | 1 | 75 | 0 | 0 | 2 | 3.00 | 1 | 0 | +1 | +1.20 | +0.28 | ||
| 2018-2019 | 24 | Charlton Athletic | 1 League | 16 | 1,136 | 71 | 27.4 | 12.6 | 14 | 78 | 4 | 2 | 23 | 1 | 1.94 | 16 | 7 | +9 | +0.71 | -0.01 | |
| 2019-2020 | 25 | Charlton Athletic | 2 Leagues | 27 | 1,389 | 51 | 32.8 | 15.4 | 15 | 68 | 2 | 12 | 31 | 2 | 1.15 | 21 | 21 | 0 | 0.00 | +0.51 | |
| 2020-2021 | 26 | Charlton Athletic | 3 Leagues | 20 | 921 | 46 | 20.9 | 10.2 | 9 | 69 | 1 | 11 | 27 | 6 | 1.15 | 16 | 17 | -1 | -0.10 | -0.43 | |
| 2020-2021 | 26 | Cardiff City | 1 League | 9 | 181 | 20 | 4.4 | 2.0 | 1 | 70 | 0 | 8 | 14 | 7 | 1.44 | 3 | 5 | -2 | -0.99 | -1.43 | |
| 2021-2022 | 27 | Swindon Town | 2 Leagues | 43 | 2,366 | 55 | 53.7 | 26.3 | 26 | 75 | 6 | 17 | 24 | 0 | 1.67 | 49 | 34 | +15 | +0.57 | +0.17 | |
| 2022-2023 | 28 | Swindon Town | 3 Leagues | 39 | 2,886 | 74 | 66.8 | 32.1 | 37 | 77 | 11 | 2 | 18 | 0 | 1.31 | 40 | 35 | +5 | +0.16 | +0.47 | |
| 2023-2024 | 29 | Gillingham | 3 Leagues | 46 | 2,577 | 56 | 56.1 | 28.6 | 33 | 71 | 4 | 13 | 19 | 1 | 1.39 | 34 | 32 | +2 | +0.07 | +0.61 | |
| 2024-2025 | 30 | Gillingham | 3 Leagues | 27 | 1,040 | 39 | 24.1 | 11.6 | 9 | 76 | 2 | 18 | 20 | 9 | 1.41 | 9 | 14 | -5 | -0.43 | -0.38 | |
| 2025-2026 | 31 | Gillingham | 2 Leagues | 27 | 1,486 | 55 | 35.1 | 16.5 | 15 | 80 | 6 | 12 | 24 | 7 | 1.14 | 20 | 30 | -10 | -0.61 | -0.31 | |
| 15 Seasons | 9 Clubs | 6 Leagues | 377 | 19,421 | 52 | 23.3 | 215.8 | 216 | 74 | 38 | 161 | 23 | 57 | 1.28 | 240 | 224 | +16 | +0.09 | +0.17 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Crystal Palace (6 Seasons) | 3 Leagues | 58 | 2,171 | 37 | 11.4 | 24.1 | 19 | 76 | 0 | 39 | 3 | 1.17 | 5 | 2 | +3 | +0.99 | +1.16 | ||||
| Gillingham (3 Seasons) | 3 Leagues | 100 | 5,103 | 51 | 38.8 | 56.7 | 57 | 74 | 12 | 43 | 21 | 17 | 1.33 | 63 | 76 | -13 | -0.23 | +0.03 | |||
| Charlton Athletic (3 Seasons) | 4 Leagues | 63 | 3,446 | 55 | 27.0 | 38.3 | 38 | 72 | 7 | 25 | 29 | 9 | 1.35 | 53 | 45 | +8 | +0.21 | +0.01 | |||
| Ipswich Town (3 Seasons) | 1 League | 28 | 1,496 | 53 | 12.0 | 16.6 | 16 | 0 | 12 | 7 | 1.14 | 9 | 4 | +5 | +0.83 | +0.79 | |||||
| Swindon Town (2 Seasons) | 3 Leagues | 82 | 5,252 | 64 | 60.2 | 58.4 | 63 | 76 | 17 | 19 | 24 | 0 | 1.50 | 89 | 69 | +20 | +0.34 | +0.24 | |||
| Milton Keynes Dons (1 Season) | 2 Leagues | 14 | 800 | 57 | 18.1 | 8.9 | 11 | 0 | 3 | 24 | 4 | 0.64 | 6 | 11 | -5 | -0.56 | +0.09 | ||||
| Sunderland (1 Season) | 2 Leagues | 13 | 586 | 45 | 13.3 | 6.5 | 7 | 2 | 6 | 27 | 4 | 0.46 | 8 | 10 | -2 | -0.31 | +0.33 | ||||
| Nottingham Forest (1 Season) | 1 League | 10 | 386 | 39 | 9.3 | 4.3 | 4 | 0 | 6 | 6 | 0.70 | 4 | 2 | +2 | +0.47 | +0.61 | |||||
| Cardiff City (1 Season) | 1 League | 9 | 181 | 20 | 4.4 | 2.0 | 1 | 70 | 0 | 8 | 14 | 7 | 1.44 | 3 | 5 | -2 | -0.99 | -1.43 | |||
| Sunderland (1 Season) | 1 League | 2 | 161 | 81 | 8.1 | 1.8 | 2 | 81 | 0 | 0 | 0 | 1.50 | 2 | 3 | -1 | -0.56 | +0.38 | ||||
| Championship (9 Seasons) | 141 | 6,473 | 46 | 15.6 | 71.9 | 70 | 68 | 4 | 71 | 24 | 30 | 0.98 | 51 | 52 | -1 | -0.02 | +0.16 | ||||
| EFL Cup (8 Seasons) | 10 | 579 | 58 | 42.0 | 6.4 | 7 | 73 | 1 | 3 | 22 | 2 | 1.00 | 7 | 8 | -1 | -0.16 | -0.27 | ||||
| FA Cup (7 Seasons) | 9 | 458 | 51 | 39.1 | 5.1 | 6 | 66 | 1 | 3 | 22 | 1 | 1.33 | 7 | 7 | 0 | 0.00 | +0.87 | ||||
| League Two (5 Seasons) | 171 | 9,785 | 57 | 47.3 | 108.7 | 112 | 76 | 28 | 59 | 22 | 16 | 1.40 | 143 | 136 | +7 | +0.06 | +0.17 | ||||
| Premier League (3 Seasons) | 12 | 235 | 20 | 2.3 | 2.6 | 0 | 0 | 12 | 1 | 0.33 | 0 | 0 | 0 | 0.00 | +0.21 | ||||||
| League One (2 Seasons) | 34 | 1,891 | 56 | 22.8 | 21.0 | 21 | 74 | 4 | 13 | 27 | 7 | 1.59 | 32 | 21 | +11 | +0.52 | +0.02 | ||||
| PL2 — Div. 1 (1 Season) | 2 | 161 | 81 | 8.1 | 1.8 | 2 | 81 | 0 | 0 | 0 | 1.50 | 2 | 3 | -1 | -0.56 | +0.38 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2011-2012 | 17 | Crystal Palace | eng ENG | 2. Championship | 17th | 14 | 605 | 43 | 14.6 | 6.7 | 5 | 9 | |||||||||||
| 2012-2013 | 18 | Crystal Palace | eng ENG | 2. Championship | 5th | 29 | 1,104 | 38 | 26.7 | 12.3 | 11 | 18 | |||||||||||
| 2013-2014 | 19 | Crystal Palace | eng ENG | 1. Premier League | 11th | 9 | 188 | 21 | 5.5 | 2.1 | 0 | 9 | Matches | ||||||||||
| 2013-2014 | 19 | Ipswich Town | eng ENG | 2. Championship | 9th | 13 | 952 | 73 | 23.0 | 10.6 | 11 | 2 | Matches | ||||||||||
| 2014-2015 | 20 | Ipswich Town | eng ENG | 2. Championship | 6th | 7 | 343 | 49 | 8.3 | 3.8 | 4 | 0 | 3 | 3 | 1.29 | 5 | 3 | +2 | +0.52 | +0.15 | Matches | ||
| 2014-2015 | 20 | Crystal Palace | eng ENG | 1. Premier League | 10th | 2 | 36 | 18 | 1.1 | 0.4 | 0 | 0 | 2 | 1 | 0.50 | 0 | 0 | 0 | 0.00 | +0.11 | Matches | ||
| 2015-2016 | 21 | Crystal Palace | eng ENG | 1. Premier League | 15th | 1 | 11 | 11 | 0.3 | 0.1 | 0 | 0 | 1 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +0.32 | Matches | ||
| 2015-2016 | 21 | Nottingham Forest | eng ENG | 2. Championship | 16th | 10 | 386 | 39 | 9.3 | 4.3 | 4 | 0 | 6 | 6 | 0.70 | 4 | 2 | +2 | +0.47 | +0.61 | Matches | ||
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | 2. Championship | 23rd | 13 | 775 | 60 | 18.7 | 8.6 | 11 | 0 | 2 | 4 | 0.69 | 6 | 11 | -5 | -0.58 | +0.09 | Matches | ||
| 2016-2017 | 22 | Ipswich Town | eng ENG | 2. Championship | 16th | 8 | 201 | 25 | 4.9 | 2.2 | 1 | 0 | 7 | 4 | 1.00 | 4 | 1 | +3 | +1.34 | +1.64 | Matches | ||
| 2017-2018 | 23 | Sunderland | eng ENG | 2. Championship | 24th | 12 | 558 | 47 | 13.5 | 6.2 | 7 | 2 | 5 | 4 | 0.50 | 8 | 9 | -1 | -0.16 | +0.52 | Matches | ||
| 2017-2018 | 23 | Sunderland | eng ENG | Jr. PL2 — Div. 1 | 11th | 2 | 161 | 81 | 8.1 | 1.8 | 2 | 81 | 0 | 0 | 0 | 1.50 | 2 | 3 | -1 | -0.56 | +0.38 | Matches | |
| 2018-2019 | 24 | Charlton Athletic | eng ENG | 3. League One | 3rd | 16 | 1,136 | 71 | 27.4 | 12.6 | 14 | 78 | 4 | 2 | 23 | 1 | 1.94 | 16 | 7 | +9 | +0.71 | -0.01 | Matches |
| 2019-2020 | 25 | Charlton Athletic | eng ENG | 2. Championship | 22nd | 26 | 1,368 | 53 | 33.0 | 15.2 | 15 | 68 | 2 | 11 | 32 | 2 | 1.19 | 21 | 21 | 0 | 0.00 | +0.49 | Matches |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | 3. League One | 7th | 18 | 755 | 42 | 18.2 | 8.4 | 7 | 65 | 0 | 11 | 27 | 6 | 1.28 | 16 | 14 | +2 | +0.24 | -0.08 | Matches |
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 8th | 9 | 181 | 20 | 4.4 | 2.0 | 1 | 70 | 0 | 8 | 14 | 7 | 1.44 | 3 | 5 | -2 | -0.99 | -1.43 | Matches |
| 2021-2022 | 27 | Swindon Town | eng ENG | 4. League Two | 6th | 40 | 2,211 | 55 | 53.4 | 24.6 | 24 | 76 | 6 | 16 | 25 | 0 | 1.64 | 45 | 32 | +13 | +0.53 | +0.06 | Matches |
| 2022-2023 | 28 | Swindon Town | eng ENG | 4. League Two | 10th | 37 | 2,766 | 75 | 66.8 | 30.7 | 35 | 78 | 11 | 2 | 18 | 0 | 1.38 | 40 | 31 | +9 | +0.29 | +0.49 | Matches |
| 2023-2024 | 29 | Gillingham | eng ENG | 4. League Two | 12th | 42 | 2,431 | 58 | 58.7 | 27.0 | 31 | 72 | 4 | 11 | 19 | 1 | 1.31 | 30 | 31 | -1 | -0.04 | +0.49 | Matches |
| 2024-2025 | 30 | Gillingham | eng ENG | 4. League Two | 17th | 26 | 981 | 38 | 23.7 | 10.9 | 8 | 78 | 2 | 18 | 20 | 8 | 1.46 | 9 | 13 | -4 | -0.37 | -0.34 | Matches |
| 2025-2026 | 31 | Gillingham | eng ENG | 4. League Two | 17th | 26 | 1,396 | 54 | 33.7 | 15.5 | 14 | 79 | 5 | 12 | 24 | 7 | 1.15 | 19 | 29 | -10 | -0.64 | -0.35 | Matches |
| 15 Seasons | 9 Clubs | 4 Leagues | 358 | 18,384 | 51 | 22.8 | 204.3 | 203 | 75 | 36 | 155 | 23 | 54 | 1.29 | 226 | 209 | +17 | +0.10 | +0.18 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Crystal Palace (5 Seasons) | 2 Leagues | 55 | 1,944 | 35 | 10.5 | 21.6 | 16 | 0 | 39 | 1 | 0.33 | 0 | 0 | 0 | 0.00 | +0.21 | |||||||
| Gillingham (3 Seasons) | 1 League | 94 | 4,808 | 51 | 38.7 | 53.4 | 53 | 75 | 11 | 41 | 21 | 16 | 1.31 | 58 | 73 | -15 | -0.28 | -0.04 | |||||
| Charlton Athletic (3 Seasons) | 2 Leagues | 60 | 3,259 | 54 | 26.2 | 36.2 | 36 | 71 | 6 | 24 | 29 | 9 | 1.42 | 53 | 42 | +11 | +0.30 | +0.10 | |||||
| Ipswich Town (3 Seasons) | 1 League | 28 | 1,496 | 53 | 12.0 | 16.6 | 16 | 0 | 12 | 7 | 1.14 | 9 | 4 | +5 | +0.83 | +0.79 | |||||||
| Swindon Town (2 Seasons) | 1 League | 77 | 4,977 | 65 | 60.1 | 55.3 | 59 | 77 | 17 | 18 | 24 | 0 | 1.52 | 85 | 63 | +22 | +0.40 | +0.21 | |||||
| Milton Keynes Dons (1 Season) | 1 League | 13 | 775 | 60 | 18.7 | 8.6 | 11 | 0 | 2 | 4 | 0.69 | 6 | 11 | -5 | -0.58 | +0.09 | |||||||
| Sunderland (1 Season) | 1 League | 12 | 558 | 47 | 13.5 | 6.2 | 7 | 2 | 5 | 4 | 0.50 | 8 | 9 | -1 | -0.16 | +0.52 | |||||||
| Nottingham Forest (1 Season) | 1 League | 10 | 386 | 39 | 9.3 | 4.3 | 4 | 0 | 6 | 6 | 0.70 | 4 | 2 | +2 | +0.47 | +0.61 | |||||||
| Cardiff City (1 Season) | 1 League | 9 | 181 | 20 | 4.4 | 2.0 | 1 | 70 | 0 | 8 | 14 | 7 | 1.44 | 3 | 5 | -2 | -0.99 | -1.43 | |||||
| Sunderland (1 Season) | 1 League | 2 | 161 | 81 | 8.1 | 1.8 | 2 | 81 | 0 | 0 | 0 | 1.50 | 2 | 3 | -1 | -0.56 | +0.38 | ||||||
| Championship (9 Seasons) | 141 | 6,473 | 46 | 15.6 | 71.9 | 70 | 68 | 4 | 71 | 24 | 30 | 0.98 | 51 | 52 | -1 | -0.02 | +0.16 | ||||||
| League Two (5 Seasons) | 171 | 9,785 | 57 | 47.3 | 108.7 | 112 | 76 | 28 | 59 | 22 | 16 | 1.40 | 143 | 136 | +7 | +0.06 | +0.17 | ||||||
| Premier League (3 Seasons) | 12 | 235 | 20 | 2.3 | 2.6 | 0 | 0 | 12 | 1 | 0.33 | 0 | 0 | 0 | 0.00 | +0.21 | ||||||||
| League One (2 Seasons) | 34 | 1,891 | 56 | 22.8 | 21.0 | 21 | 74 | 4 | 13 | 27 | 7 | 1.59 | 32 | 21 | +11 | +0.52 | +0.02 | ||||||
| PL2 — Div. 1 (1 Season) | 2 | 161 | 81 | 8.1 | 1.8 | 2 | 81 | 0 | 0 | 0 | 1.50 | 2 | 3 | -1 | -0.56 | +0.38 | |||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 20 | Crystal Palace | eng ENG | League Cup | 17th | 2 | 152 | 76 | 72.4 | 1.7 | 2 | 76 | 0 | 0 | 0 | 1.50 | 4 | 2 | +2 | +1.18 | +1.18 | Matches | |
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | FA Cup | 17th | 1 | 25 | 25 | 9.3 | 0.3 | 0 | 0 | 1 | 24 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +0.37 | Matches | |
| 2017-2018 | 23 | Sunderland | eng ENG | EFL Cup | 17th | 1 | 28 | 28 | 10.4 | 0.3 | 0 | 0 | 1 | 27 | 0 | 0.00 | 0 | 1 | -1 | -3.21 | -3.21 | Matches | |
| 2018-2019 | 24 | Crystal Palace | eng ENG | EFL Cup | 9th | 1 | 75 | 75 | 27.8 | 0.8 | 1 | 75 | 0 | 0 | 2 | 3.00 | 1 | 0 | +1 | +1.20 | +0.28 | Matches | |
| 2019-2020 | 25 | Charlton Athletic | eng ENG | FA Cup | 33rd | 1 | 21 | 21 | 23.3 | 0.2 | 0 | 0 | 1 | 21 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.30 | Matches | |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | EFL Cup | 33rd | 1 | 76 | 76 | 42.2 | 0.8 | 1 | 76 | 0 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.37 | -3.23 | Matches | |
| 2020-2021 | 26 | Charlton Athletic | eng ENG | FA Cup | 85th | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2021-2022 | 27 | Swindon Town | eng ENG | FA Cup | 3 | 155 | 52 | 57.4 | 1.7 | 2 | 68 | 0 | 1 | 20 | 0 | 2.00 | 4 | 2 | +2 | +1.16 | +1.94 | Matches | |
| 2022-2023 | 28 | Swindon Town | eng ENG | EFL Cup | Rd1 | 1 | 61 | 61 | 67.8 | 0.7 | 1 | 61 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +6.21 | Matches | |
| 2022-2023 | 28 | Swindon Town | eng ENG | FA Cup | 1 | 59 | 59 | 65.6 | 0.7 | 1 | 59 | 0 | 0 | 0 | 0.00 | 0 | 4 | -4 | -6.10 | -6.10 | Matches | ||
| 2023-2024 | 29 | Gillingham | eng ENG | EFL Cup | Rd2 | 2 | 38 | 19 | 21.1 | 0.4 | 0 | 0 | 2 | 19 | 0 | 1.50 | 1 | 1 | 0 | 0.00 | -0.63 | Matches | |
| 2023-2024 | 29 | Gillingham | eng ENG | FA Cup | 2 | 108 | 54 | 40.0 | 1.2 | 2 | 54 | 0 | 0 | 0 | 3.00 | 3 | 0 | +3 | +2.50 | +4.17 | Matches | ||
| 2024-2025 | 30 | Gillingham | eng ENG | EFL Cup | Rd1 | 1 | 59 | 59 | 65.6 | 0.7 | 1 | 59 | 0 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.53 | +1.38 | Matches | |
| 2024-2025 | 30 | Gillingham | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | |||||||||||||
| 2025-2026 | 31 | Gillingham | eng ENG | EFL Cup | Rd1 | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 1.00 | 1 | 1 | 0 | 0.00 | Matches | ||
| 11 Seasons | 6 Clubs | 2 Leagues | 19 | 1,037 | 55 | 40.7 | 11.5 | 13 | 70 | 2 | 6 | 22 | 3 | 1.16 | 14 | 15 | -1 | -0.09 | +0.23 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Gillingham (3 Seasons) | 2 Leagues | 6 | 295 | 49 | 41.0 | 3.3 | 4 | 64 | 1 | 2 | 19 | 1 | 1.67 | 5 | 3 | +2 | +0.61 | +1.42 | |||||
| Swindon Town (2 Seasons) | 2 Leagues | 5 | 275 | 55 | 61.1 | 3.1 | 4 | 64 | 0 | 1 | 20 | 0 | 1.20 | 4 | 6 | -2 | -0.65 | +0.89 | |||||
| Crystal Palace (2 Seasons) | 1 League | 3 | 227 | 76 | 47.3 | 2.5 | 3 | 76 | 0 | 0 | 2 | 2.00 | 5 | 2 | +3 | +1.19 | +0.48 | ||||||
| Charlton Athletic (2 Seasons) | 2 Leagues | 3 | 187 | 62 | 51.9 | 2.1 | 2 | 83 | 1 | 1 | 21 | 0 | 0.00 | 0 | 3 | -3 | -1.44 | -1.44 | |||||
| Sunderland (1 Season) | 1 League | 1 | 28 | 28 | 10.4 | 0.3 | 0 | 0 | 1 | 27 | 0 | 0.00 | 0 | 1 | -1 | -3.21 | -3.21 | ||||||
| Milton Keynes Dons (1 Season) | 1 League | 1 | 25 | 25 | 9.3 | 0.3 | 0 | 0 | 1 | 24 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +0.37 | ||||||
| EFL Cup (8 Seasons) | 10 | 579 | 58 | 42.0 | 6.4 | 7 | 73 | 1 | 3 | 22 | 2 | 1.00 | 7 | 8 | -1 | -0.16 | -0.27 | ||||||
| FA Cup (7 Seasons) | 9 | 458 | 51 | 39.1 | 5.1 | 6 | 66 | 1 | 3 | 22 | 1 | 1.33 | 7 | 7 | 0 | 0.00 | +0.87 | ||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014 | 20 | wls Wales | Friendlies (M) | 1 | 19 | 19 | 21.1 | 0.2 | 0 | 0 | 1 | 18 | 0 | 3.00 | 0 | 0 | 0 | 0.00 | 0.00 | Matches | ||
| 2014 | 20 | wls Wales | WCQ | 3 | 188 | 63 | 20.9 | 2.1 | 2 | 72 | 0 | 1 | 45 | 2 | 1.00 | 4 | 2 | +2 | +0.96 | +2.60 | Matches | |
| 2015 | 21 | wls Wales | Friendlies (M) | 1 | 58 | 58 | 64.4 | 0.6 | 1 | 58 | 0 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.55 | -1.55 | Matches | ||
| 2016 | 22 | wls Wales | Friendlies (M) | 3 | 162 | 54 | 60.0 | 1.8 | 2 | 67 | 0 | 1 | 28 | 0 | 0.33 | 1 | 3 | -2 | -1.11 | +0.56 | Matches | |
| 2016 | 22 | wls Wales | UEFA Euro | SF | 4 | 142 | 36 | 26.3 | 1.6 | 1 | 73 | 0 | 3 | 23 | 2 | 1.50 | 2 | 2 | 0 | 0.00 | -0.90 | Matches |
| 2016 | 22 | wls Wales | UEFA Euro Qualifying | 2 | 167 | 84 | 18.6 | 1.9 | 2 | 84 | 0 | 0 | 3 | 2.00 | 2 | 0 | +2 | +1.08 | +0.46 | Matches | ||
| 2018 | 24 | wls Wales | WCQ | 1 | 54 | 54 | 6.0 | 0.6 | 0 | 0 | 1 | 53 | 3 | 0.00 | 0 | 1 | -1 | -1.67 | -2.52 | Matches | ||
| 2019 | 25 | wls Wales | Friendlies (M) | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 3.00 | 1 | 0 | +1 | +1.00 | 0.00 | Matches | ||
| 2020 | 26 | wls Wales | Friendlies (M) | 1 | 72 | 72 | 40.0 | 0.8 | 1 | 72 | 0 | 0 | 1 | 0.00 | 0 | 3 | -3 | -3.75 | -3.75 | Matches | ||
| 2020-2021 | 26 | wls Wales | UEFA Nations League | LgB | 3 | 93 | 31 | 17.2 | 1.0 | 1 | 59 | 0 | 2 | 17 | 2 | 3.00 | 2 | 0 | +2 | +1.94 | +1.13 | Matches |
| 2021 | 27 | wls Wales | Friendlies (M) | 3 | 162 | 54 | 45.0 | 1.8 | 2 | 74 | 0 | 1 | 15 | 1 | 1.67 | 1 | 0 | +1 | +0.56 | +1.92 | Matches | |
| 2021 | 27 | wls Wales | UEFA Euro | R16 | 0 | 0 | 0 | 4 | Matches | |||||||||||||
| 2021 | 27 | wls Wales | UEFA Euro Qualifying | 3 | 160 | 53 | 22.2 | 1.8 | 2 | 66 | 0 | 1 | 28 | 0 | 1.67 | 3 | 2 | +1 | +0.56 | +0.08 | Matches | |
| 2022 | 28 | wls Wales | 1. World Cup | GR | 0 | 0 | 0 | 0 | 3 | Matches | ||||||||||||
| 2022 | 28 | wls Wales | WCQ | 3 | 98 | 33 | 10.9 | 1.1 | 0 | 0 | 3 | 33 | 7 | 2.33 | 3 | 0 | +3 | +2.76 | +2.31 | Matches | ||
| 2022 | 28 | wls Wales | Friendlies (M) | 1 | 20 | 20 | 22.2 | 0.2 | 0 | 0 | 1 | 20 | 0 | 1.00 | 0 | 0 | 0 | 0.00 | 0.00 | Matches | ||
| 2022-2023 | 28 | wls Wales | UEFA Nations League | LgA | 1 | 76 | 76 | 14.1 | 0.8 | 1 | 76 | 0 | 0 | 5 | 0.00 | 1 | 1 | 0 | 0.00 | +0.97 | Matches | |
| 8 Seasons | 1 Club | 6 Leagues | 31 | 1,561 | 50 | 19.9 | 17.3 | 16 | 72 | 1 | 15 | 27 | 33 | 1.52 | 21 | 16 | +5 | +0.29 | +0.19 | |||
| Friendlies (M) (7 Seasons) | 11 | 583 | 53 | 46.3 | 6.5 | 7 | 72 | 1 | 4 | 20 | 2 | 1.18 | 4 | 8 | -4 | -0.62 | -0.09 | |||||
| WCQ (3 Seasons) | 7 | 340 | 49 | 12.6 | 3.8 | 2 | 72 | 0 | 5 | 39 | 12 | 1.43 | 7 | 3 | +4 | +1.06 | +1.10 | |||||
| UEFA Euro Qualifying (2 Seasons) | 5 | 327 | 65 | 20.2 | 3.6 | 4 | 75 | 0 | 1 | 28 | 3 | 1.80 | 5 | 2 | +3 | +0.83 | +0.27 | |||||
| UEFA Euro (2 Seasons) | 4 | 142 | 36 | 15.8 | 1.6 | 1 | 73 | 0 | 3 | 23 | 6 | 1.50 | 2 | 2 | 0 | 0.00 | -0.90 | |||||
| UEFA Nations League (2 Seasons) | 4 | 169 | 42 | 15.6 | 1.9 | 2 | 68 | 0 | 2 | 17 | 7 | 2.25 | 3 | 1 | +2 | +1.07 | +1.16 | |||||
| World Cup (1 Season) | 0 | 0 | 0 | 0 | 3 | |||||||||||||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2011-2012 | 17 | Crystal Palace | eng ENG | 2. Championship | 6.7 | 0 | 0 | 7 | ||||||||||
| 2012-2013 | 18 | Crystal Palace | eng ENG | 2. Championship | 12.3 | 1 | 0 | 8 | ||||||||||
| 2013-2014 | 19 | Ipswich Town | eng ENG | 2. Championship | 10.6 | 3 | 0 | 8 | Matches | |||||||||
| 2013-2014 | 19 | Crystal Palace | eng ENG | 1. Premier League | 2.1 | 0 | 0 | 2 | Matches | |||||||||
| 2014-2015 | 20 | Ipswich Town | eng ENG | 2. Championship | 3.8 | 0 | 0 | 4 | Matches | |||||||||
| 2014-2015 | 20 | Crystal Palace | eng ENG | League Cup | 1.7 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2014-2015 | 20 | Crystal Palace | eng ENG | 1. Premier League | 0.4 | 0 | 0 | 0 | Matches | |||||||||
| 2015-2016 | 21 | Nottingham Forest | eng ENG | 2. Championship | 4.3 | 1 | 0 | 4 | Matches | |||||||||
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | 2. Championship | 8.6 | 0 | 0 | 8 | Matches | |||||||||
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | FA Cup | 0.3 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 21 | Crystal Palace | eng ENG | 1. Premier League | 0.1 | 0 | 0 | 0 | Matches | |||||||||
| 2016-2017 | 22 | Ipswich Town | eng ENG | 2. Championship | 2.2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 23 | Sunderland | eng ENG | 2. Championship | 6.2 | 1 | 0 | 0 | 9 | 17 | 1 | 26 | 6 | 2 | 0 | 0 | 0 | Matches |
| 2017-2018 | 23 | Sunderland | eng ENG | EFL Cup | 0.3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 0 | 0 | Matches |
| 2017-2018 | 23 | Sunderland | eng ENG | Jr. PL2 — Div. 1 | 1.8 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 24 | Crystal Palace | eng ENG | EFL Cup | 0.8 | 0 | 0 | 0 | 0 | 4 | 1 | 5 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 24 | Charlton Athletic | eng ENG | 3. League One | 12.6 | 2 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 25 | Charlton Athletic | eng ENG | 2. Championship | 15.2 | 1 | 0 | 0 | 24 | 75 | 2 | 24 | 15 | 10 | 0 | Matches | ||
| 2019-2020 | 25 | Charlton Athletic | eng ENG | FA Cup | 0.2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 2.0 | 1 | 0 | 0 | 2 | 8 | 0 | 2 | 1 | 0 | 0 | Matches | ||
| 2020-2021 | 26 | Charlton Athletic | eng ENG | EFL Cup | 0.8 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 1 | 0 | 0 | Matches | ||
| 2020-2021 | 26 | Charlton Athletic | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 26 | Charlton Athletic | eng ENG | 3. League One | 8.4 | 0 | 0 | 0 | 8 | 24 | 1 | 22 | 2 | 5 | 0 | Matches | ||
| 2021-2022 | 27 | Swindon Town | eng ENG | FA Cup | 1.7 | 1 | 0 | 0 | 1 | 9 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 27 | Swindon Town | eng ENG | 4. League Two | 24.6 | 4 | 0 | 0 | 31 | 75 | 4 | 45 | 13 | 16 | 0 | Matches | ||
| 2022-2023 | 28 | Swindon Town | eng ENG | EFL Cup | 0.7 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 3 | 0 | 0 | Matches | ||
| 2022-2023 | 28 | Swindon Town | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2022-2023 | 28 | Swindon Town | eng ENG | 4. League Two | 30.7 | 4 | 0 | 0 | 19 | 86 | 9 | 55 | 8 | 19 | 0 | Matches | ||
| 2023-2024 | 29 | Gillingham | eng ENG | EFL Cup | 0.4 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 29 | Gillingham | eng ENG | FA Cup | 1.2 | 0 | 0 | 0 | 1 | 4 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 29 | Gillingham | eng ENG | 4. League Two | 27.0 | 5 | 0 | 0 | 14 | 61 | 2 | 58 | 20 | 21 | 0 | Matches | ||
| 2024-2025 | 30 | Gillingham | eng ENG | EFL Cup | 0.7 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2024-2025 | 30 | Gillingham | eng ENG | 4. League Two | 10.9 | 3 | 1 | 1 | 7 | 24 | 0 | 36 | 8 | 9 | 0 | Matches | ||
| 2025-2026 | 31 | Gillingham | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0 | 3 | 0 | 4 | 0 | 2 | 0 | Matches | ||
| 2025-2026 | 31 | Gillingham | eng ENG | 4. League Two | 15.5 | 3 | 1 | 1 | 17 | 26 | 1 | 39 | 6 | 17 | 0 | Matches | ||
| 15 Seasons | 9 Clubs | 6 Leagues | 215.8 | 30 | 2 | 2 | 177 | 426 | 21 | 325 | 83 | 103 | 0 | 0 | 0 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Crystal Palace (6 Seasons) | 3 Leagues | 24.1 | 1 | 0 | 0 | 17 | 4 | 1 | 5 | 0 | 0 | 0 | 0 | 0 | ||||
| Gillingham (3 Seasons) | 3 Leagues | 56.7 | 11 | 2 | 2 | 40 | 121 | 3 | 138 | 34 | 49 | 0 | ||||||
| Charlton Athletic (3 Seasons) | 4 Leagues | 38.3 | 3 | 0 | 0 | 33 | 102 | 3 | 52 | 18 | 15 | 0 | ||||||
| Ipswich Town (3 Seasons) | 1 League | 16.6 | 3 | 0 | 0 | 13 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Swindon Town (2 Seasons) | 3 Leagues | 58.4 | 9 | 0 | 0 | 51 | 173 | 13 | 101 | 24 | 35 | 0 | ||||||
| Milton Keynes Dons (1 Season) | 2 Leagues | 8.9 | 0 | 0 | 0 | 8 | 0 | |||||||||||
| Sunderland (1 Season) | 2 Leagues | 6.5 | 1 | 0 | 0 | 9 | 18 | 1 | 27 | 6 | 4 | 0 | 0 | 0 | ||||
| Nottingham Forest (1 Season) | 1 League | 4.3 | 1 | 0 | 4 | |||||||||||||
| Cardiff City (1 Season) | 1 League | 2.0 | 1 | 0 | 0 | 2 | 8 | 0 | 2 | 1 | 0 | 0 | ||||||
| Sunderland (1 Season) | 1 League | 1.8 | 0 | 0 | 0 | 0 | ||||||||||||
| Championship (9 Seasons) | 71.9 | 8 | 0 | 0 | 75 | 100 | 3 | 52 | 22 | 12 | 0 | 0 | 0 | |||||
| EFL Cup (8 Seasons) | 6.4 | 0 | 0 | 0 | 1 | 15 | 1 | 13 | 4 | 4 | 0 | 0 | 0 | |||||
| FA Cup (7 Seasons) | 5.1 | 1 | 0 | 0 | 3 | 15 | 0 | 5 | 0 | 0 | 0 | |||||||
| League Two (5 Seasons) | 108.7 | 19 | 2 | 2 | 88 | 272 | 16 | 233 | 55 | 82 | 0 | |||||||
| Premier League (3 Seasons) | 2.6 | 0 | 0 | 2 | ||||||||||||||
| League One (2 Seasons) | 21.0 | 2 | 0 | 0 | 8 | 24 | 1 | 22 | 2 | 5 | 0 | |||||||
| PL2 — Div. 1 (1 Season) | 1.8 | 0 | 0 | 0 | 0 | |||||||||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2011-2012 | 17 | Crystal Palace | 1 League | 6.7 | 0 | 0 | 7 | ||||||||||
| 2012-2013 | 18 | Crystal Palace | 1 League | 12.3 | 1 | 0 | 8 | ||||||||||
| 2013-2014 | 19 | Crystal Palace | 1 League | 2.1 | 0 | 0 | 2 | ||||||||||
| 2013-2014 | 19 | Ipswich Town | 1 League | 10.6 | 3 | 0 | 8 | ||||||||||
| 2014-2015 | 20 | Ipswich Town | 1 League | 3.8 | 0 | 0 | 4 | ||||||||||
| 2014-2015 | 20 | Crystal Palace | 2 Leagues | 2.1 | 0 | 0 | 0 | 0 | 0 | ||||||||
| 2015-2016 | 21 | Crystal Palace | 1 League | 0.1 | 0 | 0 | 0 | ||||||||||
| 2015-2016 | 21 | Nottingham Forest | 1 League | 4.3 | 1 | 0 | 4 | ||||||||||
| 2015-2016 | 21 | Milton Keynes Dons | 2 Leagues | 8.9 | 0 | 0 | 0 | 8 | 0 | ||||||||
| 2016-2017 | 22 | Ipswich Town | 1 League | 2.2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2017-2018 | 23 | Sunderland | 1 League | 1.8 | 0 | 0 | 0 | 0 | |||||||||
| 2017-2018 | 23 | Sunderland | 2 Leagues | 6.5 | 1 | 0 | 0 | 9 | 18 | 1 | 27 | 6 | 4 | 0 | 0 | 0 | |
| 2018-2019 | 24 | Crystal Palace | 1 League | 0.8 | 0 | 0 | 0 | 0 | 4 | 1 | 5 | 0 | 0 | 0 | 0 | 0 | |
| 2018-2019 | 24 | Charlton Athletic | 1 League | 12.6 | 2 | 0 | 0 | 0 | |||||||||
| 2019-2020 | 25 | Charlton Athletic | 2 Leagues | 15.4 | 1 | 0 | 0 | 25 | 76 | 2 | 25 | 15 | 10 | 0 | |||
| 2020-2021 | 26 | Charlton Athletic | 3 Leagues | 10.2 | 0 | 0 | 0 | 8 | 26 | 1 | 27 | 3 | 5 | 0 | |||
| 2020-2021 | 26 | Cardiff City | 1 League | 2.0 | 1 | 0 | 0 | 2 | 8 | 0 | 2 | 1 | 0 | 0 | |||
| 2021-2022 | 27 | Swindon Town | 2 Leagues | 26.3 | 5 | 0 | 0 | 32 | 84 | 4 | 46 | 13 | 16 | 0 | |||
| 2022-2023 | 28 | Swindon Town | 3 Leagues | 32.1 | 4 | 0 | 0 | 19 | 89 | 9 | 55 | 11 | 19 | 0 | |||
| 2023-2024 | 29 | Gillingham | 3 Leagues | 28.6 | 5 | 0 | 0 | 16 | 67 | 2 | 58 | 20 | 21 | 0 | |||
| 2024-2025 | 30 | Gillingham | 3 Leagues | 11.6 | 3 | 1 | 1 | 7 | 25 | 0 | 37 | 8 | 9 | 0 | |||
| 2025-2026 | 31 | Gillingham | 2 Leagues | 16.5 | 3 | 1 | 1 | 17 | 29 | 1 | 43 | 6 | 19 | 0 | |||
| 15 Seasons | 9 Clubs | 6 Leagues | 215.8 | 30 | 2 | 2 | 177 | 426 | 21 | 325 | 83 | 103 | 0 | 0 | 0 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Crystal Palace (6 Seasons) | 3 Leagues | 24.1 | 1 | 0 | 0 | 17 | 4 | 1 | 5 | 0 | 0 | 0 | 0 | 0 | |||
| Gillingham (3 Seasons) | 3 Leagues | 56.7 | 11 | 2 | 2 | 40 | 121 | 3 | 138 | 34 | 49 | 0 | |||||
| Charlton Athletic (3 Seasons) | 4 Leagues | 38.3 | 3 | 0 | 0 | 33 | 102 | 3 | 52 | 18 | 15 | 0 | |||||
| Ipswich Town (3 Seasons) | 1 League | 16.6 | 3 | 0 | 0 | 13 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Swindon Town (2 Seasons) | 3 Leagues | 58.4 | 9 | 0 | 0 | 51 | 173 | 13 | 101 | 24 | 35 | 0 | |||||
| Milton Keynes Dons (1 Season) | 2 Leagues | 8.9 | 0 | 0 | 0 | 8 | 0 | ||||||||||
| Sunderland (1 Season) | 2 Leagues | 6.5 | 1 | 0 | 0 | 9 | 18 | 1 | 27 | 6 | 4 | 0 | 0 | 0 | |||
| Nottingham Forest (1 Season) | 1 League | 4.3 | 1 | 0 | 4 | ||||||||||||
| Cardiff City (1 Season) | 1 League | 2.0 | 1 | 0 | 0 | 2 | 8 | 0 | 2 | 1 | 0 | 0 | |||||
| Sunderland (1 Season) | 1 League | 1.8 | 0 | 0 | 0 | 0 | |||||||||||
| Championship (9 Seasons) | 71.9 | 8 | 0 | 0 | 75 | 100 | 3 | 52 | 22 | 12 | 0 | 0 | 0 | ||||
| EFL Cup (8 Seasons) | 6.4 | 0 | 0 | 0 | 1 | 15 | 1 | 13 | 4 | 4 | 0 | 0 | 0 | ||||
| FA Cup (7 Seasons) | 5.1 | 1 | 0 | 0 | 3 | 15 | 0 | 5 | 0 | 0 | 0 | ||||||
| League Two (5 Seasons) | 108.7 | 19 | 2 | 2 | 88 | 272 | 16 | 233 | 55 | 82 | 0 | ||||||
| Premier League (3 Seasons) | 2.6 | 0 | 0 | 2 | |||||||||||||
| League One (2 Seasons) | 21.0 | 2 | 0 | 0 | 8 | 24 | 1 | 22 | 2 | 5 | 0 | ||||||
| PL2 — Div. 1 (1 Season) | 1.8 | 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 |
| 2011-2012 | 17 | Crystal Palace | eng ENG | 2. Championship | 17th | 6.7 | 0 | 0 | 7 | ||||||||||
| 2012-2013 | 18 | Crystal Palace | eng ENG | 2. Championship | 5th | 12.3 | 1 | 0 | 8 | ||||||||||
| 2013-2014 | 19 | Crystal Palace | eng ENG | 1. Premier League | 11th | 2.1 | 0 | 0 | 2 | Matches | |||||||||
| 2013-2014 | 19 | Ipswich Town | eng ENG | 2. Championship | 9th | 10.6 | 3 | 0 | 8 | Matches | |||||||||
| 2014-2015 | 20 | Ipswich Town | eng ENG | 2. Championship | 6th | 3.8 | 0 | 0 | 4 | Matches | |||||||||
| 2014-2015 | 20 | Crystal Palace | eng ENG | 1. Premier League | 10th | 0.4 | 0 | 0 | 0 | Matches | |||||||||
| 2015-2016 | 21 | Crystal Palace | eng ENG | 1. Premier League | 15th | 0.1 | 0 | 0 | 0 | Matches | |||||||||
| 2015-2016 | 21 | Nottingham Forest | eng ENG | 2. Championship | 16th | 4.3 | 1 | 0 | 4 | Matches | |||||||||
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | 2. Championship | 23rd | 8.6 | 0 | 0 | 8 | Matches | |||||||||
| 2016-2017 | 22 | Ipswich Town | eng ENG | 2. Championship | 16th | 2.2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 23 | Sunderland | eng ENG | 2. Championship | 24th | 6.2 | 1 | 0 | 0 | 9 | 17 | 1 | 26 | 6 | 2 | 0 | 0 | 0 | Matches |
| 2017-2018 | 23 | Sunderland | eng ENG | Jr. PL2 — Div. 1 | 11th | 1.8 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 24 | Charlton Athletic | eng ENG | 3. League One | 3rd | 12.6 | 2 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 25 | Charlton Athletic | eng ENG | 2. Championship | 22nd | 15.2 | 1 | 0 | 0 | 24 | 75 | 2 | 24 | 15 | 10 | 0 | Matches | ||
| 2020-2021 | 26 | Charlton Athletic | eng ENG | 3. League One | 7th | 8.4 | 0 | 0 | 0 | 8 | 24 | 1 | 22 | 2 | 5 | 0 | Matches | ||
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 8th | 2.0 | 1 | 0 | 0 | 2 | 8 | 0 | 2 | 1 | 0 | 0 | Matches | ||
| 2021-2022 | 27 | Swindon Town | eng ENG | 4. League Two | 6th | 24.6 | 4 | 0 | 0 | 31 | 75 | 4 | 45 | 13 | 16 | 0 | Matches | ||
| 2022-2023 | 28 | Swindon Town | eng ENG | 4. League Two | 10th | 30.7 | 4 | 0 | 0 | 19 | 86 | 9 | 55 | 8 | 19 | 0 | Matches | ||
| 2023-2024 | 29 | Gillingham | eng ENG | 4. League Two | 12th | 27.0 | 5 | 0 | 0 | 14 | 61 | 2 | 58 | 20 | 21 | 0 | Matches | ||
| 2024-2025 | 30 | Gillingham | eng ENG | 4. League Two | 17th | 10.9 | 3 | 1 | 1 | 7 | 24 | 0 | 36 | 8 | 9 | 0 | Matches | ||
| 2025-2026 | 31 | Gillingham | eng ENG | 4. League Two | 17th | 15.5 | 3 | 1 | 1 | 17 | 26 | 1 | 39 | 6 | 17 | 0 | Matches | ||
| 15 Seasons | 9 Clubs | 4 Leagues | 204.3 | 29 | 2 | 2 | 173 | 396 | 20 | 307 | 79 | 99 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Crystal Palace (5 Seasons) | 2 Leagues | 21.6 | 1 | 0 | 17 | ||||||||||||||
| Gillingham (3 Seasons) | 1 League | 53.4 | 11 | 2 | 2 | 38 | 111 | 3 | 133 | 34 | 47 | 0 | |||||||
| Charlton Athletic (3 Seasons) | 2 Leagues | 36.2 | 3 | 0 | 0 | 32 | 99 | 3 | 46 | 17 | 15 | 0 | |||||||
| Ipswich Town (3 Seasons) | 1 League | 16.6 | 3 | 0 | 0 | 13 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Swindon Town (2 Seasons) | 1 League | 55.3 | 8 | 0 | 0 | 50 | 161 | 13 | 100 | 21 | 35 | 0 | |||||||
| Milton Keynes Dons (1 Season) | 1 League | 8.6 | 0 | 0 | 8 | ||||||||||||||
| Sunderland (1 Season) | 1 League | 6.2 | 1 | 0 | 0 | 9 | 17 | 1 | 26 | 6 | 2 | 0 | 0 | 0 | |||||
| Nottingham Forest (1 Season) | 1 League | 4.3 | 1 | 0 | 4 | ||||||||||||||
| Cardiff City (1 Season) | 1 League | 2.0 | 1 | 0 | 0 | 2 | 8 | 0 | 2 | 1 | 0 | 0 | |||||||
| Sunderland (1 Season) | 1 League | 1.8 | 0 | 0 | 0 | 0 | |||||||||||||
| Championship (9 Seasons) | 71.9 | 8 | 0 | 0 | 75 | 100 | 3 | 52 | 22 | 12 | 0 | 0 | 0 | ||||||
| League Two (5 Seasons) | 108.7 | 19 | 2 | 2 | 88 | 272 | 16 | 233 | 55 | 82 | 0 | ||||||||
| Premier League (3 Seasons) | 2.6 | 0 | 0 | 2 | |||||||||||||||
| League One (2 Seasons) | 21.0 | 2 | 0 | 0 | 8 | 24 | 1 | 22 | 2 | 5 | 0 | ||||||||
| PL2 — Div. 1 (1 Season) | 1.8 | 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 |
| 2014-2015 | 20 | Crystal Palace | eng ENG | League Cup | 17th | 1.7 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 21 | Milton Keynes Dons | eng ENG | FA Cup | 17th | 0.3 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 23 | Sunderland | eng ENG | EFL Cup | 17th | 0.3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 0 | 0 | Matches |
| 2018-2019 | 24 | Crystal Palace | eng ENG | EFL Cup | 9th | 0.8 | 0 | 0 | 0 | 0 | 4 | 1 | 5 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2019-2020 | 25 | Charlton Athletic | eng ENG | FA Cup | 33rd | 0.2 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 26 | Charlton Athletic | eng ENG | EFL Cup | 33rd | 0.8 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 1 | 0 | 0 | Matches | ||
| 2020-2021 | 26 | Charlton Athletic | eng ENG | FA Cup | 85th | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 27 | Swindon Town | eng ENG | FA Cup | 1.7 | 1 | 0 | 0 | 1 | 9 | 0 | 1 | 0 | 0 | 0 | Matches | |||
| 2022-2023 | 28 | Swindon Town | eng ENG | EFL Cup | Rd1 | 0.7 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 3 | 0 | 0 | Matches | ||
| 2022-2023 | 28 | Swindon Town | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2023-2024 | 29 | Gillingham | eng ENG | EFL Cup | Rd2 | 0.4 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 29 | Gillingham | eng ENG | FA Cup | 1.2 | 0 | 0 | 0 | 1 | 4 | 0 | 0 | 0 | 0 | 0 | Matches | |||
| 2024-2025 | 30 | Gillingham | eng ENG | EFL Cup | Rd1 | 0.7 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2025-2026 | 31 | Gillingham | eng ENG | EFL Cup | Rd1 | 1.0 | 0 | 0 | 0 | 0 | 3 | 0 | 4 | 0 | 2 | 0 | Matches | ||
| 11 Seasons | 6 Clubs | 2 Leagues | 11.5 | 1 | 0 | 0 | 4 | 30 | 1 | 18 | 4 | 4 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Gillingham (3 Seasons) | 2 Leagues | 3.3 | 0 | 0 | 0 | 2 | 10 | 0 | 5 | 0 | 2 | 0 | |||||||
| Swindon Town (2 Seasons) | 2 Leagues | 3.1 | 1 | 0 | 0 | 1 | 12 | 0 | 1 | 3 | 0 | 0 | |||||||
| Crystal Palace (2 Seasons) | 1 League | 2.5 | 0 | 0 | 0 | 0 | 4 | 1 | 5 | 0 | 0 | 0 | 0 | 0 | |||||
| Charlton Athletic (2 Seasons) | 2 Leagues | 2.1 | 0 | 0 | 0 | 1 | 3 | 0 | 6 | 1 | 0 | 0 | |||||||
| Sunderland (1 Season) | 1 League | 0.3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 0 | 0 | |||||
| Milton Keynes Dons (1 Season) | 1 League | 0.3 | 0 | 0 | 0 | 0 | |||||||||||||
| EFL Cup (8 Seasons) | 6.4 | 0 | 0 | 0 | 1 | 15 | 1 | 13 | 4 | 4 | 0 | 0 | 0 | ||||||
| FA Cup (7 Seasons) | 5.1 | 1 | 0 | 0 | 3 | 15 | 0 | 5 | 0 | 0 | 0 | ||||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2014 | 20 | wls Wales | Friendlies (M) | 0.2 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2014 | 20 | wls Wales | WCQ | 2.1 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2015 | 21 | wls Wales | Friendlies (M) | 0.6 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2016 | 22 | wls Wales | Friendlies (M) | 1.8 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2016 | 22 | wls Wales | UEFA Euro | SF | 1.6 | 0 | 0 | 0 | 2 | 5 | 0 | 2 | 1 | 2 | 0 | 0 | 0 | Matches |
| 2016 | 22 | wls Wales | UEFA Euro Qualifying | 1.9 | 0 | 0 | 0 | 2 | 7 | 0 | 13 | 1 | 3 | 0 | 0 | 0 | Matches | |
| 2018 | 24 | wls Wales | WCQ | 0.6 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2019 | 25 | wls Wales | Friendlies (M) | 1.0 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2020 | 26 | wls Wales | Friendlies (M) | 0.8 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2020-2021 | 26 | wls Wales | UEFA Nations League | LgB | 1.0 | 1 | 0 | 0 | 3 | 4 | 1 | 2 | 5 | 0 | 0 | Matches | ||
| 2021 | 27 | wls Wales | Friendlies (M) | 1.8 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2021 | 27 | wls Wales | UEFA Euro Qualifying | 1.8 | 1 | 0 | 0 | 2 | 5 | 0 | 5 | 0 | 1 | 0 | Matches | |||
| 2022 | 28 | wls Wales | WCQ | 1.1 | 0 | 0 | 0 | 2 | 5 | 0 | 4 | 1 | 0 | 0 | Matches | |||
| 2022 | 28 | wls Wales | Friendlies (M) | 0.2 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2022-2023 | 28 | wls Wales | UEFA Nations League | LgA | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 8 Seasons | 1 Club | 6 Leagues | 17.3 | 2 | 0 | 0 | 11 | 26 | 1 | 26 | 8 | 6 | 0 | 0 | 0 | |||
| Friendlies (M) (7 Seasons) | 6.5 | 0 | 0 | 0 | 0 | |||||||||||||
| WCQ (3 Seasons) | 3.8 | 0 | 0 | 0 | 2 | 5 | 0 | 4 | 1 | 0 | 0 | |||||||
| UEFA Euro Qualifying (2 Seasons) | 3.6 | 1 | 0 | 0 | 4 | 12 | 0 | 18 | 1 | 4 | 0 | 0 | 0 | |||||
| UEFA Euro (2 Seasons) | 1.6 | 0 | 0 | 0 | 2 | 5 | 0 | 2 | 1 | 2 | 0 | 0 | 0 | |||||
| UEFA Nations League (2 Seasons) | 1.9 | 1 | 0 | 0 | 3 | 4 | 1 | 2 | 5 | 0 | 0 | |||||||
| World Cup (1 Season) | ||||||||||||||||||
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