Age 27
Height 180 cm
Foot Right
Country England
Value €920.5k
Contract 2026-06-30
📈
Form
Rating per season, last 5 matches, and timeline all matches
Season
6.38
17 matches
Last 5
6.64
+0.26 vs season
Best
7.6
vs Derby County
MOTM
0
of 14 matches
Rating by match (last 14)
≥8.0
7.0–8.0
6.0–7.0
5.5–6.0
<5.5
🧬
Attributes
Chances created
Aerial duels
Defensive actions
Goals
Shot attempts
Touches
Filter:
Apps
17
Goals
0
Assists
0
Rating
6.38
Goals
0
0%
Assists
0
0%
Rating
6.41
11%
Matches
16
32%
Started
6
24%
Minutes
577
25%
🎯
Stats compared to other fullbacks
Championship · percentile vs peers
Chances created
4%
Aerial duels
84%
Defensive actions
89%
Goals
0%
Shot attempts
61%
Touches
32%
🎯
Shot Map
5 shots per season
Goals
0
On target
1
xG
0.27
Conversion
0%
Goal
Saved
Off target
🔥
Heatmap
461 touches this season
Attack
Touches
461
Attack
18%
Middle
48%
Ø position
44%
Detailed Stats & Percentiles (Championship)
Shooting
| Stat | Total | Per 90 |
Percentile
avg 27%
|
Per 90 pctl
avg 48%
|
|---|---|---|---|---|
| Goals | 0 | 0.00 |
0
|
0
|
| xG | 0.22 | 0.04 |
28
|
42
|
| xGOT | 0.24 | 0.04 |
36
|
58
|
| xG excl. penalty | 0.22 | 0.04 |
28
|
42
|
| Shots | 5 | 0.78 |
31
|
64
|
| Shots on target | 2 | 0.31 |
40
|
79
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 22%
|
Per 90 pctl
avg 27%
|
|---|---|---|---|---|
| Assists | 0 | 0.00 |
0
|
0
|
| xA | 0.20 | 0.03 |
13
|
8
|
| Accurate passes | 153 | 23.86 |
23
|
29
|
| Pass accuracy | 74.3 | 74.27 |
29
|
29
|
| Accurate long balls | 13 | 2.03 |
35
|
74
|
| Long ball accuracy | 34.2 | 34.21 |
55
|
55
|
| Chances created | 1 | 0.16 |
3
|
4
|
| Successful crosses | 1 | 0.16 |
13
|
17
|
| Cross accuracy | 16.7 | 16.67 |
30
|
30
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 26%
|
Per 90 pctl
avg 40%
|
|---|---|---|---|---|
| Dribbles | 1 | 0.16 |
7
|
14
|
| Dribbles success rate | 25.0 | 25.00 |
11
|
11
|
| Duels won | 31 | 4.84 |
25
|
47
|
| Duels won % | 43.7 | 43.66 |
11
|
11
|
| Aerials won | 12 | 1.87 |
32
|
68
|
| Aerials won % | 38.7 | 38.71 |
18
|
18
|
| Touches | 372 | 58.02 |
23
|
30
|
| Touches in opposition box | 7 | 1.09 |
24
|
38
|
| Dispossessed | 2 | 0.31 |
76
|
75
|
| Fouls won | 9 | 1.40 |
36
|
84
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 41%
|
Per 90 pctl
avg 59%
|
|---|---|---|---|---|
| Defensive actions | 47 | 7.33 |
28
|
64
|
| Tackles | 9 | 1.40 |
22
|
22
|
| Interceptions | 11 | 1.72 |
38
|
88
|
| Blocked scoring attempt | 1 | 0.16 |
14
|
25
|
| Fouls committed | 13 | 2.03 |
50
|
94
|
| Recoveries | 30 | 4.68 |
29
|
81
|
| Dribbled past | 4 | 0.62 |
66
|
46
|
| Clearances | 26 | 4.06 |
29
|
73
|
| Clean sheets | 1 | 0.16 |
30
|
54
|
| Goals conceded while on pitch | 6 | 0.94 |
78
|
84
|
| xG against while on pitch | 9.87 | 1.54 |
70
|
20
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 69%
|
Per 90 pctl
avg 52%
|
|---|---|---|---|---|
| Yellow cards | 3 | 0.47 |
39
|
5
|
| Red cards | 0 | 0.00 |
100
|
100
|
Shooting
| Stat | Total | Per 90 |
Percentile
avg 27%
|
Per 90 pctl
avg 48%
|
|---|---|---|---|---|
| Goals | 0 | 0.00 |
0
|
0
|
| xG | 0.22 | 0.04 |
28
|
42
|
| xGOT | 0.24 | 0.04 |
36
|
58
|
| xG excl. penalty | 0.22 | 0.04 |
28
|
42
|
| Shots | 5 | 0.78 |
31
|
64
|
| Shots on target | 2 | 0.31 |
40
|
79
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 22%
|
Per 90 pctl
avg 27%
|
|---|---|---|---|---|
| Assists | 0 | 0.00 |
0
|
0
|
| xA | 0.20 | 0.03 |
13
|
8
|
| Accurate passes | 153 | 23.86 |
23
|
29
|
| Pass accuracy | 74.3 | 74.27 |
29
|
29
|
| Accurate long balls | 13 | 2.03 |
35
|
74
|
| Long ball accuracy | 34.2 | 34.21 |
55
|
55
|
| Chances created | 1 | 0.16 |
3
|
4
|
| Successful crosses | 1 | 0.16 |
13
|
17
|
| Cross accuracy | 16.7 | 16.67 |
30
|
30
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 26%
|
Per 90 pctl
avg 40%
|
|---|---|---|---|---|
| Dribbles | 1 | 0.16 |
7
|
14
|
| Dribbles success rate | 25.0 | 25.00 |
11
|
11
|
| Duels won | 31 | 4.84 |
25
|
47
|
| Duels won % | 43.7 | 43.66 |
11
|
11
|
| Aerials won | 12 | 1.87 |
32
|
68
|
| Aerials won % | 38.7 | 38.71 |
18
|
18
|
| Touches | 372 | 58.02 |
23
|
30
|
| Touches in opposition box | 7 | 1.09 |
24
|
38
|
| Dispossessed | 2 | 0.31 |
76
|
75
|
| Fouls won | 9 | 1.40 |
36
|
84
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 41%
|
Per 90 pctl
avg 59%
|
|---|---|---|---|---|
| Defensive actions | 47 | 7.33 |
28
|
64
|
| Tackles | 9 | 1.40 |
22
|
22
|
| Interceptions | 11 | 1.72 |
38
|
88
|
| Blocked scoring attempt | 1 | 0.16 |
14
|
25
|
| Fouls committed | 13 | 2.03 |
50
|
94
|
| Recoveries | 30 | 4.68 |
29
|
81
|
| Dribbled past | 4 | 0.62 |
66
|
46
|
| Clearances | 26 | 4.06 |
29
|
73
|
| Clean sheets | 1 | 0.16 |
30
|
54
|
| Goals conceded while on pitch | 6 | 0.94 |
78
|
84
|
| xG against while on pitch | 9.87 | 1.54 |
70
|
20
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 69%
|
Per 90 pctl
avg 52%
|
|---|---|---|---|---|
| Yellow cards | 3 | 0.47 |
39
|
5
|
| Red cards | 0 | 0.00 |
100
|
100
|
Recent Matches (30)
| Date | Opponent | Comp | Score | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|
| 2026-05-11 | vs Hull City | Championship Playoff | 0-2 | 0 | 0 | 0 | |
| 2026-05-08 | @ Hull City | Championship Playoff | 0-0 | 0 | 0 | 0 | |
| 2026-05-02 | vs Oxford United | Championship | 2-0 | 0 | 0 | 0 | |
| 2026-04-24 | @ Leicester City | Championship | 1-1 | 0 | 0 | 0 | |
| 2026-04-21 | @ Stoke City | Championship | 1-3 | 10 | 0 | 0 | 6.0 |
| 2026-04-18 | vs Queens Park Rangers | Championship | 2-0 | 0 | 0 | 0 | |
| 2026-04-10 | @ West Bromwich Albion | Championship | 0-0 | 3 | 0 | 0 | |
| 2026-04-06 | vs Norwich City | Championship | 1-2 | 0 | 0 | 0 | |
| 2026-04-03 | @ Middlesbrough | Championship | 1-2 | 1 | 0 | 0 | |
| 2026-03-21 | @ Ipswich Town | Championship | 1-1 | 0 | 0 | 0 | |
| 2026-03-14 | vs Blackburn Rovers | Championship | 1-2 | 45 | 0 | 0 | 6.1 |
| 2026-03-10 | vs Derby County | Championship | 1-0 | 90 | 0 | 0 | 7.6 |
| 2026-03-07 | @ Hull City | Championship | 1-3 | 90 | 0 | 0 | 7.6 |
| 2026-02-28 | @ Preston North End | Championship | 0-2 | 11 | 0 | 0 | 5.9 |
| 2026-02-25 | vs Birmingham City | Championship | 3-0 | 17 | 0 | 0 | 6.2 |
| 2026-01-24 | vs Charlton Athletic | Championship | 4-0 | 0 | 0 | 0 | |
| 2026-01-20 | @ Coventry City | Championship | 2-1 | 0 | 0 | 0 | |
| 2026-01-17 | @ Watford | Championship | 0-2 | 0 | 0 | 0 | |
| 2026-01-10 | @ Burnley | FA Cup | 5-1 | 24 | 0 | 0 | 5.9 |
| 2026-01-04 | vs Swansea City | Championship | 2-1 | 0 | 0 | 0 | |
| 2026-01-01 | @ Southampton | Championship | 0-0 | 15 | 0 | 0 | 6.3 |
| 2025-12-29 | vs Bristol City | Championship | 2-1 | 34 | 0 | 0 | 6.0 |
| 2025-12-26 | vs Ipswich Town | Championship | 0-0 | 0 | 0 | 0 | |
| 2025-12-20 | @ Blackburn Rovers | Championship | 2-0 | 90 | 0 | 0 | 5.0 |
| 2025-12-13 | vs Hull City | Championship | 1-3 | 0 | 0 | 0 | |
| 2025-12-10 | @ Derby County | Championship | 1-1 | 1 | 0 | 0 | |
| 2025-12-06 | @ Bristol City | Championship | 0-1 | 16 | 0 | 0 | 6.3 |
| 2025-11-29 | vs Southampton | Championship | 3-2 | 74 | 0 | 0 | 7.6 |
| 2025-11-26 | vs Sheffield Wednesday | Championship | 1-0 | 18 | 0 | 0 | 6.4 |
| 2025-11-22 | @ Portsmouth | Championship | 3-1 | 62 | 0 | 0 | 6.3 |
Career
| Season | Team | Type | Apps | G | A | Rating |
|---|---|---|---|---|---|---|
| 2025/2026 | Millwall | senior | 17 | 0 | 0 | 6.38 |
| 2024/2025 | Millwall | senior | 15 | 0 | 0 | 6.82 |
| 2023/2024 | Millwall | senior | 35 | 0 | 0 | 6.67 |
| 2022/2023 | Millwall | senior | 44 | 0 | 1 | 7.04 |
| 2021/2022 | Millwall | senior | 38 | 2 | 2 | 7.06 |
| 2020/2021 | Millwall | senior | 17 | 0 | 1 | 6.70 |
| 2020/2021 | St. Johnstone | senior | 22 | 1 | 0 | 6.69 |
| 2019/2020 | Newport County | senior | 23 | 0 | 0 | 6.58 |
| 2018/2019 | Havant and Waterlooville | senior | 4 | 1 | 0 | - |
| 2018/2019 | Dover | senior | 8 | 1 | 0 | - |
| 2018/2019 | Welling United | senior | 9 | 0 | 0 | - |
| 2021 | Ireland U21 | national team | 2 | 0 | 0 | - |
Transfer Value History
Teammates
Adam Mayor
Ajay Matthews
Kamarl Grant
Wes Harding
Lukas Bornhøft Jensen
Zak Sturge
Tristan Crama
Jake Cooper
Caleb Taylor
Thierno Ballo
Billy Mitchell
Mihailo Ivanovic
Camiel Neghli
Femi Azeez
Anthony Patterson
Alfie Doughty
Max Crocombe
Daniel Kelly
Macaulay Langstaff
Ryan Leonard
Josh Coburn
Massimo Luongo
Joe Bryan
Casper de Norre
Luke Cundle
Benicio Baker-Boaitey
Zak Lovelace
Raees Bangura-Williams
Sheldon Kendall
William Smallbone
George Evans
Joel Coleman
Derek Mazou-Sacko
Barry Bannan
Millwall