- Height
- 182 cm
- Shirt
- 14
- Age
- 27
- Preferred foot
- Left
- Country
- England
- Market value
- €224k
- Contract end
- 30 June 2028
League Two · 2026–2027
11Apps
5Starts
494Minutes
0Goals
1Assists
0.07xG
1.01xA
6.4Rating
Player profile
CM
Per-90 percentiles against midfielders in League Two. 50 = average.
Shooting
| Stat | Total | Per 90 | Percentile |
| Goals |
0 |
0.00 |
0
|
| xG |
0.07 |
0.01 |
14
|
| xG excl. penalty |
0.07 |
0.01 |
14
|
| Shots |
3 |
0.55 |
30
|
Passing
| Stat | Total | Per 90 | Percentile |
| Assists |
1 |
0.18 |
85
|
| xA |
1.01 |
0.18 |
87
|
| Accurate passes |
257 |
46.8 |
93
|
| Pass accuracy |
86.5% |
— |
94
|
| Accurate long balls |
12 |
2.19 |
72
|
| Long ball accuracy |
44.4% |
— |
70
|
| Line-breaking passes |
20 |
3.64 |
71
|
| Chances created |
8 |
1.46 |
73
|
| Big chances created |
1 |
0.18 |
68
|
| Successful crosses |
12 |
2.19 |
96
|
| Cross accuracy |
54.5% |
— |
97
|
Possession
| Stat | Total | Per 90 | Percentile |
| Dribbles |
1 |
0.18 |
17
|
| Dribbles success rate |
100.0% |
— |
100
|
| Duels won |
14 |
2.55 |
4
|
| Duels won % |
35.9% |
— |
8
|
| Aerials won |
5 |
0.91 |
22
|
| Aerials won % |
38.5% |
— |
21
|
| Touches |
377 |
68.7 |
86
|
| Touches in opposition box |
2 |
0.36 |
15
|
| Dispossessed |
4 |
0.73 |
61
|
| Fouls won |
4 |
0.73 |
26
|
Defending
| Stat | Total | Per 90 | Percentile |
| Defensive actions |
27 |
4.92 |
43
|
| Tackles |
4 |
0.73 |
5
|
| Interceptions |
5 |
0.91 |
54
|
| Blocked scoring attempt |
3 |
0.55 |
76
|
| Fouls committed |
11 |
2.00 |
14
|
| Recoveries |
21 |
3.83 |
37
|
| Possession won final 3rd |
1 |
0.18 |
33
|
| Dribbled past |
2 |
0.36 |
80
|
| Clearances |
15 |
2.73 |
78
|
| Clean sheets |
1 |
0.18 |
64
|
| Goals conceded while on pitch |
9 |
1.64 |
16
|
| xG against while on pitch |
9.45 |
1.72 |
16
|
Discipline
| Stat | Total | Per 90 | Percentile |
| Yellow cards |
1 |
0.18 |
54
|
| Red cards |
1 |
0.18 |
1
|
Percentiles are per 90 minutes, against players in the same position in League Two.
| Season | Team | Apps | G | A | Rating |
| ▸ 2026–2027 |
Rochdale |
15 |
0 |
3 |
6.5 |
|
League Two |
11 |
0 |
1 |
6.4 |
|
EFL Trophy |
2 |
0 |
2 |
7.8 |
|
EFL Cup |
2 |
0 |
0 |
6.2 |
| ▸ 2025–2026 |
Rochdale |
13 |
0 |
1 |
— |
|
National League |
13 |
0 |
1 |
— |
| ▸ 2025–2026 |
Exeter City |
15 |
0 |
1 |
6.6 |
|
League One |
9 |
0 |
0 |
6.3 |
|
EFL Trophy |
4 |
0 |
1 |
7.4 |
|
FA Cup |
1 |
0 |
0 |
— |
|
EFL Cup |
1 |
0 |
0 |
6.4 |
| ▸ 2024–2025 |
Exeter City |
49 |
3 |
6 |
6.8 |
|
League One |
42 |
2 |
6 |
6.8 |
|
EFL Trophy |
3 |
1 |
0 |
— |
|
FA Cup |
4 |
0 |
0 |
7.3 |
| ▸ 2023–2024 |
Gateshead FC |
45 |
3 |
0 |
6.0 |
|
National League |
40 |
3 |
0 |
— |
|
FA Cup |
1 |
0 |
0 |
6.0 |
|
FA Trophy |
4 |
0 |
0 |
— |
| ▸ 2022–2023 |
Gateshead FC |
14 |
0 |
0 |
— |
|
National League |
14 |
0 |
0 |
— |
| ▸ 2022–2023 |
Notts County |
13 |
1 |
0 |
— |
|
National League |
10 |
1 |
0 |
— |
|
FA Cup |
1 |
0 |
0 |
— |
|
FA Trophy |
2 |
0 |
0 |
— |
| ▸ 2021–2022 |
Notts County |
40 |
1 |
0 |
— |
|
National League |
33 |
1 |
0 |
— |
|
FA Cup |
3 |
0 |
0 |
— |
|
FA Trophy |
4 |
0 |
0 |
— |
| ▸ 2020–2021 |
Harrogate Town |
20 |
1 |
0 |
6.8 |
|
League Two |
20 |
1 |
0 |
6.8 |
| ▸ 2018–2019 |
Almere City FC II |
8 |
1 |
2 |
— |
|
Tweede Divisie |
8 |
1 |
2 |
— |
| ▸ 2018–2019 |
Almere City FC |
3 |
0 |
0 |
— |
|
Eerste Divisie |
1 |
0 |
0 |
— |
|
KNVB Cup |
2 |
0 |
0 |
— |
Gateshead FC
| Competition | Won | Runner-up |
| FA Trophy ×1 |
2023/2024 |
1 |
Wolverhampton Wanderers
| Competition | Won | Runner-up |
| Premier League Asia Trophy ×1 |
2019 |
— |
Wolverhampton Wanderers U23
| Competition | Won | Runner-up |
| Premier League 2 Div 2 ×1 |
2018/2019 |
— |