| 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 | |||||
| 2013-2014 | 17 | Hartlepool United | eng ENG | 4. League Two | 36 | 31 | 2,722 | 30.2 | 3 | 0 | 3 | 3 | 0 | 0 | 7 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | |
| 2014-2015 | 18 | Hartlepool United | eng ENG | FA Cup | 2 | 2 | 180 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2014-2015 | 18 | Hartlepool United | eng ENG | League 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 |
| 2014-2015 | 18 | Hartlepool United | eng ENG | 4. League Two | 28 | 25 | 2,087 | 23.2 | 5 | 0 | 5 | 4 | 1 | 1 | 4 | 0 | 0.22 | 0.00 | 0.22 | 0.17 | 0.17 | Matches |
| 2015-2016 | 19 | Hartlepool United | eng ENG | FA Cup | 3 | 0 | 70 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 19 | Hartlepool United | eng ENG | League 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 | 19 | Hartlepool United | eng ENG | 4. League Two | 23 | 8 | 786 | 8.7 | 1 | 1 | 2 | 1 | 0 | 0 | 4 | 0 | 0.11 | 0.11 | 0.23 | 0.11 | 0.23 | Matches |
| 2016-2017 | 20 | Hartlepool United | eng ENG | FA Cup | 0 | 0 | Matches | |||||||||||||||
| 2016-2017 | 20 | Hartlepool United | eng ENG | 4. League Two | 20 | 19 | 1,704 | 18.9 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | Matches |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | EFL Cup | 1 | 1 | 86 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | FA Cup | 2 | 2 | 135 | 1.5 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.67 | 0.00 | 0.67 | 0.67 | 0.67 | Matches |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | 4. League Two | 27 | 22 | 1,896 | 21.1 | 1 | 2 | 3 | 1 | 0 | 0 | 4 | 0 | 0.05 | 0.09 | 0.14 | 0.05 | 0.14 | Matches |
| 2018-2019 | 22 | Crewe Alexandra | eng ENG | EFL Cup | 0 | 0 | Matches | |||||||||||||||
| 2018-2019 | 22 | Wrexham | eng ENG | FA Cup | 2 | 2 | 146 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 22 | Crewe Alexandra | eng ENG | 4. League Two | 1 | 0 | 33 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 22 | Wrexham | eng ENG | 5. National League | 26 | 25 | 2,064 | 22.9 | 4 | 0 | 4 | 3 | 1 | 1 | 9 | 0 | 0.17 | 0.00 | 0.17 | 0.13 | 0.13 | Matches |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | EFL Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | FA Cup | 3 | 1 | 67 | 0.7 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.34 | 0.00 | 1.34 | 1.34 | 1.34 | Matches |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | 3. League One | 15 | 4 | 451 | 5.0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | EFL Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.00 | 0.00 | 1.00 | 1.00 | 1.00 | Matches |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | 3. League One | 23 | 15 | 1,370 | 15.2 | 1 | 1 | 2 | 1 | 0 | 0 | 5 | 0 | 0.07 | 0.07 | 0.13 | 0.07 | 0.13 | Matches |
| 2021-2022 | 25 | Port Vale | eng ENG | EFL Cup | 1 | 1 | 64 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 25 | Port Vale | eng ENG | FA Cup | 3 | 0 | 18 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 25 | Port Vale | eng ENG | 4. League Two | 28 | 24 | 2,071 | 23.0 | 1 | 1 | 2 | 1 | 0 | 0 | 11 | 0 | 0.04 | 0.04 | 0.09 | 0.04 | 0.09 | Matches |
| 2022-2023 | 26 | Port Vale | 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 |
| 2022-2023 | 26 | Port Vale | eng ENG | 3. League One | 7 | 4 | 351 | 3.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 26 | Tranmere Rovers | eng ENG | 4. League Two | 4 | 2 | 159 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | EFL Cup | 0 | 0 | Matches | |||||||||||||||
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | 4. League Two | 28 | 27 | 2,023 | 22.5 | 0 | 6 | 6 | 0 | 0 | 0 | 7 | 0 | 0.00 | 0.27 | 0.27 | 0.00 | 0.27 | Matches |
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | EFL Cup | 2 | 2 | 151 | 1.7 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | 4. League Two | 8 | 6 | 543 | 6.0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.17 | 0.17 | 0.00 | 0.17 | Matches |
| 2025-2026 | 29 | Hartlepool United | eng ENG | 5. National League | 18 | 4 | 597 | 6.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 13 Seasons | 6 Clubs | 5 Leagues | 318 | 233 | 20,339 | 226.0 | 20 | 12 | 32 | 18 | 2 | 3 | 64 | 0 | 0.09 | 0.05 | 0.14 | 0.08 | 0.13 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Hartlepool United (5 Seasons) | 4 Leagues | 132 | 90 | 8,261 | 91.8 | 10 | 1 | 11 | 9 | 1 | 1 | 17 | 0 | 0.11 | 0.01 | 0.12 | 0.10 | 0.11 | ||||
| Tranmere Rovers (3 Seasons) | 3 Leagues | 43 | 38 | 2,966 | 33.0 | 0 | 7 | 7 | 0 | 0 | 1 | 11 | 0 | 0.00 | 0.21 | 0.21 | 0.00 | 0.21 | ||||
| Shrewsbury Town (2 Seasons) | 3 Leagues | 44 | 23 | 2,158 | 24.0 | 3 | 1 | 4 | 3 | 0 | 0 | 7 | 0 | 0.13 | 0.04 | 0.17 | 0.13 | 0.17 | ||||
| Port Vale (2 Seasons) | 4 Leagues | 40 | 30 | 2,594 | 28.8 | 1 | 1 | 2 | 1 | 0 | 0 | 12 | 0 | 0.03 | 0.03 | 0.07 | 0.03 | 0.07 | ||||
| Crewe Alexandra (2 Seasons) | 3 Leagues | 31 | 25 | 2,150 | 23.9 | 2 | 2 | 4 | 2 | 0 | 0 | 7 | 0 | 0.08 | 0.08 | 0.17 | 0.08 | 0.17 | ||||
| Wrexham (1 Season) | 2 Leagues | 28 | 27 | 2,210 | 24.6 | 4 | 0 | 4 | 3 | 1 | 1 | 10 | 0 | 0.16 | 0.00 | 0.16 | 0.12 | 0.12 | ||||
| League Two (10 Seasons) | 203 | 164 | 14,024 | 155.8 | 12 | 11 | 23 | 11 | 1 | 1 | 42 | 0 | 0.08 | 0.07 | 0.15 | 0.07 | 0.14 | |||||
| EFL Cup (10 Seasons) | 9 | 8 | 686 | 7.6 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| FA Cup (9 Seasons) | 17 | 9 | 796 | 8.8 | 3 | 0 | 3 | 3 | 0 | 0 | 4 | 0 | 0.34 | 0.00 | 0.34 | 0.34 | 0.34 | |||||
| League One (3 Seasons) | 45 | 23 | 2,172 | 24.1 | 1 | 1 | 2 | 1 | 0 | 0 | 7 | 0 | 0.04 | 0.04 | 0.08 | 0.04 | 0.08 | |||||
| National League (2 Seasons) | 44 | 29 | 2,661 | 29.6 | 4 | 0 | 4 | 3 | 1 | 1 | 9 | 0 | 0.14 | 0.00 | 0.14 | 0.10 | 0.10 | |||||
| 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 | |||||
| 2013-2014 | 17 | Hartlepool United | 1 League | 36 | 31 | 2,722 | 30.2 | 3 | 0 | 3 | 3 | 0 | 0 | 7 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | |
| 2014-2015 | 18 | Hartlepool United | 3 Leagues | 31 | 28 | 2,357 | 26.2 | 5 | 0 | 5 | 4 | 1 | 1 | 4 | 0 | 0.19 | 0.00 | 0.19 | 0.15 | 0.15 | |
| 2015-2016 | 19 | Hartlepool United | 3 Leagues | 27 | 8 | 881 | 9.8 | 1 | 1 | 2 | 1 | 0 | 0 | 4 | 0 | 0.10 | 0.10 | 0.20 | 0.10 | 0.20 | |
| 2016-2017 | 20 | Hartlepool United | 2 Leagues | 20 | 19 | 1,704 | 18.9 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | |
| 2017-2018 | 21 | Crewe Alexandra | 3 Leagues | 30 | 25 | 2,117 | 23.5 | 2 | 2 | 4 | 2 | 0 | 0 | 7 | 0 | 0.09 | 0.09 | 0.17 | 0.09 | 0.17 | |
| 2018-2019 | 22 | Crewe Alexandra | 2 Leagues | 1 | 0 | 33 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2018-2019 | 22 | Wrexham | 2 Leagues | 28 | 27 | 2,210 | 24.6 | 4 | 0 | 4 | 3 | 1 | 1 | 10 | 0 | 0.16 | 0.00 | 0.16 | 0.12 | 0.12 | |
| 2019-2020 | 23 | Shrewsbury Town | 3 Leagues | 19 | 6 | 608 | 6.8 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.15 | 0.00 | 0.15 | 0.15 | 0.15 | |
| 2020-2021 | 24 | Shrewsbury Town | 3 Leagues | 25 | 17 | 1,550 | 17.2 | 2 | 1 | 3 | 2 | 0 | 0 | 5 | 0 | 0.12 | 0.06 | 0.17 | 0.12 | 0.17 | |
| 2021-2022 | 25 | Port Vale | 3 Leagues | 32 | 25 | 2,153 | 23.9 | 1 | 1 | 2 | 1 | 0 | 0 | 12 | 0 | 0.04 | 0.04 | 0.08 | 0.04 | 0.08 | |
| 2022-2023 | 26 | Port Vale | 2 Leagues | 8 | 5 | 441 | 4.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2022-2023 | 26 | Tranmere Rovers | 1 League | 4 | 2 | 159 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2023-2024 | 27 | Tranmere Rovers | 3 Leagues | 29 | 28 | 2,113 | 23.5 | 0 | 6 | 6 | 0 | 0 | 0 | 8 | 0 | 0.00 | 0.26 | 0.26 | 0.00 | 0.26 | |
| 2024-2025 | 28 | Tranmere Rovers | 2 Leagues | 10 | 8 | 694 | 7.7 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0.00 | 0.13 | 0.13 | 0.00 | 0.13 | |
| 2025-2026 | 29 | Hartlepool United | 1 League | 18 | 4 | 597 | 6.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 13 Seasons | 6 Clubs | 5 Leagues | 318 | 233 | 20,339 | 226.0 | 20 | 12 | 32 | 18 | 2 | 3 | 64 | 0 | 0.09 | 0.05 | 0.14 | 0.08 | 0.13 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Hartlepool United (5 Seasons) | 4 Leagues | 132 | 90 | 8,261 | 91.8 | 10 | 1 | 11 | 9 | 1 | 1 | 17 | 0 | 0.11 | 0.01 | 0.12 | 0.10 | 0.11 | |||
| Tranmere Rovers (3 Seasons) | 3 Leagues | 43 | 38 | 2,966 | 33.0 | 0 | 7 | 7 | 0 | 0 | 1 | 11 | 0 | 0.00 | 0.21 | 0.21 | 0.00 | 0.21 | |||
| Shrewsbury Town (2 Seasons) | 3 Leagues | 44 | 23 | 2,158 | 24.0 | 3 | 1 | 4 | 3 | 0 | 0 | 7 | 0 | 0.13 | 0.04 | 0.17 | 0.13 | 0.17 | |||
| Port Vale (2 Seasons) | 4 Leagues | 40 | 30 | 2,594 | 28.8 | 1 | 1 | 2 | 1 | 0 | 0 | 12 | 0 | 0.03 | 0.03 | 0.07 | 0.03 | 0.07 | |||
| Crewe Alexandra (2 Seasons) | 3 Leagues | 31 | 25 | 2,150 | 23.9 | 2 | 2 | 4 | 2 | 0 | 0 | 7 | 0 | 0.08 | 0.08 | 0.17 | 0.08 | 0.17 | |||
| Wrexham (1 Season) | 2 Leagues | 28 | 27 | 2,210 | 24.6 | 4 | 0 | 4 | 3 | 1 | 1 | 10 | 0 | 0.16 | 0.00 | 0.16 | 0.12 | 0.12 | |||
| League Two (10 Seasons) | 203 | 164 | 14,024 | 155.8 | 12 | 11 | 23 | 11 | 1 | 1 | 42 | 0 | 0.08 | 0.07 | 0.15 | 0.07 | 0.14 | ||||
| EFL Cup (10 Seasons) | 9 | 8 | 686 | 7.6 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| FA Cup (9 Seasons) | 17 | 9 | 796 | 8.8 | 3 | 0 | 3 | 3 | 0 | 0 | 4 | 0 | 0.34 | 0.00 | 0.34 | 0.34 | 0.34 | ||||
| League One (3 Seasons) | 45 | 23 | 2,172 | 24.1 | 1 | 1 | 2 | 1 | 0 | 0 | 7 | 0 | 0.04 | 0.04 | 0.08 | 0.04 | 0.08 | ||||
| National League (2 Seasons) | 44 | 29 | 2,661 | 29.6 | 4 | 0 | 4 | 3 | 1 | 1 | 9 | 0 | 0.14 | 0.00 | 0.14 | 0.10 | 0.10 | ||||
| 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 | |||||
| 2013-2014 | 17 | Hartlepool United | eng ENG | 4. League Two | 19th | 36 | 31 | 2,722 | 30.2 | 3 | 0 | 3 | 3 | 0 | 0 | 7 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | |
| 2014-2015 | 18 | Hartlepool United | eng ENG | 4. League Two | 22nd | 28 | 25 | 2,087 | 23.2 | 5 | 0 | 5 | 4 | 1 | 1 | 4 | 0 | 0.22 | 0.00 | 0.22 | 0.17 | 0.17 | Matches |
| 2015-2016 | 19 | Hartlepool United | eng ENG | 4. League Two | 16th | 23 | 8 | 786 | 8.7 | 1 | 1 | 2 | 1 | 0 | 0 | 4 | 0 | 0.11 | 0.11 | 0.23 | 0.11 | 0.23 | Matches |
| 2016-2017 | 20 | Hartlepool United | eng ENG | 4. League Two | 23rd | 20 | 19 | 1,704 | 18.9 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | Matches |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | 4. League Two | 15th | 27 | 22 | 1,896 | 21.1 | 1 | 2 | 3 | 1 | 0 | 0 | 4 | 0 | 0.05 | 0.09 | 0.14 | 0.05 | 0.14 | Matches |
| 2018-2019 | 22 | Crewe Alexandra | eng ENG | 4. League Two | 12th | 1 | 0 | 33 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 22 | Wrexham | eng ENG | 5. National League | 4th | 26 | 25 | 2,064 | 22.9 | 4 | 0 | 4 | 3 | 1 | 1 | 9 | 0 | 0.17 | 0.00 | 0.17 | 0.13 | 0.13 | Matches |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | 3. League One | 15th | 15 | 4 | 451 | 5.0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | 3. League One | 17th | 23 | 15 | 1,370 | 15.2 | 1 | 1 | 2 | 1 | 0 | 0 | 5 | 0 | 0.07 | 0.07 | 0.13 | 0.07 | 0.13 | Matches |
| 2021-2022 | 25 | Port Vale | eng ENG | 4. League Two | 5th | 28 | 24 | 2,071 | 23.0 | 1 | 1 | 2 | 1 | 0 | 0 | 11 | 0 | 0.04 | 0.04 | 0.09 | 0.04 | 0.09 | Matches |
| 2022-2023 | 26 | Port Vale | eng ENG | 3. League One | 18th | 7 | 4 | 351 | 3.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 26 | Tranmere Rovers | eng ENG | 4. League Two | 12th | 4 | 2 | 159 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | 4. League Two | 16th | 28 | 27 | 2,023 | 22.5 | 0 | 6 | 6 | 0 | 0 | 0 | 7 | 0 | 0.00 | 0.27 | 0.27 | 0.00 | 0.27 | Matches |
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | 4. League Two | 20th | 8 | 6 | 543 | 6.0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.17 | 0.17 | 0.00 | 0.17 | Matches |
| 2025-2026 | 29 | Hartlepool United | eng ENG | 5. National League | 9th | 18 | 4 | 597 | 6.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 13 Seasons | 6 Clubs | 3 Leagues | 292 | 216 | 18,857 | 209.5 | 17 | 12 | 29 | 15 | 2 | 2 | 58 | 0 | 0.08 | 0.06 | 0.14 | 0.07 | 0.13 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Hartlepool United (5 Seasons) | 2 Leagues | 125 | 87 | 7,896 | 87.7 | 10 | 1 | 11 | 9 | 1 | 1 | 17 | 0 | 0.11 | 0.01 | 0.13 | 0.10 | 0.11 | |||||
| Tranmere Rovers (3 Seasons) | 1 League | 40 | 35 | 2,725 | 30.3 | 0 | 7 | 7 | 0 | 0 | 0 | 10 | 0 | 0.00 | 0.23 | 0.23 | 0.00 | 0.23 | |||||
| Shrewsbury Town (2 Seasons) | 1 League | 38 | 19 | 1,821 | 20.2 | 1 | 1 | 2 | 1 | 0 | 0 | 7 | 0 | 0.05 | 0.05 | 0.10 | 0.05 | 0.10 | |||||
| Port Vale (2 Seasons) | 2 Leagues | 35 | 28 | 2,422 | 26.9 | 1 | 1 | 2 | 1 | 0 | 0 | 11 | 0 | 0.04 | 0.04 | 0.07 | 0.04 | 0.07 | |||||
| Crewe Alexandra (2 Seasons) | 1 League | 28 | 22 | 1,929 | 21.4 | 1 | 2 | 3 | 1 | 0 | 0 | 4 | 0 | 0.05 | 0.09 | 0.14 | 0.05 | 0.14 | |||||
| Wrexham (1 Season) | 1 League | 26 | 25 | 2,064 | 22.9 | 4 | 0 | 4 | 3 | 1 | 1 | 9 | 0 | 0.17 | 0.00 | 0.17 | 0.13 | 0.13 | |||||
| League Two (10 Seasons) | 203 | 164 | 14,024 | 155.8 | 12 | 11 | 23 | 11 | 1 | 1 | 42 | 0 | 0.08 | 0.07 | 0.15 | 0.07 | 0.14 | ||||||
| League One (3 Seasons) | 45 | 23 | 2,172 | 24.1 | 1 | 1 | 2 | 1 | 0 | 0 | 7 | 0 | 0.04 | 0.04 | 0.08 | 0.04 | 0.08 | ||||||
| National League (2 Seasons) | 44 | 29 | 2,661 | 29.6 | 4 | 0 | 4 | 3 | 1 | 1 | 9 | 0 | 0.14 | 0.00 | 0.14 | 0.10 | 0.10 | ||||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | FA Cup | 65th | 2 | 2 | 180 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2014-2015 | 18 | Hartlepool United | eng ENG | League Cup | 58th | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 19 | Hartlepool United | eng ENG | FA Cup | 33rd | 3 | 0 | 70 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 19 | Hartlepool United | eng ENG | League Cup | 33rd | 1 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 20 | Hartlepool United | eng ENG | FA Cup | 65th | 0 | 0 | Matches | |||||||||||||||
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | EFL Cup | 58th | 1 | 1 | 86 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | FA Cup | 65th | 2 | 2 | 135 | 1.5 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.67 | 0.00 | 0.67 | 0.67 | 0.67 | Matches |
| 2018-2019 | 22 | Crewe Alexandra | eng ENG | EFL Cup | 58th | 0 | 0 | Matches | |||||||||||||||
| 2018-2019 | 22 | Wrexham | eng ENG | FA Cup | 65th | 2 | 2 | 146 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | EFL Cup | 58th | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | FA Cup | 17th | 3 | 1 | 67 | 0.7 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.34 | 0.00 | 1.34 | 1.34 | 1.34 | Matches |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | EFL Cup | 58th | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | FA Cup | 33rd | 1 | 1 | 90 | 1.0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.00 | 0.00 | 1.00 | 1.00 | 1.00 | Matches |
| 2021-2022 | 25 | Port Vale | eng ENG | EFL Cup | Rd1 | 1 | 1 | 64 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 25 | Port Vale | eng ENG | FA Cup | 3 | 0 | 18 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2022-2023 | 26 | Port Vale | 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 |
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | EFL Cup | Rd2 | 0 | 0 | Matches | |||||||||||||||
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | EFL Cup | Rd2 | 2 | 2 | 151 | 1.7 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 11 Seasons | 6 Clubs | 2 Leagues | 26 | 17 | 1,482 | 16.5 | 3 | 0 | 3 | 3 | 0 | 1 | 6 | 0 | 0.18 | 0.00 | 0.18 | 0.18 | 0.18 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Hartlepool United (3 Seasons) | 2 Leagues | 7 | 3 | 365 | 4.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Shrewsbury Town (2 Seasons) | 2 Leagues | 6 | 4 | 337 | 3.7 | 2 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0.53 | 0.00 | 0.53 | 0.53 | 0.53 | |||||
| Port Vale (2 Seasons) | 2 Leagues | 5 | 2 | 172 | 1.9 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Tranmere Rovers (2 Seasons) | 2 Leagues | 3 | 3 | 241 | 2.7 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Crewe Alexandra (2 Seasons) | 2 Leagues | 3 | 3 | 221 | 2.5 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.41 | 0.00 | 0.41 | 0.41 | 0.41 | |||||
| Wrexham (1 Season) | 1 League | 2 | 2 | 146 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| EFL Cup (10 Seasons) | 9 | 8 | 686 | 7.6 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| FA Cup (9 Seasons) | 17 | 9 | 796 | 8.8 | 3 | 0 | 3 | 3 | 0 | 0 | 4 | 0 | 0.34 | 0.00 | 0.34 | 0.34 | 0.34 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2013-2014 | 17 | Hartlepool United | eng ENG | 4. League Two | 30.2 | 3 | 22 | 0.73 | 0.14 | 0 | 0 | |||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | FA Cup | 2.0 | 0 | 0 | 0 | Matches | |||||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | League Cup | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | 4. League Two | 23.2 | 5 | 13 | 0.56 | 0.31 | 1 | 1 | Matches | ||||
| 2015-2016 | 19 | Hartlepool United | eng ENG | FA Cup | 0.8 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 19 | Hartlepool United | eng ENG | League Cup | 0.3 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 19 | Hartlepool United | eng ENG | 4. League Two | 8.7 | 1 | 3 | 0.34 | 0.33 | 0 | 0 | Matches | ||||
| 2016-2017 | 20 | Hartlepool United | eng ENG | 4. League Two | 18.9 | 1 | 0 | 3 | 0.00 | 0.16 | 0.33 | 0 | 0 | Matches | ||
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | EFL Cup | 1.0 | 0 | 1 | 0 | 0.0 | 1.05 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | FA Cup | 1.5 | 1 | 1 | 1 | 100.0 | 0.67 | 0.67 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | 4. League Two | 21.1 | 1 | 0 | 5 | 0.00 | 0.24 | 0.20 | 0 | 0 | Matches | ||
| 2018-2019 | 22 | Wrexham | eng ENG | FA Cup | 1.6 | 0 | 5 | 2 | 40.0 | 3.08 | 1.23 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2018-2019 | 22 | Crewe Alexandra | eng ENG | 4. League Two | 0.4 | 0 | 0 | 0 | Matches | |||||||
| 2018-2019 | 22 | Wrexham | eng ENG | 5. National League | 22.9 | 4 | 1 | 1 | Matches | |||||||
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | EFL Cup | 1.0 | 0 | 2 | 0 | 0.0 | 2.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | FA Cup | 0.7 | 1 | 3 | 1 | 33.3 | 4.03 | 1.34 | 0.33 | 1.00 | 0 | 0 | Matches |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | 3. League One | 5.0 | 0 | 4 | 0 | 0.0 | 0.80 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | EFL Cup | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | FA Cup | 1.0 | 1 | 1 | 1 | 100.0 | 1.00 | 1.00 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | 3. League One | 15.2 | 1 | 14 | 3 | 21.4 | 0.92 | 0.20 | 0.07 | 0.33 | 0 | 0 | Matches |
| 2021-2022 | 25 | Port Vale | eng ENG | EFL Cup | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 25 | Port Vale | eng ENG | FA Cup | 0.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 25 | Port Vale | eng ENG | 4. League Two | 23.0 | 1 | 17 | 2 | 11.8 | 0.74 | 0.09 | 0.06 | 0.50 | 0 | 0 | Matches |
| 2022-2023 | 26 | Port Vale | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2022-2023 | 26 | Port Vale | eng ENG | 3. League One | 3.9 | 0 | 3 | 1 | 33.3 | 0.77 | 0.26 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 26 | Tranmere Rovers | eng ENG | 4. League Two | 1.8 | 0 | 2 | 1 | 50.0 | 1.13 | 0.57 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | FA Cup | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | 4. League Two | 22.5 | 0 | 18 | 5 | 27.8 | 0.80 | 0.22 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | EFL Cup | 1.7 | 0 | 3 | 1 | 33.3 | 1.79 | 0.60 | 0.00 | 0.00 | 0 | 1 | Matches |
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | 4. League Two | 6.0 | 0 | 1 | 0 | 0.0 | 0.17 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2025-2026 | 29 | Hartlepool United | eng ENG | 5. National League | 6.6 | 0 | 0 | 0 | Matches | |||||||
| 13 Seasons | 6 Clubs | 5 Leagues | 226.0 | 20 | 77 | 64 | 33.8 | 0.59 | 0.33 | 0.09 | 0.23 | 2 | 3 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Hartlepool United (5 Seasons) | 4 Leagues | 91.8 | 10 | 0 | 41 | 0.00 | 0.51 | 0.22 | 1 | 1 | ||||||
| Tranmere Rovers (3 Seasons) | 3 Leagues | 33.0 | 0 | 25 | 7 | 28.0 | 0.76 | 0.21 | 0.00 | 0.00 | 0 | 1 | ||||
| Shrewsbury Town (2 Seasons) | 3 Leagues | 24.0 | 3 | 25 | 5 | 20.0 | 1.04 | 0.21 | 0.12 | 0.60 | 0 | 0 | ||||
| Port Vale (2 Seasons) | 4 Leagues | 28.8 | 1 | 20 | 3 | 15.0 | 0.69 | 0.10 | 0.05 | 0.33 | 0 | 0 | ||||
| Crewe Alexandra (2 Seasons) | 3 Leagues | 23.9 | 2 | 2 | 6 | 300.0 | 0.09 | 0.26 | 1.00 | 0.33 | 0 | 0 | ||||
| Wrexham (1 Season) | 2 Leagues | 24.6 | 4 | 5 | 2 | 40.0 | 3.08 | 1.23 | 0.00 | 0.00 | 1 | 1 | ||||
| League Two (10 Seasons) | 155.8 | 12 | 38 | 54 | 42.1 | 0.41 | 0.35 | 0.08 | 0.20 | 1 | 1 | |||||
| EFL Cup (10 Seasons) | 7.6 | 0 | 7 | 1 | 14.3 | 1.10 | 0.16 | 0.00 | 0.00 | 0 | 1 | |||||
| FA Cup (9 Seasons) | 8.8 | 3 | 11 | 5 | 45.5 | 1.81 | 0.82 | 0.27 | 0.60 | 0 | 0 | |||||
| League One (3 Seasons) | 24.1 | 1 | 21 | 4 | 19.0 | 0.87 | 0.17 | 0.05 | 0.25 | 0 | 0 | |||||
| National League (2 Seasons) | 29.6 | 4 | 1 | 1 | ||||||||||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2013-2014 | 17 | Hartlepool United | 1 League | 30.2 | 3 | 22 | 0.73 | 0.14 | 0 | 0 | |||||
| 2014-2015 | 18 | Hartlepool United | 3 Leagues | 26.2 | 5 | 13 | 0.56 | 0.31 | 1 | 1 | |||||
| 2015-2016 | 19 | Hartlepool United | 3 Leagues | 9.8 | 1 | 3 | 0.34 | 0.33 | 0 | 0 | |||||
| 2016-2017 | 20 | Hartlepool United | 2 Leagues | 18.9 | 1 | 0 | 3 | 0.00 | 0.16 | 0.33 | 0 | 0 | |||
| 2017-2018 | 21 | Crewe Alexandra | 3 Leagues | 23.5 | 2 | 2 | 6 | 300.0 | 0.09 | 0.26 | 1.00 | 0.33 | 0 | 0 | |
| 2018-2019 | 22 | Crewe Alexandra | 2 Leagues | 0.4 | 0 | 0 | 0 | ||||||||
| 2018-2019 | 22 | Wrexham | 2 Leagues | 24.6 | 4 | 5 | 2 | 40.0 | 3.08 | 1.23 | 0.00 | 0.00 | 1 | 1 | |
| 2019-2020 | 23 | Shrewsbury Town | 3 Leagues | 6.8 | 1 | 9 | 1 | 11.1 | 1.33 | 0.15 | 0.11 | 1.00 | 0 | 0 | |
| 2020-2021 | 24 | Shrewsbury Town | 3 Leagues | 17.2 | 2 | 16 | 4 | 25.0 | 0.93 | 0.23 | 0.13 | 0.50 | 0 | 0 | |
| 2021-2022 | 25 | Port Vale | 3 Leagues | 23.9 | 1 | 17 | 2 | 11.8 | 0.71 | 0.08 | 0.06 | 0.50 | 0 | 0 | |
| 2022-2023 | 26 | Port Vale | 2 Leagues | 4.9 | 0 | 3 | 1 | 33.3 | 0.61 | 0.20 | 0.00 | 0.00 | 0 | 0 | |
| 2022-2023 | 26 | Tranmere Rovers | 1 League | 1.8 | 0 | 2 | 1 | 50.0 | 1.13 | 0.57 | 0.00 | 0.00 | 0 | 0 | |
| 2023-2024 | 27 | Tranmere Rovers | 3 Leagues | 23.5 | 0 | 19 | 5 | 26.3 | 0.81 | 0.21 | 0.00 | 0.00 | 0 | 0 | |
| 2024-2025 | 28 | Tranmere Rovers | 2 Leagues | 7.7 | 0 | 4 | 1 | 25.0 | 0.52 | 0.13 | 0.00 | 0.00 | 0 | 1 | |
| 2025-2026 | 29 | Hartlepool United | 1 League | 6.6 | 0 | 0 | 0 | ||||||||
| 13 Seasons | 6 Clubs | 5 Leagues | 226.0 | 20 | 77 | 64 | 33.8 | 0.59 | 0.33 | 0.09 | 0.23 | 2 | 3 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Hartlepool United (5 Seasons) | 4 Leagues | 91.8 | 10 | 0 | 41 | 0.00 | 0.51 | 0.22 | 1 | 1 | |||||
| Tranmere Rovers (3 Seasons) | 3 Leagues | 33.0 | 0 | 25 | 7 | 28.0 | 0.76 | 0.21 | 0.00 | 0.00 | 0 | 1 | |||
| Shrewsbury Town (2 Seasons) | 3 Leagues | 24.0 | 3 | 25 | 5 | 20.0 | 1.04 | 0.21 | 0.12 | 0.60 | 0 | 0 | |||
| Port Vale (2 Seasons) | 4 Leagues | 28.8 | 1 | 20 | 3 | 15.0 | 0.69 | 0.10 | 0.05 | 0.33 | 0 | 0 | |||
| Crewe Alexandra (2 Seasons) | 3 Leagues | 23.9 | 2 | 2 | 6 | 300.0 | 0.09 | 0.26 | 1.00 | 0.33 | 0 | 0 | |||
| Wrexham (1 Season) | 2 Leagues | 24.6 | 4 | 5 | 2 | 40.0 | 3.08 | 1.23 | 0.00 | 0.00 | 1 | 1 | |||
| League Two (10 Seasons) | 155.8 | 12 | 38 | 54 | 42.1 | 0.41 | 0.35 | 0.08 | 0.20 | 1 | 1 | ||||
| EFL Cup (10 Seasons) | 7.6 | 0 | 7 | 1 | 14.3 | 1.10 | 0.16 | 0.00 | 0.00 | 0 | 1 | ||||
| FA Cup (9 Seasons) | 8.8 | 3 | 11 | 5 | 45.5 | 1.81 | 0.82 | 0.27 | 0.60 | 0 | 0 | ||||
| League One (3 Seasons) | 24.1 | 1 | 21 | 4 | 19.0 | 0.87 | 0.17 | 0.05 | 0.25 | 0 | 0 | ||||
| National League (2 Seasons) | 29.6 | 4 | 1 | 1 | |||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2013-2014 | 17 | Hartlepool United | eng ENG | 4. League Two | 19th | 30.2 | 3 | 22 | 0.73 | 0.14 | 0 | 0 | |||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | 4. League Two | 22nd | 23.2 | 5 | 13 | 0.56 | 0.31 | 1 | 1 | Matches | ||||
| 2015-2016 | 19 | Hartlepool United | eng ENG | 4. League Two | 16th | 8.7 | 1 | 3 | 0.34 | 0.33 | 0 | 0 | Matches | ||||
| 2016-2017 | 20 | Hartlepool United | eng ENG | 4. League Two | 23rd | 18.9 | 1 | 0 | 3 | 0.00 | 0.16 | 0.33 | 0 | 0 | Matches | ||
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | 4. League Two | 15th | 21.1 | 1 | 0 | 5 | 0.00 | 0.24 | 0.20 | 0 | 0 | Matches | ||
| 2018-2019 | 22 | Crewe Alexandra | eng ENG | 4. League Two | 12th | 0.4 | 0 | 0 | 0 | Matches | |||||||
| 2018-2019 | 22 | Wrexham | eng ENG | 5. National League | 4th | 22.9 | 4 | 1 | 1 | Matches | |||||||
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | 3. League One | 15th | 5.0 | 0 | 4 | 0 | 0.0 | 0.80 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | 3. League One | 17th | 15.2 | 1 | 14 | 3 | 21.4 | 0.92 | 0.20 | 0.07 | 0.33 | 0 | 0 | Matches |
| 2021-2022 | 25 | Port Vale | eng ENG | 4. League Two | 5th | 23.0 | 1 | 17 | 2 | 11.8 | 0.74 | 0.09 | 0.06 | 0.50 | 0 | 0 | Matches |
| 2022-2023 | 26 | Port Vale | eng ENG | 3. League One | 18th | 3.9 | 0 | 3 | 1 | 33.3 | 0.77 | 0.26 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 26 | Tranmere Rovers | eng ENG | 4. League Two | 12th | 1.8 | 0 | 2 | 1 | 50.0 | 1.13 | 0.57 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | 4. League Two | 16th | 22.5 | 0 | 18 | 5 | 27.8 | 0.80 | 0.22 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | 4. League Two | 20th | 6.0 | 0 | 1 | 0 | 0.0 | 0.17 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2025-2026 | 29 | Hartlepool United | eng ENG | 5. National League | 9th | 6.6 | 0 | 0 | 0 | Matches | |||||||
| 13 Seasons | 6 Clubs | 3 Leagues | 209.5 | 17 | 59 | 58 | 33.9 | 0.50 | 0.32 | 0.07 | 0.21 | 2 | 2 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Hartlepool United (5 Seasons) | 2 Leagues | 87.7 | 10 | 0 | 41 | 0.00 | 0.51 | 0.22 | 1 | 1 | |||||||
| Tranmere Rovers (3 Seasons) | 1 League | 30.3 | 0 | 21 | 6 | 28.6 | 0.69 | 0.20 | 0.00 | 0.00 | 0 | 0 | |||||
| Shrewsbury Town (2 Seasons) | 1 League | 20.2 | 1 | 18 | 3 | 16.7 | 0.89 | 0.15 | 0.06 | 0.33 | 0 | 0 | |||||
| Port Vale (2 Seasons) | 2 Leagues | 26.9 | 1 | 20 | 3 | 15.0 | 0.74 | 0.11 | 0.05 | 0.33 | 0 | 0 | |||||
| Crewe Alexandra (2 Seasons) | 1 League | 21.4 | 1 | 0 | 5 | 0.00 | 0.24 | 0.20 | 0 | 0 | |||||||
| Wrexham (1 Season) | 1 League | 22.9 | 4 | 1 | 1 | ||||||||||||
| League Two (10 Seasons) | 155.8 | 12 | 38 | 54 | 42.1 | 0.41 | 0.35 | 0.08 | 0.20 | 1 | 1 | ||||||
| League One (3 Seasons) | 24.1 | 1 | 21 | 4 | 19.0 | 0.87 | 0.17 | 0.05 | 0.25 | 0 | 0 | ||||||
| National League (2 Seasons) | 29.6 | 4 | 1 | 1 | |||||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | FA Cup | 65th | 2.0 | 0 | 0 | 0 | Matches | |||||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | League Cup | 58th | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 19 | Hartlepool United | eng ENG | FA Cup | 33rd | 0.8 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 19 | Hartlepool United | eng ENG | League Cup | 33rd | 0.3 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | EFL Cup | 58th | 1.0 | 0 | 1 | 0 | 0.0 | 1.05 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | FA Cup | 65th | 1.5 | 1 | 1 | 1 | 100.0 | 0.67 | 0.67 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2018-2019 | 22 | Wrexham | eng ENG | FA Cup | 65th | 1.6 | 0 | 5 | 2 | 40.0 | 3.08 | 1.23 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | EFL Cup | 58th | 1.0 | 0 | 2 | 0 | 0.0 | 2.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | FA Cup | 17th | 0.7 | 1 | 3 | 1 | 33.3 | 4.03 | 1.34 | 0.33 | 1.00 | 0 | 0 | Matches |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | EFL Cup | 58th | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | FA Cup | 33rd | 1.0 | 1 | 1 | 1 | 100.0 | 1.00 | 1.00 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2021-2022 | 25 | Port Vale | eng ENG | EFL Cup | Rd1 | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 25 | Port Vale | eng ENG | FA Cup | 0.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | ||||
| 2022-2023 | 26 | Port Vale | eng ENG | EFL Cup | Rd1 | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | FA Cup | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | ||
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | EFL Cup | Rd2 | 1.7 | 0 | 3 | 1 | 33.3 | 1.79 | 0.60 | 0.00 | 0.00 | 0 | 1 | Matches |
| 11 Seasons | 6 Clubs | 2 Leagues | 16.5 | 3 | 18 | 6 | 33.3 | 1.45 | 0.48 | 0.17 | 0.50 | 0 | 1 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Hartlepool United (3 Seasons) | 2 Leagues | 4.1 | 0 | 0 | 0 | ||||||||||||
| Shrewsbury Town (2 Seasons) | 2 Leagues | 3.7 | 2 | 7 | 2 | 28.6 | 1.87 | 0.53 | 0.29 | 1.00 | 0 | 0 | |||||
| Port Vale (2 Seasons) | 2 Leagues | 1.9 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Tranmere Rovers (2 Seasons) | 2 Leagues | 2.7 | 0 | 4 | 1 | 25.0 | 1.49 | 0.37 | 0.00 | 0.00 | 0 | 1 | |||||
| Crewe Alexandra (2 Seasons) | 2 Leagues | 2.5 | 1 | 2 | 1 | 50.0 | 0.81 | 0.41 | 0.50 | 1.00 | 0 | 0 | |||||
| Wrexham (1 Season) | 1 League | 1.6 | 0 | 5 | 2 | 40.0 | 3.08 | 1.23 | 0.00 | 0.00 | 0 | 0 | |||||
| EFL Cup (10 Seasons) | 7.6 | 0 | 7 | 1 | 14.3 | 1.10 | 0.16 | 0.00 | 0.00 | 0 | 1 | ||||||
| FA Cup (9 Seasons) | 8.8 | 3 | 11 | 5 | 45.5 | 1.81 | 0.82 | 0.27 | 0.60 | 0 | 0 | ||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2013-2014 | 17 | Hartlepool United | eng ENG | 4. League Two | 36 | 2,722 | 76 | 65.7 | 30.2 | 31 | 5 | |||||||||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | FA Cup | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 3 | 2 | +1 | +0.50 | Matches | ||
| 2014-2015 | 18 | Hartlepool United | eng ENG | League Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 2 | 6 | -4 | -4.00 | Matches | ||
| 2014-2015 | 18 | Hartlepool United | eng ENG | 4. League Two | 28 | 2,087 | 75 | 50.4 | 23.2 | 25 | 16 | 3 | 17 | 0.79 | 18 | 34 | -16 | -0.69 | -0.03 | Matches | ||
| 2015-2016 | 19 | Hartlepool United | eng ENG | FA Cup | 3 | 70 | 23 | 17.9 | 0.8 | 0 | 0 | 3 | 22 | 1 | 1.33 | 2 | 1 | +1 | +1.29 | +1.00 | Matches | |
| 2015-2016 | 19 | Hartlepool United | eng ENG | League Cup | 1 | 25 | 25 | 13.9 | 0.3 | 0 | 0 | 1 | 24 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.74 | Matches | |
| 2015-2016 | 19 | Hartlepool United | eng ENG | 4. League Two | 23 | 786 | 34 | 19.0 | 8.7 | 8 | 3 | 15 | 15 | 1.22 | 8 | 15 | -7 | -0.80 | -0.37 | Matches | ||
| 2016-2017 | 20 | Hartlepool United | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2016-2017 | 20 | Hartlepool United | eng ENG | 4. League Two | 20 | 1,704 | 85 | 41.2 | 18.9 | 19 | 18 | 1 | 7 | 0.95 | 20 | 29 | -9 | -0.48 | -0.03 | Matches | ||
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | EFL Cup | 1 | 86 | 86 | 95.6 | 1.0 | 1 | 86 | 0 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.05 | -1.05 | Matches | |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | FA Cup | 2 | 135 | 68 | 50.0 | 1.5 | 2 | 68 | 1 | 0 | 1 | 2.00 | 3 | 4 | -1 | -0.67 | -1.33 | Matches | |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | 4. League Two | 27 | 1,896 | 70 | 45.8 | 21.1 | 22 | 16 | 5 | 14 | 0.96 | 27 | 38 | -11 | -0.52 | -0.44 | Matches | ||
| 2018-2019 | 22 | Crewe Alexandra | eng ENG | EFL Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2018-2019 | 22 | Wrexham | eng ENG | FA Cup | 2 | 146 | 73 | 54.1 | 1.6 | 2 | 73 | 1 | 0 | 0 | 2.00 | 1 | 0 | +1 | +0.62 | +2.79 | Matches | |
| 2018-2019 | 22 | Crewe Alexandra | eng ENG | 4. League Two | 1 | 33 | 33 | 0.8 | 0.4 | 0 | 0 | 1 | 32 | 3 | 0.00 | 0 | 3 | -3 | -8.18 | -8.27 | Matches | |
| 2018-2019 | 22 | Wrexham | eng ENG | 5. National League | 26 | 2,064 | 79 | 49.9 | 22.9 | 25 | 82 | 14 | 1 | 22 | 1 | 1.85 | 29 | 15 | +14 | +0.61 | +0.39 | Matches |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 4 | -4 | -4.00 | Matches | ||
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | FA Cup | 3 | 67 | 22 | 10.6 | 0.7 | 1 | 53 | 0 | 2 | 7 | 4 | 2.00 | 2 | 0 | +2 | +2.69 | +2.53 | Matches |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | 3. League One | 15 | 451 | 30 | 14.7 | 5.0 | 4 | 90 | 3 | 11 | 8 | 16 | 1.33 | 2 | 8 | -6 | -1.20 | -1.02 | Matches |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 3 | 4 | -1 | -1.00 | Matches | ||
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | FA Cup | 1 | 90 | 90 | 30.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 3.00 | 2 | 0 | +2 | +2.00 | +2.43 | Matches | |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | 3. League One | 23 | 1,370 | 60 | 33.1 | 15.2 | 15 | 79 | 7 | 8 | 22 | 3 | 0.70 | 13 | 21 | -8 | -0.53 | -0.56 | Matches |
| 2021-2022 | 25 | Port Vale | eng ENG | EFL Cup | 1 | 64 | 64 | 71.1 | 0.7 | 1 | 64 | 0 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.81 | -6.27 | Matches | |
| 2021-2022 | 25 | Port Vale | eng ENG | FA Cup | 3 | 18 | 6 | 6.7 | 0.2 | 0 | 0 | 3 | 6 | 0 | 2.00 | 2 | 2 | 0 | 0.00 | -0.71 | Matches | |
| 2021-2022 | 25 | Port Vale | eng ENG | 4. League Two | 28 | 2,071 | 74 | 50.0 | 23.0 | 24 | 82 | 17 | 4 | 27 | 7 | 1.86 | 27 | 14 | +13 | +0.56 | +0.22 | Matches |
| 2022-2023 | 26 | Port Vale | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | Matches | ||
| 2022-2023 | 26 | Port Vale | eng ENG | 3. League One | 7 | 351 | 50 | 8.5 | 3.9 | 4 | 74 | 2 | 3 | 19 | 2 | 1.00 | 3 | 4 | -1 | -0.26 | +0.27 | Matches |
| 2022-2023 | 26 | Tranmere Rovers | eng ENG | 4. League Two | 4 | 159 | 40 | 3.8 | 1.8 | 2 | 57 | 0 | 2 | 23 | 2 | 1.75 | 2 | 3 | -1 | -0.57 | -0.52 | Matches |
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | EFL Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 3 | 4 | -1 | -1.00 | Matches | ||
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | 4. League Two | 28 | 2,023 | 72 | 48.9 | 22.5 | 27 | 74 | 10 | 1 | 25 | 7 | 1.50 | 36 | 23 | +13 | +0.58 | +1.26 | Matches |
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | EFL Cup | 2 | 151 | 76 | 83.9 | 1.7 | 2 | 76 | 1 | 0 | 0 | 1.50 | 3 | 2 | +1 | +0.60 | +6.80 | Matches | |
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | 4. League Two | 8 | 543 | 68 | 13.1 | 6.0 | 6 | 90 | 6 | 2 | 2 | 1 | 1.13 | 4 | 6 | -2 | -0.33 | +0.12 | Matches |
| 2025-2026 | 29 | Hartlepool United | eng ENG | 5. National League | 18 | 597 | 33 | 14.4 | 6.6 | 4 | 75 | 1 | 14 | 21 | 9 | 1.33 | 2 | 12 | -10 | -1.51 | -1.63 | Matches |
| 13 Seasons | 6 Clubs | 5 Leagues | 318 | 20,339 | 64 | 31.4 | 226.0 | 233 | 79 | 124 | 85 | 18 | 113 | 1.25 | 219 | 260 | -41 | -0.21 | -0.02 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Hartlepool United (5 Seasons) | 4 Leagues | 132 | 8,261 | 63 | 38.0 | 91.8 | 90 | 82 | 41 | 42 | 22 | 50 | 1.04 | 55 | 99 | -44 | -0.71 | -0.41 | ||||
| Tranmere Rovers (3 Seasons) | 3 Leagues | 43 | 2,966 | 69 | 23.0 | 33.0 | 38 | 76 | 18 | 5 | 15 | 11 | 1.42 | 48 | 38 | +10 | +0.30 | +0.66 | ||||
| Shrewsbury Town (2 Seasons) | 3 Leagues | 44 | 2,158 | 49 | 26.0 | 24.0 | 23 | 81 | 13 | 21 | 14 | 23 | 1.02 | 22 | 37 | -15 | -0.63 | -0.57 | ||||
| Port Vale (2 Seasons) | 4 Leagues | 40 | 2,594 | 65 | 29.7 | 28.8 | 30 | 80 | 20 | 10 | 18 | 9 | 1.63 | 33 | 24 | +9 | +0.31 | +0.47 | ||||
| Crewe Alexandra (2 Seasons) | 3 Leagues | 31 | 2,150 | 69 | 24.5 | 23.9 | 25 | 74 | 17 | 6 | 32 | 19 | 0.97 | 31 | 47 | -16 | -0.67 | -0.71 | ||||
| Wrexham (1 Season) | 2 Leagues | 28 | 2,210 | 79 | 50.1 | 24.6 | 27 | 81 | 15 | 1 | 22 | 1 | 1.86 | 30 | 15 | +15 | +0.61 | +0.53 | ||||
| League Two (10 Seasons) | 203 | 14,024 | 69 | 33.9 | 155.8 | 164 | 78 | 86 | 39 | 21 | 73 | 1.23 | 142 | 165 | -23 | -0.18 | +0.06 | |||||
| EFL Cup (10 Seasons) | 9 | 686 | 76 | 55.8 | 7.6 | 8 | 83 | 5 | 1 | 24 | 2 | 0.33 | 10 | 22 | -12 | -1.57 | +0.11 | |||||
| FA Cup (9 Seasons) | 17 | 796 | 47 | 30.9 | 8.8 | 9 | 77 | 6 | 8 | 12 | 7 | 1.76 | 18 | 13 | +5 | +0.57 | +0.51 | |||||
| League One (3 Seasons) | 45 | 2,172 | 48 | 19.2 | 24.1 | 23 | 80 | 12 | 22 | 15 | 21 | 0.96 | 18 | 33 | -15 | -0.62 | -0.37 | |||||
| National League (2 Seasons) | 44 | 2,661 | 60 | 32.1 | 29.6 | 29 | 81 | 15 | 15 | 21 | 10 | 1.64 | 31 | 27 | +4 | +0.14 | -0.02 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2013-2014 | 17 | Hartlepool United | 1 League | 36 | 2,722 | 76 | 65.7 | 30.2 | 31 | 5 | |||||||||||
| 2014-2015 | 18 | Hartlepool United | 3 Leagues | 31 | 2,357 | 76 | 53.4 | 26.2 | 28 | 90 | 19 | 3 | 17 | 0.81 | 23 | 42 | -19 | -0.73 | -0.07 | ||
| 2015-2016 | 19 | Hartlepool United | 3 Leagues | 27 | 881 | 33 | 18.7 | 9.8 | 8 | 3 | 19 | 23 | 16 | 1.19 | 10 | 16 | -6 | -0.61 | -0.19 | ||
| 2016-2017 | 20 | Hartlepool United | 2 Leagues | 20 | 1,704 | 85 | 39.4 | 18.9 | 19 | 18 | 1 | 8 | 0.95 | 20 | 29 | -9 | -0.48 | -0.03 | |||
| 2017-2018 | 21 | Crewe Alexandra | 3 Leagues | 30 | 2,117 | 71 | 47.0 | 23.5 | 25 | 74 | 17 | 5 | 15 | 1.00 | 31 | 44 | -13 | -0.55 | -0.51 | ||
| 2018-2019 | 22 | Crewe Alexandra | 2 Leagues | 1 | 33 | 33 | 0.8 | 0.4 | 0 | 0 | 1 | 32 | 4 | 0.00 | 0 | 3 | -3 | -8.18 | -8.27 | ||
| 2018-2019 | 22 | Wrexham | 2 Leagues | 28 | 2,210 | 79 | 50.1 | 24.6 | 27 | 81 | 15 | 1 | 22 | 1 | 1.86 | 30 | 15 | +15 | +0.61 | +0.53 | |
| 2019-2020 | 23 | Shrewsbury Town | 3 Leagues | 19 | 608 | 32 | 16.1 | 6.8 | 6 | 84 | 4 | 13 | 8 | 20 | 1.37 | 4 | 12 | -8 | -1.18 | -1.07 | |
| 2020-2021 | 24 | Shrewsbury Town | 3 Leagues | 25 | 1,550 | 62 | 34.2 | 17.2 | 17 | 81 | 9 | 8 | 22 | 3 | 0.76 | 18 | 25 | -7 | -0.41 | -0.41 | |
| 2021-2022 | 25 | Port Vale | 3 Leagues | 32 | 2,153 | 67 | 47.8 | 23.9 | 25 | 81 | 17 | 7 | 18 | 7 | 1.82 | 29 | 18 | +11 | +0.46 | +0.04 | |
| 2022-2023 | 26 | Port Vale | 2 Leagues | 8 | 441 | 55 | 10.4 | 4.9 | 5 | 77 | 3 | 3 | 19 | 2 | 0.88 | 4 | 6 | -2 | -0.41 | +0.11 | |
| 2022-2023 | 26 | Tranmere Rovers | 1 League | 4 | 159 | 40 | 3.8 | 1.8 | 2 | 57 | 0 | 2 | 23 | 2 | 1.75 | 2 | 3 | -1 | -0.57 | -0.52 | |
| 2023-2024 | 27 | Tranmere Rovers | 3 Leagues | 29 | 2,113 | 73 | 47.6 | 23.5 | 28 | 75 | 11 | 1 | 25 | 8 | 1.45 | 39 | 27 | +12 | +0.51 | +1.19 | |
| 2024-2025 | 28 | Tranmere Rovers | 2 Leagues | 10 | 694 | 69 | 16.1 | 7.7 | 8 | 86 | 7 | 2 | 2 | 1 | 1.20 | 7 | 8 | -1 | -0.13 | +0.37 | |
| 2025-2026 | 29 | Hartlepool United | 1 League | 18 | 597 | 33 | 14.4 | 6.6 | 4 | 75 | 1 | 14 | 21 | 9 | 1.33 | 2 | 12 | -10 | -1.51 | -1.63 | |
| 13 Seasons | 6 Clubs | 5 Leagues | 318 | 20,339 | 64 | 31.4 | 226.0 | 233 | 79 | 124 | 85 | 18 | 113 | 1.25 | 219 | 260 | -41 | -0.21 | -0.02 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Hartlepool United (5 Seasons) | 4 Leagues | 132 | 8,261 | 63 | 38.0 | 91.8 | 90 | 82 | 41 | 42 | 22 | 50 | 1.04 | 55 | 99 | -44 | -0.71 | -0.41 | |||
| Tranmere Rovers (3 Seasons) | 3 Leagues | 43 | 2,966 | 69 | 23.0 | 33.0 | 38 | 76 | 18 | 5 | 15 | 11 | 1.42 | 48 | 38 | +10 | +0.30 | +0.66 | |||
| Shrewsbury Town (2 Seasons) | 3 Leagues | 44 | 2,158 | 49 | 26.0 | 24.0 | 23 | 81 | 13 | 21 | 14 | 23 | 1.02 | 22 | 37 | -15 | -0.63 | -0.57 | |||
| Port Vale (2 Seasons) | 4 Leagues | 40 | 2,594 | 65 | 29.7 | 28.8 | 30 | 80 | 20 | 10 | 18 | 9 | 1.63 | 33 | 24 | +9 | +0.31 | +0.47 | |||
| Crewe Alexandra (2 Seasons) | 3 Leagues | 31 | 2,150 | 69 | 24.5 | 23.9 | 25 | 74 | 17 | 6 | 32 | 19 | 0.97 | 31 | 47 | -16 | -0.67 | -0.71 | |||
| Wrexham (1 Season) | 2 Leagues | 28 | 2,210 | 79 | 50.1 | 24.6 | 27 | 81 | 15 | 1 | 22 | 1 | 1.86 | 30 | 15 | +15 | +0.61 | +0.53 | |||
| League Two (10 Seasons) | 203 | 14,024 | 69 | 33.9 | 155.8 | 164 | 78 | 86 | 39 | 21 | 73 | 1.23 | 142 | 165 | -23 | -0.18 | +0.06 | ||||
| EFL Cup (10 Seasons) | 9 | 686 | 76 | 55.8 | 7.6 | 8 | 83 | 5 | 1 | 24 | 2 | 0.33 | 10 | 22 | -12 | -1.57 | +0.11 | ||||
| FA Cup (9 Seasons) | 17 | 796 | 47 | 30.9 | 8.8 | 9 | 77 | 6 | 8 | 12 | 7 | 1.76 | 18 | 13 | +5 | +0.57 | +0.51 | ||||
| League One (3 Seasons) | 45 | 2,172 | 48 | 19.2 | 24.1 | 23 | 80 | 12 | 22 | 15 | 21 | 0.96 | 18 | 33 | -15 | -0.62 | -0.37 | ||||
| National League (2 Seasons) | 44 | 2,661 | 60 | 32.1 | 29.6 | 29 | 81 | 15 | 15 | 21 | 10 | 1.64 | 31 | 27 | +4 | +0.14 | -0.02 | ||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2013-2014 | 17 | Hartlepool United | eng ENG | 4. League Two | 19th | 36 | 2,722 | 76 | 65.7 | 30.2 | 31 | 5 | |||||||||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | 4. League Two | 22nd | 28 | 2,087 | 75 | 50.4 | 23.2 | 25 | 16 | 3 | 17 | 0.79 | 18 | 34 | -16 | -0.69 | -0.03 | Matches | ||
| 2015-2016 | 19 | Hartlepool United | eng ENG | 4. League Two | 16th | 23 | 786 | 34 | 19.0 | 8.7 | 8 | 3 | 15 | 15 | 1.22 | 8 | 15 | -7 | -0.80 | -0.37 | Matches | ||
| 2016-2017 | 20 | Hartlepool United | eng ENG | 4. League Two | 23rd | 20 | 1,704 | 85 | 41.2 | 18.9 | 19 | 18 | 1 | 7 | 0.95 | 20 | 29 | -9 | -0.48 | -0.03 | Matches | ||
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | 4. League Two | 15th | 27 | 1,896 | 70 | 45.8 | 21.1 | 22 | 16 | 5 | 14 | 0.96 | 27 | 38 | -11 | -0.52 | -0.44 | Matches | ||
| 2018-2019 | 22 | Crewe Alexandra | eng ENG | 4. League Two | 12th | 1 | 33 | 33 | 0.8 | 0.4 | 0 | 0 | 1 | 32 | 3 | 0.00 | 0 | 3 | -3 | -8.18 | -8.27 | Matches | |
| 2018-2019 | 22 | Wrexham | eng ENG | 5. National League | 4th | 26 | 2,064 | 79 | 49.9 | 22.9 | 25 | 82 | 14 | 1 | 22 | 1 | 1.85 | 29 | 15 | +14 | +0.61 | +0.39 | Matches |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | 3. League One | 15th | 15 | 451 | 30 | 14.7 | 5.0 | 4 | 90 | 3 | 11 | 8 | 16 | 1.33 | 2 | 8 | -6 | -1.20 | -1.02 | Matches |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | 3. League One | 17th | 23 | 1,370 | 60 | 33.1 | 15.2 | 15 | 79 | 7 | 8 | 22 | 3 | 0.70 | 13 | 21 | -8 | -0.53 | -0.56 | Matches |
| 2021-2022 | 25 | Port Vale | eng ENG | 4. League Two | 5th | 28 | 2,071 | 74 | 50.0 | 23.0 | 24 | 82 | 17 | 4 | 27 | 7 | 1.86 | 27 | 14 | +13 | +0.56 | +0.22 | Matches |
| 2022-2023 | 26 | Port Vale | eng ENG | 3. League One | 18th | 7 | 351 | 50 | 8.5 | 3.9 | 4 | 74 | 2 | 3 | 19 | 2 | 1.00 | 3 | 4 | -1 | -0.26 | +0.27 | Matches |
| 2022-2023 | 26 | Tranmere Rovers | eng ENG | 4. League Two | 12th | 4 | 159 | 40 | 3.8 | 1.8 | 2 | 57 | 0 | 2 | 23 | 2 | 1.75 | 2 | 3 | -1 | -0.57 | -0.52 | Matches |
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | 4. League Two | 16th | 28 | 2,023 | 72 | 48.9 | 22.5 | 27 | 74 | 10 | 1 | 25 | 7 | 1.50 | 36 | 23 | +13 | +0.58 | +1.26 | Matches |
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | 4. League Two | 20th | 8 | 543 | 68 | 13.1 | 6.0 | 6 | 90 | 6 | 2 | 2 | 1 | 1.13 | 4 | 6 | -2 | -0.33 | +0.12 | Matches |
| 2025-2026 | 29 | Hartlepool United | eng ENG | 5. National League | 9th | 18 | 597 | 33 | 14.4 | 6.6 | 4 | 75 | 1 | 14 | 21 | 9 | 1.33 | 2 | 12 | -10 | -1.51 | -1.63 | Matches |
| 13 Seasons | 6 Clubs | 3 Leagues | 292 | 18,857 | 65 | 30.9 | 209.5 | 216 | 79 | 113 | 76 | 18 | 104 | 1.25 | 191 | 225 | -34 | -0.19 | 0.00 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Hartlepool United (5 Seasons) | 2 Leagues | 125 | 7,896 | 63 | 38.1 | 87.7 | 87 | 75 | 38 | 38 | 21 | 48 | 1.05 | 48 | 90 | -42 | -0.73 | -0.43 | |||||
| Tranmere Rovers (3 Seasons) | 1 League | 40 | 2,725 | 68 | 21.9 | 30.3 | 35 | 76 | 16 | 5 | 15 | 10 | 1.45 | 42 | 32 | +10 | +0.33 | +0.66 | |||||
| Shrewsbury Town (2 Seasons) | 1 League | 38 | 1,821 | 48 | 25.3 | 20.2 | 19 | 82 | 10 | 19 | 14 | 19 | 0.95 | 15 | 29 | -14 | -0.69 | -0.63 | |||||
| Port Vale (2 Seasons) | 2 Leagues | 35 | 2,422 | 69 | 29.3 | 26.9 | 28 | 81 | 19 | 7 | 24 | 9 | 1.69 | 30 | 18 | +12 | +0.45 | +0.66 | |||||
| Crewe Alexandra (2 Seasons) | 1 League | 28 | 1,929 | 69 | 23.3 | 21.4 | 22 | 16 | 6 | 32 | 17 | 0.93 | 27 | 41 | -14 | -0.65 | -0.68 | ||||||
| Wrexham (1 Season) | 1 League | 26 | 2,064 | 79 | 49.9 | 22.9 | 25 | 82 | 14 | 1 | 22 | 1 | 1.85 | 29 | 15 | +14 | +0.61 | +0.39 | |||||
| League Two (10 Seasons) | 203 | 14,024 | 69 | 33.9 | 155.8 | 164 | 78 | 86 | 39 | 21 | 73 | 1.23 | 142 | 165 | -23 | -0.18 | +0.06 | ||||||
| League One (3 Seasons) | 45 | 2,172 | 48 | 19.2 | 24.1 | 23 | 80 | 12 | 22 | 15 | 21 | 0.96 | 18 | 33 | -15 | -0.62 | -0.37 | ||||||
| National League (2 Seasons) | 44 | 2,661 | 60 | 32.1 | 29.6 | 29 | 81 | 15 | 15 | 21 | 10 | 1.64 | 31 | 27 | +4 | +0.14 | -0.02 | ||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | FA Cup | 65th | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 3 | 2 | +1 | +0.50 | Matches | ||
| 2014-2015 | 18 | Hartlepool United | eng ENG | League Cup | 58th | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 2 | 6 | -4 | -4.00 | Matches | ||
| 2015-2016 | 19 | Hartlepool United | eng ENG | FA Cup | 33rd | 3 | 70 | 23 | 17.9 | 0.8 | 0 | 0 | 3 | 22 | 1 | 1.33 | 2 | 1 | +1 | +1.29 | +1.00 | Matches | |
| 2015-2016 | 19 | Hartlepool United | eng ENG | League Cup | 33rd | 1 | 25 | 25 | 13.9 | 0.3 | 0 | 0 | 1 | 24 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.74 | Matches | |
| 2016-2017 | 20 | Hartlepool United | eng ENG | FA Cup | 65th | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | EFL Cup | 58th | 1 | 86 | 86 | 95.6 | 1.0 | 1 | 86 | 0 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.05 | -1.05 | Matches | |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | FA Cup | 65th | 2 | 135 | 68 | 50.0 | 1.5 | 2 | 68 | 1 | 0 | 1 | 2.00 | 3 | 4 | -1 | -0.67 | -1.33 | Matches | |
| 2018-2019 | 22 | Crewe Alexandra | eng ENG | EFL Cup | 58th | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2018-2019 | 22 | Wrexham | eng ENG | FA Cup | 65th | 2 | 146 | 73 | 54.1 | 1.6 | 2 | 73 | 1 | 0 | 0 | 2.00 | 1 | 0 | +1 | +0.62 | +2.79 | Matches | |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | EFL Cup | 58th | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 4 | -4 | -4.00 | Matches | ||
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | FA Cup | 17th | 3 | 67 | 22 | 10.6 | 0.7 | 1 | 53 | 0 | 2 | 7 | 4 | 2.00 | 2 | 0 | +2 | +2.69 | +2.53 | Matches |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | EFL Cup | 58th | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 3 | 4 | -1 | -1.00 | Matches | ||
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | FA Cup | 33rd | 1 | 90 | 90 | 30.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 3.00 | 2 | 0 | +2 | +2.00 | +2.43 | Matches | |
| 2021-2022 | 25 | Port Vale | eng ENG | EFL Cup | Rd1 | 1 | 64 | 64 | 71.1 | 0.7 | 1 | 64 | 0 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.81 | -6.27 | Matches | |
| 2021-2022 | 25 | Port Vale | eng ENG | FA Cup | 3 | 18 | 6 | 6.7 | 0.2 | 0 | 0 | 3 | 6 | 0 | 2.00 | 2 | 2 | 0 | 0.00 | -0.71 | Matches | ||
| 2022-2023 | 26 | Port Vale | eng ENG | EFL Cup | Rd1 | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | Matches | ||
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | EFL Cup | Rd2 | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 3 | 4 | -1 | -1.00 | Matches | |||
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | EFL Cup | Rd2 | 2 | 151 | 76 | 83.9 | 1.7 | 2 | 76 | 1 | 0 | 0 | 1.50 | 3 | 2 | +1 | +0.60 | +6.80 | Matches | |
| 11 Seasons | 6 Clubs | 2 Leagues | 26 | 1,482 | 57 | 38.9 | 16.5 | 17 | 80 | 11 | 9 | 14 | 9 | 1.27 | 28 | 35 | -7 | -0.43 | -0.28 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Hartlepool United (3 Seasons) | 2 Leagues | 7 | 365 | 52 | 35.8 | 4.1 | 3 | 91 | 3 | 4 | 23 | 2 | 1.00 | 7 | 9 | -2 | -0.49 | -0.11 | |||||
| Shrewsbury Town (2 Seasons) | 2 Leagues | 6 | 337 | 56 | 30.4 | 3.7 | 4 | 81 | 3 | 2 | 7 | 4 | 1.50 | 7 | 8 | -1 | -0.27 | -0.27 | |||||
| Port Vale (2 Seasons) | 2 Leagues | 5 | 172 | 34 | 38.2 | 1.9 | 2 | 77 | 1 | 3 | 6 | 0 | 1.20 | 3 | 6 | -3 | -1.57 | -2.54 | |||||
| Tranmere Rovers (2 Seasons) | 2 Leagues | 3 | 241 | 80 | 50.2 | 2.7 | 3 | 80 | 2 | 0 | 1 | 1.00 | 6 | 6 | 0 | 0.00 | +6.21 | ||||||
| Crewe Alexandra (2 Seasons) | 2 Leagues | 3 | 221 | 74 | 46.0 | 2.5 | 3 | 74 | 1 | 0 | 2 | 1.33 | 4 | 6 | -2 | -0.81 | -1.46 | ||||||
| Wrexham (1 Season) | 1 League | 2 | 146 | 73 | 54.1 | 1.6 | 2 | 73 | 1 | 0 | 0 | 2.00 | 1 | 0 | +1 | +0.62 | +2.79 | ||||||
| EFL Cup (10 Seasons) | 9 | 686 | 76 | 55.8 | 7.6 | 8 | 83 | 5 | 1 | 24 | 2 | 0.33 | 10 | 22 | -12 | -1.57 | +0.11 | ||||||
| FA Cup (9 Seasons) | 17 | 796 | 47 | 30.9 | 8.8 | 9 | 77 | 6 | 8 | 12 | 7 | 1.76 | 18 | 13 | +5 | +0.57 | +0.51 | ||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2013-2014 | 17 | Hartlepool United | eng ENG | 4. League Two | 30.2 | 7 | 0 | 32 | ||||||||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | FA Cup | 2.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | League Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | 4. League Two | 23.2 | 4 | 0 | 29 | Matches | |||||||||
| 2015-2016 | 19 | Hartlepool United | eng ENG | FA Cup | 0.8 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 19 | Hartlepool United | eng ENG | League Cup | 0.3 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 19 | Hartlepool United | eng ENG | 4. League Two | 8.7 | 4 | 0 | 13 | Matches | |||||||||
| 2016-2017 | 20 | Hartlepool United | eng ENG | 4. League Two | 18.9 | 2 | 0 | 0 | 25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | EFL Cup | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | FA Cup | 1.5 | 2 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | 4. League Two | 21.1 | 4 | 0 | 0 | 19 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 22 | Wrexham | eng ENG | FA Cup | 1.6 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | Matches |
| 2018-2019 | 22 | Crewe Alexandra | eng ENG | 4. League Two | 0.4 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 22 | Wrexham | eng ENG | 5. National League | 22.9 | 9 | 0 | 0 | 1 | Matches | ||||||||
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 2 | 0 | Matches | ||
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | 3. League One | 5.0 | 2 | 0 | 0 | 10 | 2 | 0 | 2 | 5 | 8 | 0 | 0 | 0 | Matches |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | 3. League One | 15.2 | 5 | 0 | 0 | 19 | 7 | 1 | 0 | 23 | 16 | 0 | Matches | ||
| 2021-2022 | 25 | Port Vale | eng ENG | EFL Cup | 0.7 | 1 | 0 | 0 | 2 | 0 | 0 | 1 | 3 | 1 | 0 | Matches | ||
| 2021-2022 | 25 | Port Vale | eng ENG | FA Cup | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 25 | Port Vale | eng ENG | 4. League Two | 23.0 | 11 | 0 | 0 | 34 | 17 | 0 | 10 | 29 | 42 | 0 | Matches | ||
| 2022-2023 | 26 | Port Vale | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 1 | 0 | Matches | ||
| 2022-2023 | 26 | Port Vale | eng ENG | 3. League One | 3.9 | 0 | 0 | 0 | 4 | 1 | 0 | 2 | 4 | 1 | 0 | Matches | ||
| 2022-2023 | 26 | Tranmere Rovers | eng ENG | 4. League Two | 1.8 | 2 | 0 | 0 | 2 | 0 | 0 | 2 | 0 | 2 | 0 | Matches | ||
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | FA Cup | 1.0 | 1 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | 4. League Two | 22.5 | 7 | 0 | 0 | 28 | 7 | 0 | 57 | 22 | 36 | 0 | Matches | ||
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | EFL Cup | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | Matches | ||
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | 4. League Two | 6.0 | 1 | 0 | 0 | 6 | 2 | 0 | 8 | 5 | 7 | 0 | Matches | ||
| 2025-2026 | 29 | Hartlepool United | eng ENG | 5. National League | 6.6 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 13 Seasons | 6 Clubs | 5 Leagues | 226.0 | 64 | 0 | 0 | 238 | 40 | 1 | 84 | 99 | 118 | 0 | 0 | 1 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Hartlepool United (5 Seasons) | 4 Leagues | 91.8 | 17 | 0 | 0 | 99 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Tranmere Rovers (3 Seasons) | 3 Leagues | 33.0 | 11 | 0 | 0 | 38 | 9 | 0 | 69 | 29 | 45 | 0 | ||||||
| Shrewsbury Town (2 Seasons) | 3 Leagues | 24.0 | 7 | 0 | 0 | 34 | 12 | 1 | 2 | 32 | 26 | 0 | 0 | 0 | ||||
| Port Vale (2 Seasons) | 4 Leagues | 28.8 | 12 | 0 | 0 | 42 | 19 | 0 | 13 | 36 | 45 | 0 | ||||||
| Crewe Alexandra (2 Seasons) | 3 Leagues | 23.9 | 7 | 0 | 0 | 24 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Wrexham (1 Season) | 2 Leagues | 24.6 | 10 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 1 | ||||
| League Two (10 Seasons) | 155.8 | 42 | 0 | 0 | 188 | 26 | 0 | 77 | 56 | 87 | 0 | 0 | 0 | |||||
| EFL Cup (10 Seasons) | 7.6 | 2 | 0 | 0 | 6 | 4 | 0 | 2 | 9 | 4 | 0 | 0 | 0 | |||||
| FA Cup (9 Seasons) | 8.8 | 4 | 0 | 0 | 11 | 0 | 0 | 1 | 2 | 2 | 0 | 0 | 0 | |||||
| League One (3 Seasons) | 24.1 | 7 | 0 | 0 | 33 | 10 | 1 | 4 | 32 | 25 | 0 | 0 | 0 | |||||
| National League (2 Seasons) | 29.6 | 9 | 0 | 0 | 1 | |||||||||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2013-2014 | 17 | Hartlepool United | 1 League | 30.2 | 7 | 0 | 32 | ||||||||||
| 2014-2015 | 18 | Hartlepool United | 3 Leagues | 26.2 | 4 | 0 | 0 | 29 | 0 | ||||||||
| 2015-2016 | 19 | Hartlepool United | 3 Leagues | 9.8 | 4 | 0 | 0 | 13 | 0 | ||||||||
| 2016-2017 | 20 | Hartlepool United | 2 Leagues | 18.9 | 2 | 0 | 0 | 25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2017-2018 | 21 | Crewe Alexandra | 3 Leagues | 23.5 | 7 | 0 | 0 | 24 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2018-2019 | 22 | Crewe Alexandra | 2 Leagues | 0.4 | 0 | 0 | 0 | 0 | |||||||||
| 2018-2019 | 22 | Wrexham | 2 Leagues | 24.6 | 10 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 1 | |
| 2019-2020 | 23 | Shrewsbury Town | 3 Leagues | 6.8 | 2 | 0 | 0 | 10 | 3 | 0 | 2 | 8 | 10 | 0 | 0 | 0 | |
| 2020-2021 | 24 | Shrewsbury Town | 3 Leagues | 17.2 | 5 | 0 | 0 | 24 | 9 | 1 | 0 | 24 | 16 | 0 | |||
| 2021-2022 | 25 | Port Vale | 3 Leagues | 23.9 | 12 | 0 | 0 | 36 | 17 | 0 | 11 | 32 | 43 | 0 | |||
| 2022-2023 | 26 | Port Vale | 2 Leagues | 4.9 | 0 | 0 | 0 | 6 | 2 | 0 | 2 | 4 | 2 | 0 | |||
| 2022-2023 | 26 | Tranmere Rovers | 1 League | 1.8 | 2 | 0 | 0 | 2 | 0 | 0 | 2 | 0 | 2 | 0 | |||
| 2023-2024 | 27 | Tranmere Rovers | 3 Leagues | 23.5 | 8 | 0 | 0 | 30 | 7 | 0 | 58 | 22 | 36 | 0 | |||
| 2024-2025 | 28 | Tranmere Rovers | 2 Leagues | 7.7 | 1 | 0 | 0 | 6 | 2 | 0 | 9 | 7 | 7 | 0 | |||
| 2025-2026 | 29 | Hartlepool United | 1 League | 6.6 | 0 | 0 | 0 | 0 | |||||||||
| 13 Seasons | 6 Clubs | 5 Leagues | 226.0 | 64 | 0 | 0 | 238 | 40 | 1 | 84 | 99 | 118 | 0 | 0 | 1 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Hartlepool United (5 Seasons) | 4 Leagues | 91.8 | 17 | 0 | 0 | 99 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Tranmere Rovers (3 Seasons) | 3 Leagues | 33.0 | 11 | 0 | 0 | 38 | 9 | 0 | 69 | 29 | 45 | 0 | |||||
| Shrewsbury Town (2 Seasons) | 3 Leagues | 24.0 | 7 | 0 | 0 | 34 | 12 | 1 | 2 | 32 | 26 | 0 | 0 | 0 | |||
| Port Vale (2 Seasons) | 4 Leagues | 28.8 | 12 | 0 | 0 | 42 | 19 | 0 | 13 | 36 | 45 | 0 | |||||
| Crewe Alexandra (2 Seasons) | 3 Leagues | 23.9 | 7 | 0 | 0 | 24 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Wrexham (1 Season) | 2 Leagues | 24.6 | 10 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 1 | |||
| League Two (10 Seasons) | 155.8 | 42 | 0 | 0 | 188 | 26 | 0 | 77 | 56 | 87 | 0 | 0 | 0 | ||||
| EFL Cup (10 Seasons) | 7.6 | 2 | 0 | 0 | 6 | 4 | 0 | 2 | 9 | 4 | 0 | 0 | 0 | ||||
| FA Cup (9 Seasons) | 8.8 | 4 | 0 | 0 | 11 | 0 | 0 | 1 | 2 | 2 | 0 | 0 | 0 | ||||
| League One (3 Seasons) | 24.1 | 7 | 0 | 0 | 33 | 10 | 1 | 4 | 32 | 25 | 0 | 0 | 0 | ||||
| National League (2 Seasons) | 29.6 | 9 | 0 | 0 | 1 | ||||||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2013-2014 | 17 | Hartlepool United | eng ENG | 4. League Two | 19th | 30.2 | 7 | 0 | 32 | ||||||||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | 4. League Two | 22nd | 23.2 | 4 | 0 | 29 | Matches | |||||||||
| 2015-2016 | 19 | Hartlepool United | eng ENG | 4. League Two | 16th | 8.7 | 4 | 0 | 13 | Matches | |||||||||
| 2016-2017 | 20 | Hartlepool United | eng ENG | 4. League Two | 23rd | 18.9 | 2 | 0 | 0 | 25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | 4. League Two | 15th | 21.1 | 4 | 0 | 0 | 19 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 22 | Crewe Alexandra | eng ENG | 4. League Two | 12th | 0.4 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 22 | Wrexham | eng ENG | 5. National League | 4th | 22.9 | 9 | 0 | 0 | 1 | Matches | ||||||||
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | 3. League One | 15th | 5.0 | 2 | 0 | 0 | 10 | 2 | 0 | 2 | 5 | 8 | 0 | 0 | 0 | Matches |
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | 3. League One | 17th | 15.2 | 5 | 0 | 0 | 19 | 7 | 1 | 0 | 23 | 16 | 0 | Matches | ||
| 2021-2022 | 25 | Port Vale | eng ENG | 4. League Two | 5th | 23.0 | 11 | 0 | 0 | 34 | 17 | 0 | 10 | 29 | 42 | 0 | Matches | ||
| 2022-2023 | 26 | Port Vale | eng ENG | 3. League One | 18th | 3.9 | 0 | 0 | 0 | 4 | 1 | 0 | 2 | 4 | 1 | 0 | Matches | ||
| 2022-2023 | 26 | Tranmere Rovers | eng ENG | 4. League Two | 12th | 1.8 | 2 | 0 | 0 | 2 | 0 | 0 | 2 | 0 | 2 | 0 | Matches | ||
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | 4. League Two | 16th | 22.5 | 7 | 0 | 0 | 28 | 7 | 0 | 57 | 22 | 36 | 0 | Matches | ||
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | 4. League Two | 20th | 6.0 | 1 | 0 | 0 | 6 | 2 | 0 | 8 | 5 | 7 | 0 | Matches | ||
| 2025-2026 | 29 | Hartlepool United | eng ENG | 5. National League | 9th | 6.6 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 13 Seasons | 6 Clubs | 3 Leagues | 209.5 | 58 | 0 | 0 | 221 | 36 | 1 | 81 | 88 | 112 | 0 | 0 | 1 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Hartlepool United (5 Seasons) | 2 Leagues | 87.7 | 17 | 0 | 0 | 99 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Tranmere Rovers (3 Seasons) | 1 League | 30.3 | 10 | 0 | 0 | 36 | 9 | 0 | 67 | 27 | 45 | 0 | |||||||
| Shrewsbury Town (2 Seasons) | 1 League | 20.2 | 7 | 0 | 0 | 29 | 9 | 1 | 2 | 28 | 24 | 0 | 0 | 0 | |||||
| Port Vale (2 Seasons) | 2 Leagues | 26.9 | 11 | 0 | 0 | 38 | 18 | 0 | 12 | 33 | 43 | 0 | |||||||
| Crewe Alexandra (2 Seasons) | 1 League | 21.4 | 4 | 0 | 0 | 19 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Wrexham (1 Season) | 1 League | 22.9 | 9 | 0 | 0 | 1 | |||||||||||||
| League Two (10 Seasons) | 155.8 | 42 | 0 | 0 | 188 | 26 | 0 | 77 | 56 | 87 | 0 | 0 | 0 | ||||||
| League One (3 Seasons) | 24.1 | 7 | 0 | 0 | 33 | 10 | 1 | 4 | 32 | 25 | 0 | 0 | 0 | ||||||
| National League (2 Seasons) | 29.6 | 9 | 0 | 0 | 1 | ||||||||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2014-2015 | 18 | Hartlepool United | eng ENG | FA Cup | 65th | 2.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2014-2015 | 18 | Hartlepool United | eng ENG | League Cup | 58th | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 19 | Hartlepool United | eng ENG | FA Cup | 33rd | 0.8 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 19 | Hartlepool United | eng ENG | League Cup | 33rd | 0.3 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | EFL Cup | 58th | 1.0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 21 | Crewe Alexandra | eng ENG | FA Cup | 65th | 1.5 | 2 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2018-2019 | 22 | Wrexham | eng ENG | FA Cup | 65th | 1.6 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | Matches |
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | EFL Cup | 58th | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 2 | 0 | Matches | ||
| 2019-2020 | 23 | Shrewsbury Town | eng ENG | FA Cup | 17th | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | EFL Cup | 58th | 1.0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2020-2021 | 24 | Shrewsbury Town | eng ENG | FA Cup | 33rd | 1.0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 25 | Port Vale | eng ENG | EFL Cup | Rd1 | 0.7 | 1 | 0 | 0 | 2 | 0 | 0 | 1 | 3 | 1 | 0 | Matches | ||
| 2021-2022 | 25 | Port Vale | eng ENG | FA Cup | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | |||
| 2022-2023 | 26 | Port Vale | eng ENG | EFL Cup | Rd1 | 1.0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 1 | 0 | Matches | ||
| 2023-2024 | 27 | Tranmere Rovers | eng ENG | FA Cup | 1.0 | 1 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | Matches | |||
| 2024-2025 | 28 | Tranmere Rovers | eng ENG | EFL Cup | Rd2 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | Matches | ||
| 11 Seasons | 6 Clubs | 2 Leagues | 16.5 | 6 | 0 | 0 | 17 | 4 | 0 | 3 | 11 | 6 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Hartlepool United (3 Seasons) | 2 Leagues | 4.1 | 0 | 0 | 0 | 0 | |||||||||||||
| Shrewsbury Town (2 Seasons) | 2 Leagues | 3.7 | 0 | 0 | 0 | 5 | 3 | 0 | 0 | 4 | 2 | 0 | |||||||
| Port Vale (2 Seasons) | 2 Leagues | 1.9 | 1 | 0 | 0 | 4 | 1 | 0 | 1 | 3 | 2 | 0 | |||||||
| Tranmere Rovers (2 Seasons) | 2 Leagues | 2.7 | 1 | 0 | 0 | 2 | 0 | 0 | 2 | 2 | 0 | 0 | |||||||
| Crewe Alexandra (2 Seasons) | 2 Leagues | 2.5 | 3 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Wrexham (1 Season) | 1 League | 1.6 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | |||||
| EFL Cup (10 Seasons) | 7.6 | 2 | 0 | 0 | 6 | 4 | 0 | 2 | 9 | 4 | 0 | 0 | 0 | ||||||
| FA Cup (9 Seasons) | 8.8 | 4 | 0 | 0 | 11 | 0 | 0 | 1 | 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