| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2016 | 19 | Wexford FC | ie IRL | 1. Premier Division | 15 | 14 | 1,292 | 14.4 | 1 | 1 | 0 | 0 | 2 | 0 | 0.07 | 0.07 | Matches | |||||
| 2016-2017 | 19 | Burton Albion | eng ENG | 2. Championship | 0 | 0 | Matches | |||||||||||||||
| 2016-2017 | 19 | Burton Albion | eng ENG | EFL Cup | 0 | 0 | Matches | |||||||||||||||
| 2017 | 20 | Cork City | ie IRL | 1. Premier Division | 30 | 30 | 2,655 | 29.5 | 6 | 6 | 0 | 0 | 5 | 0 | 0.20 | 0.20 | Matches | |||||
| 2017-2018 | 20 | Rochdale | eng ENG | FA Cup | 4 | 4 | 360 | 4.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 20 | Rochdale | eng ENG | 3. League One | 18 | 16 | 1,465 | 16.3 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.12 | 0.00 | 0.12 | 0.12 | 0.12 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | EFL Cup | 2 | 2 | 180 | 2.0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0.00 | 0.50 | 0.50 | 0.50 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | FA Cup | 2 | 2 | 180 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | 3. League One | 30 | 29 | 2,583 | 28.7 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.03 | 0.03 | 0.07 | 0.03 | 0.07 | Matches |
| 2019-2020 | 22 | Rochdale | eng ENG | EFL Cup | 0 | 0 | Matches | |||||||||||||||
| 2019-2020 | 22 | AFC Wimbledon | 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 |
| 2019-2020 | 22 | Bolton Wanderers | eng ENG | 3. League One | 4 | 2 | 213 | 2.4 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.42 | 0.00 | 0.42 | 0.42 | 0.42 | Matches |
| 2019-2020 | 22 | Rochdale | eng ENG | 3. League One | 0 | 0 | Matches | |||||||||||||||
| 2019-2020 | 22 | AFC Wimbledon | eng ENG | 3. League One | 14 | 13 | 1,142 | 12.7 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.08 | 0.08 | 0.16 | 0.08 | 0.16 | Matches |
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | EFL Cup | 0 | 0 | Matches | |||||||||||||||
| 2020-2021 | 23 | Bolton Wanderers | 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 | 23 | Bolton Wanderers | eng ENG | 4. League Two | 20 | 20 | 1,732 | 19.2 | 1 | 0 | 1 | 1 | 0 | 0 | 6 | 1 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | Matches |
| 2021-2022 | 24 | Morecambe | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 24 | Morecambe | eng ENG | 3. League One | 13 | 10 | 921 | 10.2 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.10 | 0.10 | 0.00 | 0.10 | Matches |
| 2021-2022 | 24 | Scunthorpe United | eng ENG | 4. League Two | 18 | 18 | 1,620 | 18.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 25 | Morecambe | eng ENG | EFL Cup | 3 | 3 | 240 | 2.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 25 | Morecambe | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 25 | Morecambe | eng ENG | 3. League One | 32 | 27 | 2,348 | 26.1 | 1 | 2 | 3 | 1 | 0 | 0 | 3 | 0 | 0.04 | 0.08 | 0.11 | 0.04 | 0.11 | Matches |
| 2023-2024 | 26 | Newport County | eng ENG | EFL Cup | 2 | 2 | 210 | 2.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 26 | Newport County | eng ENG | FA Cup | 6 | 6 | 540 | 6.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 26 | Newport County | eng ENG | 4. League Two | 30 | 30 | 2,619 | 29.1 | 1 | 3 | 4 | 1 | 0 | 0 | 5 | 1 | 0.03 | 0.10 | 0.14 | 0.03 | 0.14 | Matches |
| 2024-2025 | 27 | Swindon Town | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 27 | Swindon Town | eng ENG | 4. League Two | 21 | 19 | 1,655 | 18.4 | 1 | 1 | 2 | 1 | 0 | 0 | 4 | 0 | 0.05 | 0.05 | 0.11 | 0.05 | 0.11 | Matches |
| 2025-2026 | 28 | Swindon Town | eng ENG | 4. League Two | 1 | 0 | 10 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 28 | Newport County | eng ENG | 4. League Two | 17 | 16 | 1,448 | 16.1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.06 | 0.00 | 0.06 | 0.06 | 0.06 | Matches |
| 10 Seasons | 10 Clubs | 6 Leagues | 287 | 268 | 23,863 | 265.1 | 18 | 9 | 20 | 18 | 0 | 0 | 39 | 2 | 0.07 | 0.04 | 0.09 | 0.07 | 0.09 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Rochdale (3 Seasons) | 3 Leagues | 56 | 53 | 4,768 | 53.0 | 4 | 1 | 5 | 4 | 0 | 0 | 6 | 0 | 0.08 | 0.02 | 0.09 | 0.08 | 0.09 | ||||
| Newport County (2 Seasons) | 3 Leagues | 55 | 54 | 4,817 | 53.5 | 2 | 3 | 5 | 2 | 0 | 0 | 5 | 1 | 0.04 | 0.06 | 0.09 | 0.04 | 0.09 | ||||
| Morecambe (2 Seasons) | 3 Leagues | 50 | 42 | 3,689 | 41.0 | 1 | 3 | 4 | 1 | 0 | 0 | 5 | 0 | 0.02 | 0.07 | 0.10 | 0.02 | 0.10 | ||||
| Bolton Wanderers (2 Seasons) | 4 Leagues | 25 | 23 | 2,035 | 22.6 | 2 | 0 | 2 | 2 | 0 | 0 | 6 | 1 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | ||||
| Swindon Town (2 Seasons) | 2 Leagues | 23 | 20 | 1,755 | 19.5 | 1 | 1 | 2 | 1 | 0 | 0 | 4 | 0 | 0.05 | 0.05 | 0.10 | 0.05 | 0.10 | ||||
| Cork City (1 Season) | 1 League | 30 | 30 | 2,655 | 29.5 | 6 | 6 | 0 | 0 | 5 | 0 | 0.20 | 0.20 | |||||||||
| Scunthorpe United (1 Season) | 1 League | 18 | 18 | 1,620 | 18.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Wexford FC (1 Season) | 1 League | 15 | 14 | 1,292 | 14.4 | 1 | 1 | 0 | 0 | 2 | 0 | 0.07 | 0.07 | |||||||||
| AFC Wimbledon (1 Season) | 2 Leagues | 15 | 14 | 1,232 | 13.7 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.07 | 0.07 | 0.15 | 0.07 | 0.15 | ||||
| Burton Albion (1 Season) | 2 Leagues | 0 | 0 | |||||||||||||||||||
| FA Cup (8 Seasons) | 17 | 17 | 1,530 | 17.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| EFL Cup (6 Seasons) | 7 | 7 | 630 | 7.0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.14 | 0.00 | 0.14 | 0.14 | 0.14 | |||||
| League One (5 Seasons) | 111 | 97 | 8,672 | 96.4 | 6 | 5 | 11 | 6 | 0 | 0 | 13 | 0 | 0.06 | 0.05 | 0.11 | 0.06 | 0.11 | |||||
| League Two (5 Seasons) | 107 | 103 | 9,084 | 100.9 | 4 | 4 | 8 | 4 | 0 | 0 | 18 | 2 | 0.04 | 0.04 | 0.08 | 0.04 | 0.08 | |||||
| Premier Division (2 Seasons) | 45 | 44 | 3,947 | 43.9 | 7 | 7 | 0 | 0 | 7 | 0 | 0.16 | 0.16 | ||||||||||
| Championship (1 Season) | 0 | 0 | ||||||||||||||||||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2016 | 19 | Wexford FC | 1 League | 15 | 14 | 1,292 | 14.4 | 1 | 1 | 0 | 0 | 2 | 0 | 0.07 | 0.07 | ||||||
| 2016-2017 | 19 | Burton Albion | 2 Leagues | 0 | 0 | ||||||||||||||||
| 2017 | 20 | Cork City | 1 League | 30 | 30 | 2,655 | 29.5 | 6 | 6 | 0 | 0 | 5 | 0 | 0.20 | 0.20 | ||||||
| 2017-2018 | 20 | Rochdale | 2 Leagues | 22 | 20 | 1,825 | 20.3 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | |
| 2018-2019 | 21 | Rochdale | 3 Leagues | 34 | 33 | 2,943 | 32.7 | 2 | 1 | 3 | 2 | 0 | 0 | 4 | 0 | 0.06 | 0.03 | 0.09 | 0.06 | 0.09 | |
| 2019-2020 | 22 | Rochdale | 2 Leagues | 0 | 0 | ||||||||||||||||
| 2019-2020 | 22 | AFC Wimbledon | 2 Leagues | 15 | 14 | 1,232 | 13.7 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.07 | 0.07 | 0.15 | 0.07 | 0.15 | |
| 2019-2020 | 22 | Bolton Wanderers | 1 League | 4 | 2 | 213 | 2.4 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.42 | 0.00 | 0.42 | 0.42 | 0.42 | |
| 2020-2021 | 23 | Bolton Wanderers | 3 Leagues | 21 | 21 | 1,822 | 20.2 | 1 | 0 | 1 | 1 | 0 | 0 | 6 | 1 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | |
| 2021-2022 | 24 | Scunthorpe United | 1 League | 18 | 18 | 1,620 | 18.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2021-2022 | 24 | Morecambe | 2 Leagues | 14 | 11 | 1,011 | 11.2 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.09 | 0.09 | 0.00 | 0.09 | |
| 2022-2023 | 25 | Morecambe | 3 Leagues | 36 | 31 | 2,678 | 29.8 | 1 | 2 | 3 | 1 | 0 | 0 | 3 | 0 | 0.03 | 0.07 | 0.10 | 0.03 | 0.10 | |
| 2023-2024 | 26 | Newport County | 3 Leagues | 38 | 38 | 3,369 | 37.4 | 1 | 3 | 4 | 1 | 0 | 0 | 5 | 1 | 0.03 | 0.08 | 0.11 | 0.03 | 0.11 | |
| 2024-2025 | 27 | Swindon Town | 2 Leagues | 22 | 20 | 1,745 | 19.4 | 1 | 1 | 2 | 1 | 0 | 0 | 4 | 0 | 0.05 | 0.05 | 0.10 | 0.05 | 0.10 | |
| 2025-2026 | 28 | Swindon Town | 1 League | 1 | 0 | 10 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2025-2026 | 28 | Newport County | 1 League | 17 | 16 | 1,448 | 16.1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.06 | 0.00 | 0.06 | 0.06 | 0.06 | |
| 10 Seasons | 10 Clubs | 6 Leagues | 287 | 268 | 23,863 | 265.1 | 18 | 9 | 20 | 18 | 0 | 0 | 39 | 2 | 0.07 | 0.04 | 0.09 | 0.07 | 0.09 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Rochdale (3 Seasons) | 3 Leagues | 56 | 53 | 4,768 | 53.0 | 4 | 1 | 5 | 4 | 0 | 0 | 6 | 0 | 0.08 | 0.02 | 0.09 | 0.08 | 0.09 | |||
| Newport County (2 Seasons) | 3 Leagues | 55 | 54 | 4,817 | 53.5 | 2 | 3 | 5 | 2 | 0 | 0 | 5 | 1 | 0.04 | 0.06 | 0.09 | 0.04 | 0.09 | |||
| Morecambe (2 Seasons) | 3 Leagues | 50 | 42 | 3,689 | 41.0 | 1 | 3 | 4 | 1 | 0 | 0 | 5 | 0 | 0.02 | 0.07 | 0.10 | 0.02 | 0.10 | |||
| Bolton Wanderers (2 Seasons) | 4 Leagues | 25 | 23 | 2,035 | 22.6 | 2 | 0 | 2 | 2 | 0 | 0 | 6 | 1 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | |||
| Swindon Town (2 Seasons) | 2 Leagues | 23 | 20 | 1,755 | 19.5 | 1 | 1 | 2 | 1 | 0 | 0 | 4 | 0 | 0.05 | 0.05 | 0.10 | 0.05 | 0.10 | |||
| Cork City (1 Season) | 1 League | 30 | 30 | 2,655 | 29.5 | 6 | 6 | 0 | 0 | 5 | 0 | 0.20 | 0.20 | ||||||||
| Scunthorpe United (1 Season) | 1 League | 18 | 18 | 1,620 | 18.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Wexford FC (1 Season) | 1 League | 15 | 14 | 1,292 | 14.4 | 1 | 1 | 0 | 0 | 2 | 0 | 0.07 | 0.07 | ||||||||
| AFC Wimbledon (1 Season) | 2 Leagues | 15 | 14 | 1,232 | 13.7 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.07 | 0.07 | 0.15 | 0.07 | 0.15 | |||
| Burton Albion (1 Season) | 2 Leagues | 0 | 0 | ||||||||||||||||||
| FA Cup (8 Seasons) | 17 | 17 | 1,530 | 17.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| EFL Cup (6 Seasons) | 7 | 7 | 630 | 7.0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.14 | 0.00 | 0.14 | 0.14 | 0.14 | ||||
| League One (5 Seasons) | 111 | 97 | 8,672 | 96.4 | 6 | 5 | 11 | 6 | 0 | 0 | 13 | 0 | 0.06 | 0.05 | 0.11 | 0.06 | 0.11 | ||||
| League Two (5 Seasons) | 107 | 103 | 9,084 | 100.9 | 4 | 4 | 8 | 4 | 0 | 0 | 18 | 2 | 0.04 | 0.04 | 0.08 | 0.04 | 0.08 | ||||
| Premier Division (2 Seasons) | 45 | 44 | 3,947 | 43.9 | 7 | 7 | 0 | 0 | 7 | 0 | 0.16 | 0.16 | |||||||||
| Championship (1 Season) | 0 | 0 | |||||||||||||||||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2016 | 19 | Wexford FC | ie IRL | 1. Premier Division | 11th | 15 | 14 | 1,292 | 14.4 | 1 | 1 | 0 | 0 | 2 | 0 | 0.07 | 0.07 | Matches | |||||
| 2016-2017 | 19 | Burton Albion | eng ENG | 2. Championship | 20th | 0 | 0 | Matches | |||||||||||||||
| 2017 | 20 | Cork City | ie IRL | 1. Premier Division | 1st | 30 | 30 | 2,655 | 29.5 | 6 | 6 | 0 | 0 | 5 | 0 | 0.20 | 0.20 | Matches | |||||
| 2017-2018 | 20 | Rochdale | eng ENG | 3. League One | 20th | 18 | 16 | 1,465 | 16.3 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.12 | 0.00 | 0.12 | 0.12 | 0.12 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | 3. League One | 16th | 30 | 29 | 2,583 | 28.7 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.03 | 0.03 | 0.07 | 0.03 | 0.07 | Matches |
| 2019-2020 | 22 | Rochdale | eng ENG | 3. League One | 18th | 0 | 0 | Matches | |||||||||||||||
| 2019-2020 | 22 | AFC Wimbledon | eng ENG | 3. League One | 20th | 14 | 13 | 1,142 | 12.7 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.08 | 0.08 | 0.16 | 0.08 | 0.16 | Matches |
| 2019-2020 | 22 | Bolton Wanderers | eng ENG | 3. League One | 23rd | 4 | 2 | 213 | 2.4 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.42 | 0.00 | 0.42 | 0.42 | 0.42 | Matches |
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | 4. League Two | 3rd | 20 | 20 | 1,732 | 19.2 | 1 | 0 | 1 | 1 | 0 | 0 | 6 | 1 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | Matches |
| 2021-2022 | 24 | Scunthorpe United | eng ENG | 4. League Two | 24th | 18 | 18 | 1,620 | 18.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 24 | Morecambe | eng ENG | 3. League One | 19th | 13 | 10 | 921 | 10.2 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.10 | 0.10 | 0.00 | 0.10 | Matches |
| 2022-2023 | 25 | Morecambe | eng ENG | 3. League One | 22nd | 32 | 27 | 2,348 | 26.1 | 1 | 2 | 3 | 1 | 0 | 0 | 3 | 0 | 0.04 | 0.08 | 0.11 | 0.04 | 0.11 | Matches |
| 2023-2024 | 26 | Newport County | eng ENG | 4. League Two | 18th | 30 | 30 | 2,619 | 29.1 | 1 | 3 | 4 | 1 | 0 | 0 | 5 | 1 | 0.03 | 0.10 | 0.14 | 0.03 | 0.14 | Matches |
| 2024-2025 | 27 | Swindon Town | eng ENG | 4. League Two | 12th | 21 | 19 | 1,655 | 18.4 | 1 | 1 | 2 | 1 | 0 | 0 | 4 | 0 | 0.05 | 0.05 | 0.11 | 0.05 | 0.11 | Matches |
| 2025-2026 | 28 | Swindon Town | eng ENG | 4. League Two | 9th | 1 | 0 | 10 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 28 | Newport County | eng ENG | 4. League Two | 20th | 17 | 16 | 1,448 | 16.1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.06 | 0.00 | 0.06 | 0.06 | 0.06 | Matches |
| 10 Seasons | 10 Clubs | 4 Leagues | 263 | 244 | 21,703 | 241.1 | 17 | 9 | 19 | 17 | 0 | 0 | 38 | 2 | 0.07 | 0.05 | 0.10 | 0.07 | 0.10 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Rochdale (3 Seasons) | 1 League | 48 | 45 | 4,048 | 45.0 | 3 | 1 | 4 | 3 | 0 | 0 | 5 | 0 | 0.07 | 0.02 | 0.09 | 0.07 | 0.09 | |||||
| Newport County (2 Seasons) | 1 League | 47 | 46 | 4,067 | 45.2 | 2 | 3 | 5 | 2 | 0 | 0 | 5 | 1 | 0.04 | 0.07 | 0.11 | 0.04 | 0.11 | |||||
| Morecambe (2 Seasons) | 1 League | 45 | 37 | 3,269 | 36.3 | 1 | 3 | 4 | 1 | 0 | 0 | 5 | 0 | 0.03 | 0.08 | 0.11 | 0.03 | 0.11 | |||||
| Bolton Wanderers (2 Seasons) | 2 Leagues | 24 | 22 | 1,945 | 21.6 | 2 | 0 | 2 | 2 | 0 | 0 | 6 | 1 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | |||||
| Swindon Town (2 Seasons) | 1 League | 22 | 19 | 1,665 | 18.5 | 1 | 1 | 2 | 1 | 0 | 0 | 4 | 0 | 0.05 | 0.05 | 0.11 | 0.05 | 0.11 | |||||
| Cork City (1 Season) | 1 League | 30 | 30 | 2,655 | 29.5 | 6 | 6 | 0 | 0 | 5 | 0 | 0.20 | 0.20 | ||||||||||
| Scunthorpe United (1 Season) | 1 League | 18 | 18 | 1,620 | 18.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Wexford FC (1 Season) | 1 League | 15 | 14 | 1,292 | 14.4 | 1 | 1 | 0 | 0 | 2 | 0 | 0.07 | 0.07 | ||||||||||
| AFC Wimbledon (1 Season) | 1 League | 14 | 13 | 1,142 | 12.7 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.08 | 0.08 | 0.16 | 0.08 | 0.16 | |||||
| Burton Albion (1 Season) | 1 League | 0 | 0 | ||||||||||||||||||||
| League One (5 Seasons) | 111 | 97 | 8,672 | 96.4 | 6 | 5 | 11 | 6 | 0 | 0 | 13 | 0 | 0.06 | 0.05 | 0.11 | 0.06 | 0.11 | ||||||
| League Two (5 Seasons) | 107 | 103 | 9,084 | 100.9 | 4 | 4 | 8 | 4 | 0 | 0 | 18 | 2 | 0.04 | 0.04 | 0.08 | 0.04 | 0.08 | ||||||
| Premier Division (2 Seasons) | 45 | 44 | 3,947 | 43.9 | 7 | 7 | 0 | 0 | 7 | 0 | 0.16 | 0.16 | |||||||||||
| Championship (1 Season) | 0 | 0 | |||||||||||||||||||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2016-2017 | 19 | Burton Albion | eng ENG | EFL Cup | 33rd | 0 | 0 | Matches | |||||||||||||||
| 2017-2018 | 20 | Rochdale | eng ENG | FA Cup | 9th | 4 | 4 | 360 | 4.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | EFL Cup | 33rd | 2 | 2 | 180 | 2.0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.50 | 0.00 | 0.50 | 0.50 | 0.50 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | FA Cup | 65th | 2 | 2 | 180 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 22 | Rochdale | eng ENG | EFL Cup | 17th | 0 | 0 | Matches | |||||||||||||||
| 2019-2020 | 22 | AFC Wimbledon | 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 |
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | EFL Cup | 58th | 0 | 0 | Matches | |||||||||||||||
| 2020-2021 | 23 | Bolton Wanderers | 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 | 24 | Morecambe | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2022-2023 | 25 | Morecambe | eng ENG | EFL Cup | Rd3 | 3 | 3 | 240 | 2.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 25 | Morecambe | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2023-2024 | 26 | Newport County | eng ENG | EFL Cup | Rd2 | 2 | 2 | 210 | 2.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 26 | Newport County | eng ENG | FA Cup | 6 | 6 | 540 | 6.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2024-2025 | 27 | Swindon Town | 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 | |
| 9 Seasons | 7 Clubs | 2 Leagues | 24 | 24 | 2,160 | 24.0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.04 | 0.04 | 0.04 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Rochdale (3 Seasons) | 2 Leagues | 8 | 8 | 720 | 8.0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.12 | 0.00 | 0.12 | 0.12 | 0.12 | |||||
| Morecambe (2 Seasons) | 2 Leagues | 5 | 5 | 420 | 4.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Newport County (1 Season) | 2 Leagues | 8 | 8 | 750 | 8.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Swindon Town (1 Season) | 1 League | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Bolton Wanderers (1 Season) | 2 Leagues | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| AFC Wimbledon (1 Season) | 1 League | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Burton Albion (1 Season) | 1 League | 0 | 0 | ||||||||||||||||||||
| FA Cup (8 Seasons) | 17 | 17 | 1,530 | 17.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| EFL Cup (6 Seasons) | 7 | 7 | 630 | 7.0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.14 | 0.00 | 0.14 | 0.14 | 0.14 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016 | 19 | Wexford FC | ie IRL | 1. Premier Division | 14.4 | 1 | 0 | 0 | Matches | |||||||
| 2017 | 20 | Cork City | ie IRL | 1. Premier Division | 29.5 | 6 | 0 | 0 | Matches | |||||||
| 2017-2018 | 20 | Rochdale | eng ENG | FA Cup | 4.0 | 0 | 2 | 1 | 50.0 | 0.50 | 0.25 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2017-2018 | 20 | Rochdale | eng ENG | 3. League One | 16.3 | 2 | 0 | 5 | 0.00 | 0.31 | 0.40 | 0 | 0 | Matches | ||
| 2018-2019 | 21 | Rochdale | eng ENG | EFL Cup | 2.0 | 1 | 1 | 1 | 100.0 | 0.50 | 0.50 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | FA Cup | 2.0 | 0 | 1 | 1 | 100.0 | 0.50 | 0.50 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | 3. League One | 28.7 | 1 | 0 | 0 | Matches | |||||||
| 2019-2020 | 22 | AFC Wimbledon | eng ENG | FA Cup | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2019-2020 | 22 | Bolton Wanderers | eng ENG | 3. League One | 2.4 | 1 | 2 | 1 | 50.0 | 0.85 | 0.42 | 0.50 | 1.00 | 0 | 0 | Matches |
| 2019-2020 | 22 | AFC Wimbledon | eng ENG | 3. League One | 12.7 | 1 | 5 | 1 | 20.0 | 0.39 | 0.08 | 0.20 | 1.00 | 0 | 0 | Matches |
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | 4. League Two | 19.2 | 1 | 5 | 1 | 20.0 | 0.26 | 0.05 | 0.20 | 1.00 | 0 | 0 | Matches |
| 2021-2022 | 24 | Morecambe | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 24 | Morecambe | eng ENG | 3. League One | 10.2 | 0 | 6 | 1 | 16.7 | 0.59 | 0.10 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 24 | Scunthorpe United | eng ENG | 4. League Two | 18.0 | 0 | 6 | 4 | 66.7 | 0.33 | 0.22 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 25 | Morecambe | eng ENG | EFL Cup | 2.7 | 0 | 1 | 0 | 0.0 | 0.37 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 25 | Morecambe | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2022-2023 | 25 | Morecambe | eng ENG | 3. League One | 26.1 | 1 | 15 | 3 | 20.0 | 0.57 | 0.11 | 0.07 | 0.33 | 0 | 0 | Matches |
| 2023-2024 | 26 | Newport County | eng ENG | EFL Cup | 2.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2023-2024 | 26 | Newport County | eng ENG | FA Cup | 6.0 | 0 | 3 | 2 | 66.7 | 0.50 | 0.33 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 26 | Newport County | eng ENG | 4. League Two | 29.1 | 1 | 26 | 6 | 23.1 | 0.89 | 0.21 | 0.04 | 0.17 | 0 | 0 | Matches |
| 2024-2025 | 27 | Swindon Town | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2024-2025 | 27 | Swindon Town | eng ENG | 4. League Two | 18.4 | 1 | 7 | 4 | 57.1 | 0.38 | 0.22 | 0.14 | 0.25 | 0 | 0 | Matches |
| 2025-2026 | 28 | Swindon Town | eng ENG | 4. League Two | 0.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2025-2026 | 28 | Newport County | eng ENG | 4. League Two | 16.1 | 1 | 8 | 5 | 62.5 | 0.50 | 0.31 | 0.13 | 0.20 | 0 | 0 | Matches |
| 10 Seasons | 10 Clubs | 6 Leagues | 265.1 | 18 | 89 | 36 | 40.4 | 0.47 | 0.19 | 0.11 | 0.28 | 0 | 0 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Rochdale (3 Seasons) | 3 Leagues | 53.0 | 4 | 4 | 8 | 200.0 | 0.16 | 0.33 | 0.75 | 0.38 | 0 | 0 | ||||
| Newport County (2 Seasons) | 3 Leagues | 53.5 | 2 | 37 | 13 | 35.1 | 0.69 | 0.24 | 0.05 | 0.15 | 0 | 0 | ||||
| Morecambe (2 Seasons) | 3 Leagues | 41.0 | 1 | 22 | 4 | 18.2 | 0.55 | 0.10 | 0.05 | 0.25 | 0 | 0 | ||||
| Bolton Wanderers (2 Seasons) | 4 Leagues | 22.6 | 2 | 7 | 2 | 28.6 | 0.31 | 0.09 | 0.29 | 1.00 | 0 | 0 | ||||
| Swindon Town (2 Seasons) | 2 Leagues | 19.5 | 1 | 7 | 4 | 57.1 | 0.38 | 0.22 | 0.14 | 0.25 | 0 | 0 | ||||
| Cork City (1 Season) | 1 League | 29.5 | 6 | 0 | 0 | |||||||||||
| Scunthorpe United (1 Season) | 1 League | 18.0 | 0 | 6 | 4 | 66.7 | 0.33 | 0.22 | 0.00 | 0.00 | 0 | 0 | ||||
| Wexford FC (1 Season) | 1 League | 14.4 | 1 | 0 | 0 | |||||||||||
| AFC Wimbledon (1 Season) | 2 Leagues | 13.7 | 1 | 6 | 1 | 16.7 | 0.44 | 0.07 | 0.17 | 1.00 | 0 | 0 | ||||
| Burton Albion (1 Season) | 2 Leagues | |||||||||||||||
| FA Cup (8 Seasons) | 17.0 | 0 | 7 | 4 | 57.1 | 0.47 | 0.27 | 0.00 | 0.00 | 0 | 0 | |||||
| EFL Cup (6 Seasons) | 7.0 | 1 | 2 | 1 | 50.0 | 0.29 | 0.14 | 0.50 | 1.00 | 0 | 0 | |||||
| League One (5 Seasons) | 96.4 | 6 | 28 | 11 | 39.3 | 0.41 | 0.16 | 0.18 | 0.45 | 0 | 0 | |||||
| League Two (5 Seasons) | 100.9 | 4 | 52 | 20 | 38.5 | 0.52 | 0.20 | 0.08 | 0.20 | 0 | 0 | |||||
| Premier Division (2 Seasons) | 43.9 | 7 | 0 | 0 | ||||||||||||
| Championship (1 Season) | ||||||||||||||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016 | 19 | Wexford FC | 1 League | 14.4 | 1 | 0 | 0 | ||||||||
| 2017 | 20 | Cork City | 1 League | 29.5 | 6 | 0 | 0 | ||||||||
| 2017-2018 | 20 | Rochdale | 2 Leagues | 20.3 | 2 | 2 | 6 | 300.0 | 0.10 | 0.30 | 1.00 | 0.33 | 0 | 0 | |
| 2018-2019 | 21 | Rochdale | 3 Leagues | 32.7 | 2 | 2 | 2 | 100.0 | 0.50 | 0.50 | 0.50 | 0.50 | 0 | 0 | |
| 2019-2020 | 22 | AFC Wimbledon | 2 Leagues | 13.7 | 1 | 6 | 1 | 16.7 | 0.44 | 0.07 | 0.17 | 1.00 | 0 | 0 | |
| 2019-2020 | 22 | Bolton Wanderers | 1 League | 2.4 | 1 | 2 | 1 | 50.0 | 0.85 | 0.42 | 0.50 | 1.00 | 0 | 0 | |
| 2020-2021 | 23 | Bolton Wanderers | 3 Leagues | 20.2 | 1 | 5 | 1 | 20.0 | 0.25 | 0.05 | 0.20 | 1.00 | 0 | 0 | |
| 2021-2022 | 24 | Scunthorpe United | 1 League | 18.0 | 0 | 6 | 4 | 66.7 | 0.33 | 0.22 | 0.00 | 0.00 | 0 | 0 | |
| 2021-2022 | 24 | Morecambe | 2 Leagues | 11.2 | 0 | 6 | 1 | 16.7 | 0.53 | 0.09 | 0.00 | 0.00 | 0 | 0 | |
| 2022-2023 | 25 | Morecambe | 3 Leagues | 29.8 | 1 | 16 | 3 | 18.8 | 0.56 | 0.10 | 0.06 | 0.33 | 0 | 0 | |
| 2023-2024 | 26 | Newport County | 3 Leagues | 37.4 | 1 | 29 | 8 | 27.6 | 0.77 | 0.21 | 0.03 | 0.13 | 0 | 0 | |
| 2024-2025 | 27 | Swindon Town | 2 Leagues | 19.4 | 1 | 7 | 4 | 57.1 | 0.38 | 0.22 | 0.14 | 0.25 | 0 | 0 | |
| 2025-2026 | 28 | Swindon Town | 1 League | 0.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2025-2026 | 28 | Newport County | 1 League | 16.1 | 1 | 8 | 5 | 62.5 | 0.50 | 0.31 | 0.13 | 0.20 | 0 | 0 | |
| 10 Seasons | 10 Clubs | 6 Leagues | 265.1 | 18 | 89 | 36 | 40.4 | 0.47 | 0.19 | 0.11 | 0.28 | 0 | 0 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Rochdale (3 Seasons) | 3 Leagues | 53.0 | 4 | 4 | 8 | 200.0 | 0.16 | 0.33 | 0.75 | 0.38 | 0 | 0 | |||
| Newport County (2 Seasons) | 3 Leagues | 53.5 | 2 | 37 | 13 | 35.1 | 0.69 | 0.24 | 0.05 | 0.15 | 0 | 0 | |||
| Morecambe (2 Seasons) | 3 Leagues | 41.0 | 1 | 22 | 4 | 18.2 | 0.55 | 0.10 | 0.05 | 0.25 | 0 | 0 | |||
| Bolton Wanderers (2 Seasons) | 4 Leagues | 22.6 | 2 | 7 | 2 | 28.6 | 0.31 | 0.09 | 0.29 | 1.00 | 0 | 0 | |||
| Swindon Town (2 Seasons) | 2 Leagues | 19.5 | 1 | 7 | 4 | 57.1 | 0.38 | 0.22 | 0.14 | 0.25 | 0 | 0 | |||
| Cork City (1 Season) | 1 League | 29.5 | 6 | 0 | 0 | ||||||||||
| Scunthorpe United (1 Season) | 1 League | 18.0 | 0 | 6 | 4 | 66.7 | 0.33 | 0.22 | 0.00 | 0.00 | 0 | 0 | |||
| Wexford FC (1 Season) | 1 League | 14.4 | 1 | 0 | 0 | ||||||||||
| AFC Wimbledon (1 Season) | 2 Leagues | 13.7 | 1 | 6 | 1 | 16.7 | 0.44 | 0.07 | 0.17 | 1.00 | 0 | 0 | |||
| Burton Albion (1 Season) | 2 Leagues | ||||||||||||||
| FA Cup (8 Seasons) | 17.0 | 0 | 7 | 4 | 57.1 | 0.47 | 0.27 | 0.00 | 0.00 | 0 | 0 | ||||
| EFL Cup (6 Seasons) | 7.0 | 1 | 2 | 1 | 50.0 | 0.29 | 0.14 | 0.50 | 1.00 | 0 | 0 | ||||
| League One (5 Seasons) | 96.4 | 6 | 28 | 11 | 39.3 | 0.41 | 0.16 | 0.18 | 0.45 | 0 | 0 | ||||
| League Two (5 Seasons) | 100.9 | 4 | 52 | 20 | 38.5 | 0.52 | 0.20 | 0.08 | 0.20 | 0 | 0 | ||||
| Premier Division (2 Seasons) | 43.9 | 7 | 0 | 0 | |||||||||||
| Championship (1 Season) | |||||||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016 | 19 | Wexford FC | ie IRL | 1. Premier Division | 11th | 14.4 | 1 | 0 | 0 | Matches | |||||||
| 2017 | 20 | Cork City | ie IRL | 1. Premier Division | 1st | 29.5 | 6 | 0 | 0 | Matches | |||||||
| 2017-2018 | 20 | Rochdale | eng ENG | 3. League One | 20th | 16.3 | 2 | 0 | 5 | 0.00 | 0.31 | 0.40 | 0 | 0 | Matches | ||
| 2018-2019 | 21 | Rochdale | eng ENG | 3. League One | 16th | 28.7 | 1 | 0 | 0 | Matches | |||||||
| 2019-2020 | 22 | AFC Wimbledon | eng ENG | 3. League One | 20th | 12.7 | 1 | 5 | 1 | 20.0 | 0.39 | 0.08 | 0.20 | 1.00 | 0 | 0 | Matches |
| 2019-2020 | 22 | Bolton Wanderers | eng ENG | 3. League One | 23rd | 2.4 | 1 | 2 | 1 | 50.0 | 0.85 | 0.42 | 0.50 | 1.00 | 0 | 0 | Matches |
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | 4. League Two | 3rd | 19.2 | 1 | 5 | 1 | 20.0 | 0.26 | 0.05 | 0.20 | 1.00 | 0 | 0 | Matches |
| 2021-2022 | 24 | Scunthorpe United | eng ENG | 4. League Two | 24th | 18.0 | 0 | 6 | 4 | 66.7 | 0.33 | 0.22 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 24 | Morecambe | eng ENG | 3. League One | 19th | 10.2 | 0 | 6 | 1 | 16.7 | 0.59 | 0.10 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 25 | Morecambe | eng ENG | 3. League One | 22nd | 26.1 | 1 | 15 | 3 | 20.0 | 0.57 | 0.11 | 0.07 | 0.33 | 0 | 0 | Matches |
| 2023-2024 | 26 | Newport County | eng ENG | 4. League Two | 18th | 29.1 | 1 | 26 | 6 | 23.1 | 0.89 | 0.21 | 0.04 | 0.17 | 0 | 0 | Matches |
| 2024-2025 | 27 | Swindon Town | eng ENG | 4. League Two | 12th | 18.4 | 1 | 7 | 4 | 57.1 | 0.38 | 0.22 | 0.14 | 0.25 | 0 | 0 | Matches |
| 2025-2026 | 28 | Swindon Town | eng ENG | 4. League Two | 9th | 0.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2025-2026 | 28 | Newport County | eng ENG | 4. League Two | 20th | 16.1 | 1 | 8 | 5 | 62.5 | 0.50 | 0.31 | 0.13 | 0.20 | 0 | 0 | Matches |
| 10 Seasons | 10 Clubs | 4 Leagues | 241.1 | 17 | 80 | 31 | 38.8 | 0.47 | 0.18 | 0.11 | 0.29 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Rochdale (3 Seasons) | 1 League | 45.0 | 3 | 0 | 5 | 0.00 | 0.31 | 0.40 | 0 | 0 | |||||||
| Newport County (2 Seasons) | 1 League | 45.2 | 2 | 34 | 11 | 32.4 | 0.75 | 0.24 | 0.06 | 0.18 | 0 | 0 | |||||
| Morecambe (2 Seasons) | 1 League | 36.3 | 1 | 21 | 4 | 19.0 | 0.58 | 0.11 | 0.05 | 0.25 | 0 | 0 | |||||
| Bolton Wanderers (2 Seasons) | 2 Leagues | 21.6 | 2 | 7 | 2 | 28.6 | 0.32 | 0.09 | 0.29 | 1.00 | 0 | 0 | |||||
| Swindon Town (2 Seasons) | 1 League | 18.5 | 1 | 7 | 4 | 57.1 | 0.38 | 0.22 | 0.14 | 0.25 | 0 | 0 | |||||
| Cork City (1 Season) | 1 League | 29.5 | 6 | 0 | 0 | ||||||||||||
| Scunthorpe United (1 Season) | 1 League | 18.0 | 0 | 6 | 4 | 66.7 | 0.33 | 0.22 | 0.00 | 0.00 | 0 | 0 | |||||
| Wexford FC (1 Season) | 1 League | 14.4 | 1 | 0 | 0 | ||||||||||||
| AFC Wimbledon (1 Season) | 1 League | 12.7 | 1 | 5 | 1 | 20.0 | 0.39 | 0.08 | 0.20 | 1.00 | 0 | 0 | |||||
| Burton Albion (1 Season) | 1 League | ||||||||||||||||
| League One (5 Seasons) | 96.4 | 6 | 28 | 11 | 39.3 | 0.41 | 0.16 | 0.18 | 0.45 | 0 | 0 | ||||||
| League Two (5 Seasons) | 100.9 | 4 | 52 | 20 | 38.5 | 0.52 | 0.20 | 0.08 | 0.20 | 0 | 0 | ||||||
| Premier Division (2 Seasons) | 43.9 | 7 | 0 | 0 | |||||||||||||
| Championship (1 Season) | |||||||||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2017-2018 | 20 | Rochdale | eng ENG | FA Cup | 9th | 4.0 | 0 | 2 | 1 | 50.0 | 0.50 | 0.25 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | EFL Cup | 33rd | 2.0 | 1 | 1 | 1 | 100.0 | 0.50 | 0.50 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | FA Cup | 65th | 2.0 | 0 | 1 | 1 | 100.0 | 0.50 | 0.50 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 22 | AFC Wimbledon | eng ENG | FA Cup | 85th | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | FA Cup | 85th | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 24 | Morecambe | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | ||||
| 2022-2023 | 25 | Morecambe | eng ENG | EFL Cup | Rd3 | 2.7 | 0 | 1 | 0 | 0.0 | 0.37 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 25 | Morecambe | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | Matches | ||||||||
| 2023-2024 | 26 | Newport County | eng ENG | EFL Cup | Rd2 | 2.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2023-2024 | 26 | Newport County | eng ENG | FA Cup | 6.0 | 0 | 3 | 2 | 66.7 | 0.50 | 0.33 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2024-2025 | 27 | Swindon Town | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | Matches | ||||||||
| 9 Seasons | 7 Clubs | 2 Leagues | 24.0 | 1 | 9 | 5 | 55.6 | 0.41 | 0.23 | 0.11 | 0.20 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Rochdale (3 Seasons) | 2 Leagues | 8.0 | 1 | 4 | 3 | 75.0 | 0.50 | 0.37 | 0.25 | 0.33 | 0 | 0 | |||||
| Morecambe (2 Seasons) | 2 Leagues | 4.7 | 0 | 1 | 0 | 0.0 | 0.27 | 0.00 | 0.00 | 0 | 0 | ||||||
| Newport County (1 Season) | 2 Leagues | 8.3 | 0 | 3 | 2 | 66.7 | 0.36 | 0.24 | 0.00 | 0.00 | 0 | 0 | |||||
| Swindon Town (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | ||||||||||||
| Bolton Wanderers (1 Season) | 2 Leagues | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| AFC Wimbledon (1 Season) | 1 League | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | ||||||
| Burton Albion (1 Season) | 1 League | ||||||||||||||||
| FA Cup (8 Seasons) | 17.0 | 0 | 7 | 4 | 57.1 | 0.47 | 0.27 | 0.00 | 0.00 | 0 | 0 | ||||||
| EFL Cup (6 Seasons) | 7.0 | 1 | 2 | 1 | 50.0 | 0.29 | 0.14 | 0.50 | 1.00 | 0 | 0 | ||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016 | 19 | Wexford FC | ie IRL | 1. Premier Division | 15 | 1,292 | 86 | 43.5 | 14.4 | 14 | 88 | 11 | 1 | 67 | 3 | 0.73 | 15 | 24 | -9 | -0.63 | +0.98 | Matches |
| 2016-2017 | 19 | Burton Albion | eng ENG | 2. Championship | 0 | 0 | 0 | 0 | 2 | Matches | ||||||||||||
| 2016-2017 | 19 | Burton Albion | eng ENG | EFL Cup | 0 | 0 | 0 | 0 | 2 | Matches | ||||||||||||
| 2017 | 20 | Cork City | ie IRL | 1. Premier Division | 30 | 2,655 | 89 | 89.4 | 29.5 | 30 | 89 | 29 | 0 | 1 | 2.23 | 61 | 21 | +40 | +1.36 | +0.21 | Matches | |
| 2017-2018 | 20 | Rochdale | eng ENG | FA Cup | 4 | 360 | 90 | 57.1 | 4.0 | 4 | 90 | 4 | 0 | 0 | 1.25 | 6 | 10 | -4 | -1.00 | -4.00 | Matches | |
| 2017-2018 | 20 | Rochdale | eng ENG | 3. League One | 18 | 1,465 | 81 | 35.4 | 16.3 | 16 | 15 | 2 | 1 | 1.39 | 16 | 13 | +3 | +0.18 | +0.55 | Matches | ||
| 2018-2019 | 21 | Rochdale | eng ENG | EFL Cup | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 3 | 2 | +1 | +0.50 | Matches | ||
| 2018-2019 | 21 | Rochdale | eng ENG | FA Cup | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 2 | 2 | 0 | 0.00 | Matches | ||
| 2018-2019 | 21 | Rochdale | eng ENG | 3. League One | 30 | 2,583 | 86 | 62.4 | 28.7 | 29 | 88 | 28 | 1 | 17 | 8 | 1.03 | 29 | 63 | -34 | -1.18 | -1.24 | Matches |
| 2019-2020 | 22 | Rochdale | eng ENG | EFL Cup | 0 | 0 | 0 | 0 | 2 | Matches | ||||||||||||
| 2019-2020 | 22 | AFC Wimbledon | eng ENG | FA Cup | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.00 | -2.00 | Matches | |
| 2019-2020 | 22 | Bolton Wanderers | eng ENG | 3. League One | 4 | 213 | 53 | 7.0 | 2.4 | 2 | 90 | 2 | 2 | 17 | 4 | 0.50 | 3 | 3 | 0 | 0.00 | +1.23 | Matches |
| 2019-2020 | 22 | Rochdale | eng ENG | 3. League One | 0 | 0 | 0 | 0 | 5 | Matches | ||||||||||||
| 2019-2020 | 22 | AFC Wimbledon | eng ENG | 3. League One | 14 | 1,142 | 82 | 36.3 | 12.7 | 13 | 86 | 11 | 1 | 19 | 3 | 0.93 | 15 | 19 | -4 | -0.32 | +0.09 | Matches |
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | EFL Cup | 0 | 0 | 0 | 1 | Matches | |||||||||||||
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 2 | 3 | -1 | -1.00 | Matches | ||
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | 4. League Two | 20 | 1,732 | 87 | 41.8 | 19.2 | 20 | 87 | 17 | 0 | 6 | 1.40 | 24 | 30 | -6 | -0.31 | -0.87 | Matches | |
| 2021-2022 | 24 | Morecambe | eng ENG | FA Cup | 1 | 90 | 90 | 33.3 | 1.0 | 1 | 90 | 1 | 0 | 2 | 3.00 | 1 | 0 | +1 | +1.00 | +1.50 | Matches | |
| 2021-2022 | 24 | Morecambe | eng ENG | 3. League One | 13 | 921 | 71 | 22.2 | 10.2 | 10 | 84 | 9 | 3 | 26 | 9 | 0.92 | 16 | 28 | -12 | -1.17 | -0.64 | Matches |
| 2021-2022 | 24 | Scunthorpe United | eng ENG | 4. League Two | 18 | 1,620 | 90 | 39.1 | 18.0 | 18 | 90 | 18 | 0 | 0 | 0.39 | 8 | 41 | -33 | -1.83 | -0.83 | Matches | |
| 2022-2023 | 25 | Morecambe | eng ENG | EFL Cup | 3 | 240 | 80 | 80.0 | 2.7 | 3 | 80 | 2 | 0 | 0 | 1.33 | 1 | 1 | 0 | 0.00 | +1.50 | Matches | |
| 2022-2023 | 25 | Morecambe | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.00 | Matches | ||
| 2022-2023 | 25 | Morecambe | eng ENG | 3. League One | 32 | 2,348 | 73 | 56.7 | 26.1 | 27 | 84 | 20 | 5 | 18 | 9 | 1.00 | 26 | 44 | -18 | -0.69 | -0.04 | Matches |
| 2023-2024 | 26 | Newport County | eng ENG | EFL Cup | 2 | 210 | 105 | 100.0 | 2.3 | 2 | 105 | 2 | 0 | 0 | 2.00 | 4 | 2 | +2 | +0.86 | Matches | ||
| 2023-2024 | 26 | Newport County | eng ENG | FA Cup | 6 | 540 | 90 | 100.0 | 6.0 | 6 | 90 | 6 | 0 | 0 | 1.83 | 13 | 8 | +5 | +0.83 | Matches | ||
| 2023-2024 | 26 | Newport County | eng ENG | 4. League Two | 30 | 2,619 | 87 | 63.3 | 29.1 | 30 | 87 | 28 | 0 | 0 | 1.43 | 44 | 43 | +1 | +0.03 | +0.92 | Matches | |
| 2024-2025 | 27 | Swindon Town | eng ENG | FA Cup | 1 | 90 | 90 | 37.5 | 1.0 | 1 | 90 | 0 | 0 | 1 | 1.00 | 2 | 2 | 0 | 0.00 | -0.60 | Matches | |
| 2024-2025 | 27 | Swindon Town | eng ENG | 4. League Two | 21 | 1,655 | 79 | 40.0 | 18.4 | 19 | 84 | 15 | 2 | 32 | 3 | 1.38 | 33 | 29 | +4 | +0.22 | +0.07 | Matches |
| 2025-2026 | 28 | Swindon Town | eng ENG | 4. League Two | 1 | 10 | 10 | 0.2 | 0.1 | 0 | 0 | 1 | 10 | 1 | 3.00 | 1 | 1 | 0 | 0.00 | -0.24 | Matches | |
| 2025-2026 | 28 | Newport County | eng ENG | 4. League Two | 17 | 1,448 | 85 | 35.0 | 16.1 | 16 | 87 | 15 | 1 | 53 | 1 | 1.18 | 18 | 23 | -5 | -0.31 | +0.49 | Matches |
| 10 Seasons | 10 Clubs | 6 Leagues | 287 | 23,863 | 83 | 37.1 | 265.1 | 268 | 87 | 240 | 19 | 25 | 64 | 1.24 | 343 | 416 | -73 | -0.28 | +0.13 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Rochdale (3 Seasons) | 3 Leagues | 56 | 4,768 | 85 | 37.8 | 53.0 | 53 | 89 | 51 | 3 | 17 | 16 | 1.20 | 56 | 90 | -34 | -0.64 | -0.62 | ||||
| Newport County (2 Seasons) | 3 Leagues | 55 | 4,817 | 88 | 53.3 | 53.5 | 54 | 88 | 51 | 1 | 53 | 1 | 1.42 | 79 | 76 | +3 | +0.06 | +0.89 | ||||
| Morecambe (2 Seasons) | 3 Leagues | 50 | 3,689 | 74 | 41.3 | 41.0 | 42 | 84 | 33 | 8 | 21 | 20 | 1.02 | 44 | 75 | -31 | -0.76 | -0.17 | ||||
| Bolton Wanderers (2 Seasons) | 4 Leagues | 25 | 2,035 | 81 | 27.6 | 22.6 | 23 | 87 | 20 | 2 | 17 | 11 | 1.20 | 29 | 36 | -7 | -0.31 | +0.10 | ||||
| Swindon Town (2 Seasons) | 2 Leagues | 23 | 1,755 | 76 | 20.6 | 19.5 | 20 | 84 | 15 | 3 | 24 | 5 | 1.43 | 36 | 32 | +4 | +0.21 | -0.01 | ||||
| Cork City (1 Season) | 1 League | 30 | 2,655 | 89 | 89.4 | 29.5 | 30 | 89 | 29 | 0 | 1 | 2.23 | 61 | 21 | +40 | +1.36 | +0.21 | |||||
| Scunthorpe United (1 Season) | 1 League | 18 | 1,620 | 90 | 39.1 | 18.0 | 18 | 90 | 18 | 0 | 0 | 0.39 | 8 | 41 | -33 | -1.83 | -0.83 | |||||
| Wexford FC (1 Season) | 1 League | 15 | 1,292 | 86 | 43.5 | 14.4 | 14 | 88 | 11 | 1 | 67 | 3 | 0.73 | 15 | 24 | -9 | -0.63 | +0.98 | ||||
| AFC Wimbledon (1 Season) | 2 Leagues | 15 | 1,232 | 82 | 37.0 | 13.7 | 14 | 87 | 12 | 1 | 19 | 3 | 0.87 | 15 | 21 | -6 | -0.44 | -0.05 | ||||
| Burton Albion (1 Season) | 2 Leagues | 0 | 0 | 0 | 0 | 4 | ||||||||||||||||
| FA Cup (8 Seasons) | 17 | 1,530 | 90 | 68.9 | 17.0 | 17 | 90 | 16 | 0 | 3 | 1.35 | 26 | 29 | -3 | -0.18 | -1.35 | ||||||
| EFL Cup (6 Seasons) | 7 | 630 | 90 | 48.8 | 7.0 | 7 | 90 | 6 | 0 | 5 | 1.57 | 8 | 5 | +3 | +0.43 | +1.93 | ||||||
| League One (5 Seasons) | 111 | 8,672 | 78 | 33.6 | 96.4 | 97 | 86 | 85 | 14 | 20 | 39 | 1.04 | 105 | 170 | -65 | -0.67 | -0.10 | |||||
| League Two (5 Seasons) | 107 | 9,084 | 85 | 36.6 | 100.9 | 103 | 87 | 93 | 4 | 32 | 11 | 1.21 | 128 | 167 | -39 | -0.39 | -0.18 | |||||
| Premier Division (2 Seasons) | 45 | 3,947 | 88 | 66.4 | 43.9 | 44 | 88 | 40 | 1 | 67 | 4 | 1.73 | 76 | 45 | +31 | +0.71 | +1.88 | |||||
| Championship (1 Season) | 0 | 0 | 0 | 0 | 2 | |||||||||||||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016 | 19 | Wexford FC | 1 League | 15 | 1,292 | 86 | 43.5 | 14.4 | 14 | 88 | 11 | 1 | 67 | 3 | 0.73 | 15 | 24 | -9 | -0.63 | +0.98 | |
| 2016-2017 | 19 | Burton Albion | 2 Leagues | 0 | 0 | 0 | 0 | 4 | |||||||||||||
| 2017 | 20 | Cork City | 1 League | 30 | 2,655 | 89 | 89.4 | 29.5 | 30 | 89 | 29 | 0 | 1 | 2.23 | 61 | 21 | +40 | +1.36 | +0.21 | ||
| 2017-2018 | 20 | Rochdale | 2 Leagues | 22 | 1,825 | 83 | 38.3 | 20.3 | 20 | 90 | 19 | 2 | 1 | 1.36 | 22 | 23 | -1 | -0.05 | +0.01 | ||
| 2018-2019 | 21 | Rochdale | 3 Leagues | 34 | 2,943 | 87 | 65.4 | 32.7 | 33 | 89 | 32 | 1 | 17 | 8 | 1.09 | 34 | 67 | -33 | -1.01 | -1.07 | |
| 2019-2020 | 22 | Rochdale | 2 Leagues | 0 | 0 | 0 | 0 | 7 | |||||||||||||
| 2019-2020 | 22 | AFC Wimbledon | 2 Leagues | 15 | 1,232 | 82 | 37.0 | 13.7 | 14 | 87 | 12 | 1 | 19 | 3 | 0.87 | 15 | 21 | -6 | -0.44 | -0.05 | |
| 2019-2020 | 22 | Bolton Wanderers | 1 League | 4 | 213 | 53 | 7.0 | 2.4 | 2 | 90 | 2 | 2 | 17 | 4 | 0.50 | 3 | 3 | 0 | 0.00 | +1.23 | |
| 2020-2021 | 23 | Bolton Wanderers | 3 Leagues | 21 | 1,822 | 87 | 42.2 | 20.2 | 21 | 87 | 18 | 0 | 7 | 1.33 | 26 | 33 | -7 | -0.35 | -0.91 | ||
| 2021-2022 | 24 | Scunthorpe United | 1 League | 18 | 1,620 | 90 | 39.1 | 18.0 | 18 | 90 | 18 | 0 | 0 | 0.39 | 8 | 41 | -33 | -1.83 | -0.83 | ||
| 2021-2022 | 24 | Morecambe | 2 Leagues | 14 | 1,011 | 72 | 22.9 | 11.2 | 11 | 85 | 10 | 3 | 26 | 11 | 1.07 | 17 | 28 | -11 | -0.98 | -0.45 | |
| 2022-2023 | 25 | Morecambe | 3 Leagues | 36 | 2,678 | 74 | 59.1 | 29.8 | 31 | 83 | 23 | 5 | 18 | 9 | 1.00 | 27 | 47 | -20 | -0.67 | +0.01 | |
| 2023-2024 | 26 | Newport County | 3 Leagues | 38 | 3,369 | 89 | 68.9 | 37.4 | 38 | 89 | 36 | 0 | 0 | 1.52 | 61 | 53 | +8 | +0.21 | +1.10 | ||
| 2024-2025 | 27 | Swindon Town | 2 Leagues | 22 | 1,745 | 79 | 39.8 | 19.4 | 20 | 84 | 15 | 2 | 32 | 4 | 1.36 | 35 | 31 | +4 | +0.21 | +0.04 | |
| 2025-2026 | 28 | Swindon Town | 1 League | 1 | 10 | 10 | 0.2 | 0.1 | 0 | 0 | 1 | 10 | 1 | 3.00 | 1 | 1 | 0 | 0.00 | -0.24 | ||
| 2025-2026 | 28 | Newport County | 1 League | 17 | 1,448 | 85 | 35.0 | 16.1 | 16 | 87 | 15 | 1 | 53 | 1 | 1.18 | 18 | 23 | -5 | -0.31 | +0.49 | |
| 10 Seasons | 10 Clubs | 6 Leagues | 287 | 23,863 | 83 | 37.1 | 265.1 | 268 | 87 | 240 | 19 | 25 | 64 | 1.24 | 343 | 416 | -73 | -0.28 | +0.13 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Rochdale (3 Seasons) | 3 Leagues | 56 | 4,768 | 85 | 37.8 | 53.0 | 53 | 89 | 51 | 3 | 17 | 16 | 1.20 | 56 | 90 | -34 | -0.64 | -0.62 | |||
| Newport County (2 Seasons) | 3 Leagues | 55 | 4,817 | 88 | 53.3 | 53.5 | 54 | 88 | 51 | 1 | 53 | 1 | 1.42 | 79 | 76 | +3 | +0.06 | +0.89 | |||
| Morecambe (2 Seasons) | 3 Leagues | 50 | 3,689 | 74 | 41.3 | 41.0 | 42 | 84 | 33 | 8 | 21 | 20 | 1.02 | 44 | 75 | -31 | -0.76 | -0.17 | |||
| Bolton Wanderers (2 Seasons) | 4 Leagues | 25 | 2,035 | 81 | 27.6 | 22.6 | 23 | 87 | 20 | 2 | 17 | 11 | 1.20 | 29 | 36 | -7 | -0.31 | +0.10 | |||
| Swindon Town (2 Seasons) | 2 Leagues | 23 | 1,755 | 76 | 20.6 | 19.5 | 20 | 84 | 15 | 3 | 24 | 5 | 1.43 | 36 | 32 | +4 | +0.21 | -0.01 | |||
| Cork City (1 Season) | 1 League | 30 | 2,655 | 89 | 89.4 | 29.5 | 30 | 89 | 29 | 0 | 1 | 2.23 | 61 | 21 | +40 | +1.36 | +0.21 | ||||
| Scunthorpe United (1 Season) | 1 League | 18 | 1,620 | 90 | 39.1 | 18.0 | 18 | 90 | 18 | 0 | 0 | 0.39 | 8 | 41 | -33 | -1.83 | -0.83 | ||||
| Wexford FC (1 Season) | 1 League | 15 | 1,292 | 86 | 43.5 | 14.4 | 14 | 88 | 11 | 1 | 67 | 3 | 0.73 | 15 | 24 | -9 | -0.63 | +0.98 | |||
| AFC Wimbledon (1 Season) | 2 Leagues | 15 | 1,232 | 82 | 37.0 | 13.7 | 14 | 87 | 12 | 1 | 19 | 3 | 0.87 | 15 | 21 | -6 | -0.44 | -0.05 | |||
| Burton Albion (1 Season) | 2 Leagues | 0 | 0 | 0 | 0 | 4 | |||||||||||||||
| FA Cup (8 Seasons) | 17 | 1,530 | 90 | 68.9 | 17.0 | 17 | 90 | 16 | 0 | 3 | 1.35 | 26 | 29 | -3 | -0.18 | -1.35 | |||||
| EFL Cup (6 Seasons) | 7 | 630 | 90 | 48.8 | 7.0 | 7 | 90 | 6 | 0 | 5 | 1.57 | 8 | 5 | +3 | +0.43 | +1.93 | |||||
| League One (5 Seasons) | 111 | 8,672 | 78 | 33.6 | 96.4 | 97 | 86 | 85 | 14 | 20 | 39 | 1.04 | 105 | 170 | -65 | -0.67 | -0.10 | ||||
| League Two (5 Seasons) | 107 | 9,084 | 85 | 36.6 | 100.9 | 103 | 87 | 93 | 4 | 32 | 11 | 1.21 | 128 | 167 | -39 | -0.39 | -0.18 | ||||
| Premier Division (2 Seasons) | 45 | 3,947 | 88 | 66.4 | 43.9 | 44 | 88 | 40 | 1 | 67 | 4 | 1.73 | 76 | 45 | +31 | +0.71 | +1.88 | ||||
| Championship (1 Season) | 0 | 0 | 0 | 0 | 2 | ||||||||||||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016 | 19 | Wexford FC | ie IRL | 1. Premier Division | 11th | 15 | 1,292 | 86 | 43.5 | 14.4 | 14 | 88 | 11 | 1 | 67 | 3 | 0.73 | 15 | 24 | -9 | -0.63 | +0.98 | Matches |
| 2016-2017 | 19 | Burton Albion | eng ENG | 2. Championship | 20th | 0 | 0 | 0 | 0 | 2 | Matches | ||||||||||||
| 2017 | 20 | Cork City | ie IRL | 1. Premier Division | 1st | 30 | 2,655 | 89 | 89.4 | 29.5 | 30 | 89 | 29 | 0 | 1 | 2.23 | 61 | 21 | +40 | +1.36 | +0.21 | Matches | |
| 2017-2018 | 20 | Rochdale | eng ENG | 3. League One | 20th | 18 | 1,465 | 81 | 35.4 | 16.3 | 16 | 15 | 2 | 1 | 1.39 | 16 | 13 | +3 | +0.18 | +0.55 | Matches | ||
| 2018-2019 | 21 | Rochdale | eng ENG | 3. League One | 16th | 30 | 2,583 | 86 | 62.4 | 28.7 | 29 | 88 | 28 | 1 | 17 | 8 | 1.03 | 29 | 63 | -34 | -1.18 | -1.24 | Matches |
| 2019-2020 | 22 | Rochdale | eng ENG | 3. League One | 18th | 0 | 0 | 0 | 0 | 5 | Matches | ||||||||||||
| 2019-2020 | 22 | AFC Wimbledon | eng ENG | 3. League One | 20th | 14 | 1,142 | 82 | 36.3 | 12.7 | 13 | 86 | 11 | 1 | 19 | 3 | 0.93 | 15 | 19 | -4 | -0.32 | +0.09 | Matches |
| 2019-2020 | 22 | Bolton Wanderers | eng ENG | 3. League One | 23rd | 4 | 213 | 53 | 7.0 | 2.4 | 2 | 90 | 2 | 2 | 17 | 4 | 0.50 | 3 | 3 | 0 | 0.00 | +1.23 | Matches |
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | 4. League Two | 3rd | 20 | 1,732 | 87 | 41.8 | 19.2 | 20 | 87 | 17 | 0 | 6 | 1.40 | 24 | 30 | -6 | -0.31 | -0.87 | Matches | |
| 2021-2022 | 24 | Scunthorpe United | eng ENG | 4. League Two | 24th | 18 | 1,620 | 90 | 39.1 | 18.0 | 18 | 90 | 18 | 0 | 0 | 0.39 | 8 | 41 | -33 | -1.83 | -0.83 | Matches | |
| 2021-2022 | 24 | Morecambe | eng ENG | 3. League One | 19th | 13 | 921 | 71 | 22.2 | 10.2 | 10 | 84 | 9 | 3 | 26 | 9 | 0.92 | 16 | 28 | -12 | -1.17 | -0.64 | Matches |
| 2022-2023 | 25 | Morecambe | eng ENG | 3. League One | 22nd | 32 | 2,348 | 73 | 56.7 | 26.1 | 27 | 84 | 20 | 5 | 18 | 9 | 1.00 | 26 | 44 | -18 | -0.69 | -0.04 | Matches |
| 2023-2024 | 26 | Newport County | eng ENG | 4. League Two | 18th | 30 | 2,619 | 87 | 63.3 | 29.1 | 30 | 87 | 28 | 0 | 0 | 1.43 | 44 | 43 | +1 | +0.03 | +0.92 | Matches | |
| 2024-2025 | 27 | Swindon Town | eng ENG | 4. League Two | 12th | 21 | 1,655 | 79 | 40.0 | 18.4 | 19 | 84 | 15 | 2 | 32 | 3 | 1.38 | 33 | 29 | +4 | +0.22 | +0.07 | Matches |
| 2025-2026 | 28 | Swindon Town | eng ENG | 4. League Two | 9th | 1 | 10 | 10 | 0.2 | 0.1 | 0 | 0 | 1 | 10 | 1 | 3.00 | 1 | 1 | 0 | 0.00 | -0.24 | Matches | |
| 2025-2026 | 28 | Newport County | eng ENG | 4. League Two | 20th | 17 | 1,448 | 85 | 35.0 | 16.1 | 16 | 87 | 15 | 1 | 53 | 1 | 1.18 | 18 | 23 | -5 | -0.31 | +0.49 | Matches |
| 10 Seasons | 10 Clubs | 4 Leagues | 263 | 21,703 | 83 | 35.7 | 241.1 | 244 | 87 | 218 | 19 | 25 | 56 | 1.23 | 309 | 382 | -73 | -0.30 | +0.13 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Rochdale (3 Seasons) | 1 League | 48 | 4,048 | 84 | 35.7 | 45.0 | 45 | 88 | 43 | 3 | 17 | 14 | 1.17 | 45 | 76 | -31 | -0.69 | -0.48 | |||||
| Newport County (2 Seasons) | 1 League | 47 | 4,067 | 87 | 49.1 | 45.2 | 46 | 87 | 43 | 1 | 53 | 1 | 1.34 | 62 | 66 | -4 | -0.09 | +0.74 | |||||
| Morecambe (2 Seasons) | 1 League | 45 | 3,269 | 73 | 39.5 | 36.3 | 37 | 84 | 29 | 8 | 21 | 18 | 0.98 | 42 | 72 | -30 | -0.83 | -0.25 | |||||
| Bolton Wanderers (2 Seasons) | 2 Leagues | 24 | 1,945 | 81 | 27.0 | 21.6 | 22 | 87 | 19 | 2 | 17 | 10 | 1.25 | 27 | 33 | -6 | -0.28 | +0.13 | |||||
| Swindon Town (2 Seasons) | 1 League | 22 | 1,665 | 76 | 20.1 | 18.5 | 19 | 84 | 15 | 3 | 24 | 4 | 1.45 | 34 | 30 | +4 | +0.22 | +0.01 | |||||
| Cork City (1 Season) | 1 League | 30 | 2,655 | 89 | 89.4 | 29.5 | 30 | 89 | 29 | 0 | 1 | 2.23 | 61 | 21 | +40 | +1.36 | +0.21 | ||||||
| Scunthorpe United (1 Season) | 1 League | 18 | 1,620 | 90 | 39.1 | 18.0 | 18 | 90 | 18 | 0 | 0 | 0.39 | 8 | 41 | -33 | -1.83 | -0.83 | ||||||
| Wexford FC (1 Season) | 1 League | 15 | 1,292 | 86 | 43.5 | 14.4 | 14 | 88 | 11 | 1 | 67 | 3 | 0.73 | 15 | 24 | -9 | -0.63 | +0.98 | |||||
| AFC Wimbledon (1 Season) | 1 League | 14 | 1,142 | 82 | 36.3 | 12.7 | 13 | 86 | 11 | 1 | 19 | 3 | 0.93 | 15 | 19 | -4 | -0.32 | +0.09 | |||||
| Burton Albion (1 Season) | 1 League | 0 | 0 | 0 | 0 | 2 | |||||||||||||||||
| League One (5 Seasons) | 111 | 8,672 | 78 | 33.6 | 96.4 | 97 | 86 | 85 | 14 | 20 | 39 | 1.04 | 105 | 170 | -65 | -0.67 | -0.10 | ||||||
| League Two (5 Seasons) | 107 | 9,084 | 85 | 36.6 | 100.9 | 103 | 87 | 93 | 4 | 32 | 11 | 1.21 | 128 | 167 | -39 | -0.39 | -0.18 | ||||||
| Premier Division (2 Seasons) | 45 | 3,947 | 88 | 66.4 | 43.9 | 44 | 88 | 40 | 1 | 67 | 4 | 1.73 | 76 | 45 | +31 | +0.71 | +1.88 | ||||||
| Championship (1 Season) | 0 | 0 | 0 | 0 | 2 | ||||||||||||||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016-2017 | 19 | Burton Albion | eng ENG | EFL Cup | 33rd | 0 | 0 | 0 | 0 | 2 | Matches | ||||||||||||
| 2017-2018 | 20 | Rochdale | eng ENG | FA Cup | 9th | 4 | 360 | 90 | 57.1 | 4.0 | 4 | 90 | 4 | 0 | 0 | 1.25 | 6 | 10 | -4 | -1.00 | -4.00 | Matches | |
| 2018-2019 | 21 | Rochdale | eng ENG | EFL Cup | 33rd | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 3 | 2 | +1 | +0.50 | Matches | ||
| 2018-2019 | 21 | Rochdale | eng ENG | FA Cup | 65th | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 2 | 2 | 0 | 0.00 | Matches | ||
| 2019-2020 | 22 | Rochdale | eng ENG | EFL Cup | 17th | 0 | 0 | 0 | 0 | 2 | Matches | ||||||||||||
| 2019-2020 | 22 | AFC Wimbledon | eng ENG | FA Cup | 85th | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.00 | -2.00 | Matches | |
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | EFL Cup | 58th | 0 | 0 | 0 | 1 | Matches | |||||||||||||
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | FA Cup | 85th | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 2 | 3 | -1 | -1.00 | Matches | ||
| 2021-2022 | 24 | Morecambe | eng ENG | FA Cup | 1 | 90 | 90 | 33.3 | 1.0 | 1 | 90 | 1 | 0 | 2 | 3.00 | 1 | 0 | +1 | +1.00 | +1.50 | Matches | ||
| 2022-2023 | 25 | Morecambe | eng ENG | EFL Cup | Rd3 | 3 | 240 | 80 | 80.0 | 2.7 | 3 | 80 | 2 | 0 | 0 | 1.33 | 1 | 1 | 0 | 0.00 | +1.50 | Matches | |
| 2022-2023 | 25 | Morecambe | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.00 | Matches | |||
| 2023-2024 | 26 | Newport County | eng ENG | EFL Cup | Rd2 | 2 | 210 | 105 | 100.0 | 2.3 | 2 | 105 | 2 | 0 | 0 | 2.00 | 4 | 2 | +2 | +0.86 | Matches | ||
| 2023-2024 | 26 | Newport County | eng ENG | FA Cup | 6 | 540 | 90 | 100.0 | 6.0 | 6 | 90 | 6 | 0 | 0 | 1.83 | 13 | 8 | +5 | +0.83 | Matches | |||
| 2024-2025 | 27 | Swindon Town | eng ENG | FA Cup | 1 | 90 | 90 | 37.5 | 1.0 | 1 | 90 | 0 | 0 | 1 | 1.00 | 2 | 2 | 0 | 0.00 | -0.60 | Matches | ||
| 9 Seasons | 7 Clubs | 2 Leagues | 24 | 2,160 | 90 | 61.5 | 24.0 | 24 | 90 | 22 | 0 | 8 | 1.42 | 34 | 34 | 0 | 0.00 | -0.96 | |||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Rochdale (3 Seasons) | 2 Leagues | 8 | 720 | 90 | 55.8 | 8.0 | 8 | 90 | 8 | 0 | 2 | 1.38 | 11 | 14 | -3 | -0.37 | -3.37 | ||||||
| Morecambe (2 Seasons) | 2 Leagues | 5 | 420 | 84 | 63.6 | 4.7 | 5 | 84 | 4 | 0 | 2 | 1.40 | 2 | 3 | -1 | -0.21 | +0.54 | ||||||
| Newport County (1 Season) | 2 Leagues | 8 | 750 | 94 | 100.0 | 8.3 | 8 | 94 | 8 | 0 | 0 | 1.87 | 17 | 10 | +7 | +0.84 | |||||||
| Swindon Town (1 Season) | 1 League | 1 | 90 | 90 | 37.5 | 1.0 | 1 | 90 | 0 | 0 | 1 | 1.00 | 2 | 2 | 0 | 0.00 | -0.60 | ||||||
| Bolton Wanderers (1 Season) | 2 Leagues | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 1 | 0.00 | 2 | 3 | -1 | -1.00 | |||||||
| AFC Wimbledon (1 Season) | 1 League | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.00 | -2.00 | ||||||
| Burton Albion (1 Season) | 1 League | 0 | 0 | 0 | 0 | 2 | |||||||||||||||||
| FA Cup (8 Seasons) | 17 | 1,530 | 90 | 68.9 | 17.0 | 17 | 90 | 16 | 0 | 3 | 1.35 | 26 | 29 | -3 | -0.18 | -1.35 | |||||||
| EFL Cup (6 Seasons) | 7 | 630 | 90 | 48.8 | 7.0 | 7 | 90 | 6 | 0 | 5 | 1.57 | 8 | 5 | +3 | +0.43 | +1.93 | |||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2016 | 19 | Wexford FC | ie IRL | 1. Premier Division | 14.4 | 2 | 0 | 0 | 0 | Matches | ||||||||
| 2017 | 20 | Cork City | ie IRL | 1. Premier Division | 29.5 | 5 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 20 | Rochdale | eng ENG | FA Cup | 4.0 | 0 | 0 | 0 | 4 | 2 | 0 | 0 | 1 | 3 | 0 | Matches | ||
| 2017-2018 | 20 | Rochdale | eng ENG | 3. League One | 16.3 | 2 | 0 | 0 | 11 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | EFL Cup | 2.0 | 0 | 0 | 0 | 2 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | FA Cup | 2.0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | 3. League One | 28.7 | 3 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 22 | AFC Wimbledon | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2019-2020 | 22 | Bolton Wanderers | eng ENG | 3. League One | 2.4 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 4 | 4 | 0 | Matches | ||
| 2019-2020 | 22 | AFC Wimbledon | eng ENG | 3. League One | 12.7 | 3 | 0 | 0 | 16 | 17 | 0 | 3 | 19 | 16 | 1 | 0 | 0 | Matches |
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | 4. League Two | 19.2 | 6 | 1 | 1 | 34 | 20 | 0 | 4 | 1 | 34 | 0 | Matches | ||
| 2021-2022 | 24 | Morecambe | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 24 | Morecambe | eng ENG | 3. League One | 10.2 | 2 | 0 | 0 | 9 | 4 | 1 | 1 | 4 | 9 | 0 | Matches | ||
| 2021-2022 | 24 | Scunthorpe United | eng ENG | 4. League Two | 18.0 | 3 | 0 | 0 | 19 | 10 | 2 | 3 | 23 | 17 | 0 | Matches | ||
| 2022-2023 | 25 | Morecambe | eng ENG | EFL Cup | 2.7 | 0 | 0 | 0 | 2 | 3 | 0 | 1 | 1 | 1 | 0 | Matches | ||
| 2022-2023 | 25 | Morecambe | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2022-2023 | 25 | Morecambe | eng ENG | 3. League One | 26.1 | 3 | 0 | 0 | 26 | 12 | 1 | 3 | 29 | 40 | 0 | Matches | ||
| 2023-2024 | 26 | Newport County | eng ENG | EFL Cup | 2.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | Matches | ||
| 2023-2024 | 26 | Newport County | eng ENG | FA Cup | 6.0 | 0 | 0 | 0 | 1 | 5 | 0 | 0 | 3 | 2 | 0 | Matches | ||
| 2023-2024 | 26 | Newport County | eng ENG | 4. League Two | 29.1 | 5 | 1 | 1 | 20 | 13 | 3 | 6 | 55 | 26 | 1 | Matches | ||
| 2024-2025 | 27 | Swindon Town | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2024-2025 | 27 | Swindon Town | eng ENG | 4. League Two | 18.4 | 4 | 0 | 0 | 21 | 6 | 0 | 6 | 14 | 20 | 0 | Matches | ||
| 2025-2026 | 28 | Swindon Town | eng ENG | 4. League Two | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2025-2026 | 28 | Newport County | eng ENG | 4. League Two | 16.1 | 0 | 0 | 0 | 8 | 8 | 4 | 1 | 17 | 16 | 0 | Matches | ||
| 10 Seasons | 10 Clubs | 6 Leagues | 265.1 | 39 | 2 | 2 | 182 | 101 | 11 | 29 | 174 | 190 | 1 | 0 | 1 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Rochdale (3 Seasons) | 3 Leagues | 53.0 | 6 | 0 | 0 | 18 | 3 | 0 | 1 | 3 | 4 | 0 | 0 | 0 | ||||
| Newport County (2 Seasons) | 3 Leagues | 53.5 | 5 | 1 | 1 | 29 | 26 | 7 | 7 | 76 | 45 | 1 | ||||||
| Morecambe (2 Seasons) | 3 Leagues | 41.0 | 5 | 0 | 0 | 40 | 19 | 2 | 5 | 34 | 50 | 0 | ||||||
| Bolton Wanderers (2 Seasons) | 4 Leagues | 22.6 | 6 | 1 | 1 | 37 | 20 | 0 | 4 | 5 | 38 | 0 | ||||||
| Swindon Town (2 Seasons) | 2 Leagues | 19.5 | 4 | 0 | 0 | 21 | 6 | 0 | 6 | 14 | 20 | 0 | ||||||
| Cork City (1 Season) | 1 League | 29.5 | 5 | 0 | 0 | 0 | ||||||||||||
| Scunthorpe United (1 Season) | 1 League | 18.0 | 3 | 0 | 0 | 19 | 10 | 2 | 3 | 23 | 17 | 0 | ||||||
| Wexford FC (1 Season) | 1 League | 14.4 | 2 | 0 | 0 | 0 | ||||||||||||
| AFC Wimbledon (1 Season) | 2 Leagues | 13.7 | 3 | 0 | 0 | 18 | 17 | 0 | 3 | 19 | 16 | 1 | 0 | 0 | ||||
| Burton Albion (1 Season) | 2 Leagues | |||||||||||||||||
| FA Cup (8 Seasons) | 17.0 | 1 | 0 | 0 | 12 | 7 | 0 | 0 | 6 | 6 | 0 | 0 | 0 | |||||
| EFL Cup (6 Seasons) | 7.0 | 0 | 0 | 0 | 4 | 4 | 0 | 2 | 2 | 2 | 0 | 0 | 0 | |||||
| League One (5 Seasons) | 96.4 | 13 | 0 | 0 | 64 | 33 | 2 | 7 | 56 | 69 | 1 | 0 | 0 | |||||
| League Two (5 Seasons) | 100.9 | 18 | 2 | 2 | 102 | 57 | 9 | 20 | 110 | 113 | 1 | |||||||
| Premier Division (2 Seasons) | 43.9 | 7 | 0 | 0 | 0 | |||||||||||||
| Championship (1 Season) | ||||||||||||||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2016 | 19 | Wexford FC | 1 League | 14.4 | 2 | 0 | 0 | 0 | |||||||||
| 2017 | 20 | Cork City | 1 League | 29.5 | 5 | 0 | 0 | 0 | |||||||||
| 2017-2018 | 20 | Rochdale | 2 Leagues | 20.3 | 2 | 0 | 0 | 15 | 2 | 0 | 0 | 1 | 3 | 0 | 0 | 0 | |
| 2018-2019 | 21 | Rochdale | 3 Leagues | 32.7 | 4 | 0 | 0 | 3 | 1 | 0 | 1 | 2 | 1 | 0 | 0 | 0 | |
| 2019-2020 | 22 | AFC Wimbledon | 2 Leagues | 13.7 | 3 | 0 | 0 | 18 | 17 | 0 | 3 | 19 | 16 | 1 | 0 | 0 | |
| 2019-2020 | 22 | Bolton Wanderers | 1 League | 2.4 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 4 | 4 | 0 | |||
| 2020-2021 | 23 | Bolton Wanderers | 3 Leagues | 20.2 | 6 | 1 | 1 | 35 | 20 | 0 | 4 | 1 | 34 | 0 | |||
| 2021-2022 | 24 | Scunthorpe United | 1 League | 18.0 | 3 | 0 | 0 | 19 | 10 | 2 | 3 | 23 | 17 | 0 | |||
| 2021-2022 | 24 | Morecambe | 2 Leagues | 11.2 | 2 | 0 | 0 | 12 | 4 | 1 | 1 | 4 | 9 | 0 | |||
| 2022-2023 | 25 | Morecambe | 3 Leagues | 29.8 | 3 | 0 | 0 | 28 | 15 | 1 | 4 | 30 | 41 | 0 | |||
| 2023-2024 | 26 | Newport County | 3 Leagues | 37.4 | 5 | 1 | 1 | 21 | 18 | 3 | 6 | 59 | 29 | 1 | |||
| 2024-2025 | 27 | Swindon Town | 2 Leagues | 19.4 | 4 | 0 | 0 | 21 | 6 | 0 | 6 | 14 | 20 | 0 | |||
| 2025-2026 | 28 | Swindon Town | 1 League | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 2025-2026 | 28 | Newport County | 1 League | 16.1 | 0 | 0 | 0 | 8 | 8 | 4 | 1 | 17 | 16 | 0 | |||
| 10 Seasons | 10 Clubs | 6 Leagues | 265.1 | 39 | 2 | 2 | 182 | 101 | 11 | 29 | 174 | 190 | 1 | 0 | 1 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Rochdale (3 Seasons) | 3 Leagues | 53.0 | 6 | 0 | 0 | 18 | 3 | 0 | 1 | 3 | 4 | 0 | 0 | 0 | |||
| Newport County (2 Seasons) | 3 Leagues | 53.5 | 5 | 1 | 1 | 29 | 26 | 7 | 7 | 76 | 45 | 1 | |||||
| Morecambe (2 Seasons) | 3 Leagues | 41.0 | 5 | 0 | 0 | 40 | 19 | 2 | 5 | 34 | 50 | 0 | |||||
| Bolton Wanderers (2 Seasons) | 4 Leagues | 22.6 | 6 | 1 | 1 | 37 | 20 | 0 | 4 | 5 | 38 | 0 | |||||
| Swindon Town (2 Seasons) | 2 Leagues | 19.5 | 4 | 0 | 0 | 21 | 6 | 0 | 6 | 14 | 20 | 0 | |||||
| Cork City (1 Season) | 1 League | 29.5 | 5 | 0 | 0 | 0 | |||||||||||
| Scunthorpe United (1 Season) | 1 League | 18.0 | 3 | 0 | 0 | 19 | 10 | 2 | 3 | 23 | 17 | 0 | |||||
| Wexford FC (1 Season) | 1 League | 14.4 | 2 | 0 | 0 | 0 | |||||||||||
| AFC Wimbledon (1 Season) | 2 Leagues | 13.7 | 3 | 0 | 0 | 18 | 17 | 0 | 3 | 19 | 16 | 1 | 0 | 0 | |||
| Burton Albion (1 Season) | 2 Leagues | ||||||||||||||||
| FA Cup (8 Seasons) | 17.0 | 1 | 0 | 0 | 12 | 7 | 0 | 0 | 6 | 6 | 0 | 0 | 0 | ||||
| EFL Cup (6 Seasons) | 7.0 | 0 | 0 | 0 | 4 | 4 | 0 | 2 | 2 | 2 | 0 | 0 | 0 | ||||
| League One (5 Seasons) | 96.4 | 13 | 0 | 0 | 64 | 33 | 2 | 7 | 56 | 69 | 1 | 0 | 0 | ||||
| League Two (5 Seasons) | 100.9 | 18 | 2 | 2 | 102 | 57 | 9 | 20 | 110 | 113 | 1 | ||||||
| Premier Division (2 Seasons) | 43.9 | 7 | 0 | 0 | 0 | ||||||||||||
| Championship (1 Season) | |||||||||||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2016 | 19 | Wexford FC | ie IRL | 1. Premier Division | 11th | 14.4 | 2 | 0 | 0 | 0 | Matches | ||||||||
| 2017 | 20 | Cork City | ie IRL | 1. Premier Division | 1st | 29.5 | 5 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 20 | Rochdale | eng ENG | 3. League One | 20th | 16.3 | 2 | 0 | 0 | 11 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | 3. League One | 16th | 28.7 | 3 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 22 | AFC Wimbledon | eng ENG | 3. League One | 20th | 12.7 | 3 | 0 | 0 | 16 | 17 | 0 | 3 | 19 | 16 | 1 | 0 | 0 | Matches |
| 2019-2020 | 22 | Bolton Wanderers | eng ENG | 3. League One | 23rd | 2.4 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 4 | 4 | 0 | Matches | ||
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | 4. League Two | 3rd | 19.2 | 6 | 1 | 1 | 34 | 20 | 0 | 4 | 1 | 34 | 0 | Matches | ||
| 2021-2022 | 24 | Scunthorpe United | eng ENG | 4. League Two | 24th | 18.0 | 3 | 0 | 0 | 19 | 10 | 2 | 3 | 23 | 17 | 0 | Matches | ||
| 2021-2022 | 24 | Morecambe | eng ENG | 3. League One | 19th | 10.2 | 2 | 0 | 0 | 9 | 4 | 1 | 1 | 4 | 9 | 0 | Matches | ||
| 2022-2023 | 25 | Morecambe | eng ENG | 3. League One | 22nd | 26.1 | 3 | 0 | 0 | 26 | 12 | 1 | 3 | 29 | 40 | 0 | Matches | ||
| 2023-2024 | 26 | Newport County | eng ENG | 4. League Two | 18th | 29.1 | 5 | 1 | 1 | 20 | 13 | 3 | 6 | 55 | 26 | 1 | Matches | ||
| 2024-2025 | 27 | Swindon Town | eng ENG | 4. League Two | 12th | 18.4 | 4 | 0 | 0 | 21 | 6 | 0 | 6 | 14 | 20 | 0 | Matches | ||
| 2025-2026 | 28 | Swindon Town | eng ENG | 4. League Two | 9th | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2025-2026 | 28 | Newport County | eng ENG | 4. League Two | 20th | 16.1 | 0 | 0 | 0 | 8 | 8 | 4 | 1 | 17 | 16 | 0 | Matches | ||
| 10 Seasons | 10 Clubs | 4 Leagues | 241.1 | 38 | 2 | 2 | 166 | 90 | 11 | 27 | 166 | 182 | 1 | 0 | 1 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Rochdale (3 Seasons) | 1 League | 45.0 | 5 | 0 | 0 | 11 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Newport County (2 Seasons) | 1 League | 45.2 | 5 | 1 | 1 | 28 | 21 | 7 | 7 | 72 | 42 | 1 | |||||||
| Morecambe (2 Seasons) | 1 League | 36.3 | 5 | 0 | 0 | 35 | 16 | 2 | 4 | 33 | 49 | 0 | |||||||
| Bolton Wanderers (2 Seasons) | 2 Leagues | 21.6 | 6 | 1 | 1 | 36 | 20 | 0 | 4 | 5 | 38 | 0 | |||||||
| Swindon Town (2 Seasons) | 1 League | 18.5 | 4 | 0 | 0 | 21 | 6 | 0 | 6 | 14 | 20 | 0 | |||||||
| Cork City (1 Season) | 1 League | 29.5 | 5 | 0 | 0 | 0 | |||||||||||||
| Scunthorpe United (1 Season) | 1 League | 18.0 | 3 | 0 | 0 | 19 | 10 | 2 | 3 | 23 | 17 | 0 | |||||||
| Wexford FC (1 Season) | 1 League | 14.4 | 2 | 0 | 0 | 0 | |||||||||||||
| AFC Wimbledon (1 Season) | 1 League | 12.7 | 3 | 0 | 0 | 16 | 17 | 0 | 3 | 19 | 16 | 1 | 0 | 0 | |||||
| Burton Albion (1 Season) | 1 League | ||||||||||||||||||
| League One (5 Seasons) | 96.4 | 13 | 0 | 0 | 64 | 33 | 2 | 7 | 56 | 69 | 1 | 0 | 0 | ||||||
| League Two (5 Seasons) | 100.9 | 18 | 2 | 2 | 102 | 57 | 9 | 20 | 110 | 113 | 1 | ||||||||
| Premier Division (2 Seasons) | 43.9 | 7 | 0 | 0 | 0 | ||||||||||||||
| Championship (1 Season) | |||||||||||||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2017-2018 | 20 | Rochdale | eng ENG | FA Cup | 9th | 4.0 | 0 | 0 | 0 | 4 | 2 | 0 | 0 | 1 | 3 | 0 | Matches | ||
| 2018-2019 | 21 | Rochdale | eng ENG | EFL Cup | 33rd | 2.0 | 0 | 0 | 0 | 2 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 21 | Rochdale | eng ENG | FA Cup | 65th | 2.0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | Matches |
| 2019-2020 | 22 | AFC Wimbledon | eng ENG | FA Cup | 85th | 1.0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 23 | Bolton Wanderers | eng ENG | FA Cup | 85th | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 24 | Morecambe | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | |||
| 2022-2023 | 25 | Morecambe | eng ENG | EFL Cup | Rd3 | 2.7 | 0 | 0 | 0 | 2 | 3 | 0 | 1 | 1 | 1 | 0 | Matches | ||
| 2022-2023 | 25 | Morecambe | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2023-2024 | 26 | Newport County | eng ENG | EFL Cup | Rd2 | 2.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | Matches | ||
| 2023-2024 | 26 | Newport County | eng ENG | FA Cup | 6.0 | 0 | 0 | 0 | 1 | 5 | 0 | 0 | 3 | 2 | 0 | Matches | |||
| 2024-2025 | 27 | Swindon Town | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 9 Seasons | 7 Clubs | 2 Leagues | 24.0 | 1 | 0 | 0 | 16 | 11 | 0 | 2 | 8 | 8 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Rochdale (3 Seasons) | 2 Leagues | 8.0 | 1 | 0 | 0 | 7 | 3 | 0 | 1 | 3 | 4 | 0 | 0 | 0 | |||||
| Morecambe (2 Seasons) | 2 Leagues | 4.7 | 0 | 0 | 0 | 5 | 3 | 0 | 1 | 1 | 1 | 0 | |||||||
| Newport County (1 Season) | 2 Leagues | 8.3 | 0 | 0 | 0 | 1 | 5 | 0 | 0 | 4 | 3 | 0 | |||||||
| Swindon Town (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | 0 | |||||||||||||
| Bolton Wanderers (1 Season) | 2 Leagues | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||
| AFC Wimbledon (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||
| Burton Albion (1 Season) | 1 League | ||||||||||||||||||
| FA Cup (8 Seasons) | 17.0 | 1 | 0 | 0 | 12 | 7 | 0 | 0 | 6 | 6 | 0 | 0 | 0 | ||||||
| EFL Cup (6 Seasons) | 7.0 | 0 | 0 | 0 | 4 | 4 | 0 | 2 | 2 | 2 | 0 | 0 | 0 | ||||||
About FBref.com
FBref.com launched (June 13, 2018) with domestic league coverage for England, France, Germany, Italy, Spain, and United States. Since then we have been steadily expanding our coverage to include domestic leagues from over 40 countries as well as domestic cup, super cup and youth leagues from top European countries. We have also added coverage for major international cups such as the UEFA Champions League and Copa Libertadores.
FBref is the most complete sources for women's football data on the internet. This includes the entire history of the FIFA Women's World Cup as well as recent domestic league seasons from nine countries.
Note that player records are likely not complete for their careers. Players may come from or move to leagues we don't currently cover. This issue will go down over time, as we add new leagues and seasons.
You can sign up to receive an e-mail when new countries and features launch.
For more information, see our Launch Blog Post, the overall leagues/competition page with details on leagues and seasons we include, or our About Page. Let us know if you find an issue or have a suggestion.
FBref is one of seven Sports-Reference.com sites.

Player Club Summary