Age 33
Height 188 cm
Foot Right
Country Ireland
Value €152.1k
Contract 2026-06-30
📈
Form
Rating per season, last 5 matches, and timeline all matches
Season
7.06
30 matches
Last 5
6.40
-0.66 vs season
Best
7.9
vs Leyton Orient
MOTM
1
of 25 matches
Rating by match (last 25)
≥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
30
Goals
0
Assists
1
Rating
7.06
Goals
0
0%
Assists
1
39%
Rating
6.98
73%
Matches
23
43%
Started
12
32%
Minutes
1170
36%
🎯
Stats compared to other fullbacks
League One · percentile vs peers
Chances created
91%
Aerial duels
97%
Defensive actions
75%
Goals
0%
Shot attempts
96%
Touches
98%
🎯
Shot Map
22 shots per season
Goals
0
On target
15
xG
1.24
Conversion
0%
Goal
Saved
Off target
🔥
Heatmap
1327 touches this season
Attack
Touches
1327
Attack
31%
Middle
39%
Ø position
50%
Detailed Stats & Percentiles (League One)
Shooting
| Stat | Total | Per 90 |
Percentile
avg 57%
|
Per 90 pctl
avg 71%
|
|---|---|---|---|---|
| Goals | 0 | 0.00 |
0
|
0
|
| xG | 1.24 | 0.10 |
70
|
89
|
| xGOT | 0.49 | 0.04 |
54
|
56
|
| xG excl. penalty | 1.24 | 0.10 |
70
|
89
|
| Shots | 22 | 1.69 |
77
|
97
|
| Shots on target | 5 | 0.38 |
67
|
89
|
| Headed shots | 2 | 0.15 |
62
|
76
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 60%
|
Per 90 pctl
avg 75%
|
|---|---|---|---|---|
| Assists | 1 | 0.08 |
39
|
62
|
| xA | 1.88 | 0.14 |
63
|
84
|
| Accurate passes | 549 | 42.23 |
60
|
91
|
| Pass accuracy | 79.8 | 79.80 |
82
|
82
|
| Accurate long balls | 27 | 2.08 |
50
|
76
|
| Long ball accuracy | 34.2 | 34.18 |
63
|
63
|
| Chances created | 19 | 1.46 |
62
|
88
|
| Big chances created | 3 | 0.23 |
65
|
76
|
| Successful crosses | 16 | 1.23 |
70
|
88
|
| Cross accuracy | 20.8 | 20.78 |
42
|
42
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 52%
|
Per 90 pctl
avg 64%
|
|---|---|---|---|---|
| Dribbles | 10 | 0.77 |
54
|
66
|
| Dribbles success rate | 34.5 | 34.48 |
26
|
26
|
| Duels won | 84 | 6.46 |
39
|
71
|
| Duels won % | 54.5 | 54.55 |
52
|
52
|
| Aerials won | 47 | 3.62 |
67
|
91
|
| Aerials won % | 69.1 | 69.12 |
92
|
92
|
| Touches | 1149 | 88.38 |
49
|
96
|
| Touches in opposition box | 28 | 2.15 |
60
|
82
|
| Dispossessed | 9 | 0.69 |
55
|
43
|
| Fouls won | 8 | 0.62 |
25
|
23
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 46%
|
Per 90 pctl
avg 64%
|
|---|---|---|---|---|
| Defensive actions | 106 | 8.15 |
41
|
74
|
| Tackles | 19 | 1.46 |
26
|
17
|
| Interceptions | 20 | 1.54 |
58
|
88
|
| Blocked scoring attempt | 6 | 0.46 |
43
|
69
|
| Fouls committed | 15 | 1.15 |
41
|
62
|
| Penalties conceded | 1 | 0.08 |
3
|
4
|
| Recoveries | 56 | 4.31 |
42
|
70
|
| Possession won final 3rd | 4 | 0.31 |
50
|
71
|
| Dribbled past | 7 | 0.54 |
64
|
66
|
| Clearances | 61 | 4.69 |
46
|
77
|
| Clean sheets | 3 | 0.23 |
43
|
64
|
| Goals conceded while on pitch | 12 | 0.92 |
76
|
92
|
| xG against while on pitch | 14.49 | 1.11 |
68
|
75
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 71%
|
Per 90 pctl
avg 68%
|
|---|---|---|---|---|
| Yellow cards | 3 | 0.23 |
43
|
36
|
| Red cards | 0 | 0.00 |
100
|
100
|
Shooting
| Stat | Total | Per 90 |
Percentile
avg 57%
|
Per 90 pctl
avg 71%
|
|---|---|---|---|---|
| Goals | 0 | 0.00 |
0
|
0
|
| xG | 1.24 | 0.10 |
70
|
89
|
| xGOT | 0.49 | 0.04 |
54
|
56
|
| xG excl. penalty | 1.24 | 0.10 |
70
|
89
|
| Shots | 22 | 1.69 |
77
|
97
|
| Shots on target | 5 | 0.38 |
67
|
89
|
| Headed shots | 2 | 0.15 |
62
|
76
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 60%
|
Per 90 pctl
avg 75%
|
|---|---|---|---|---|
| Assists | 1 | 0.08 |
39
|
62
|
| xA | 1.88 | 0.14 |
63
|
84
|
| Accurate passes | 549 | 42.23 |
60
|
91
|
| Pass accuracy | 79.8 | 79.80 |
82
|
82
|
| Accurate long balls | 27 | 2.08 |
50
|
76
|
| Long ball accuracy | 34.2 | 34.18 |
63
|
63
|
| Chances created | 19 | 1.46 |
62
|
88
|
| Big chances created | 3 | 0.23 |
65
|
76
|
| Successful crosses | 16 | 1.23 |
70
|
88
|
| Cross accuracy | 20.8 | 20.78 |
42
|
42
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 52%
|
Per 90 pctl
avg 64%
|
|---|---|---|---|---|
| Dribbles | 10 | 0.77 |
54
|
66
|
| Dribbles success rate | 34.5 | 34.48 |
26
|
26
|
| Duels won | 84 | 6.46 |
39
|
71
|
| Duels won % | 54.5 | 54.55 |
52
|
52
|
| Aerials won | 47 | 3.62 |
67
|
91
|
| Aerials won % | 69.1 | 69.12 |
92
|
92
|
| Touches | 1149 | 88.38 |
49
|
96
|
| Touches in opposition box | 28 | 2.15 |
60
|
82
|
| Dispossessed | 9 | 0.69 |
55
|
43
|
| Fouls won | 8 | 0.62 |
25
|
23
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 46%
|
Per 90 pctl
avg 64%
|
|---|---|---|---|---|
| Defensive actions | 106 | 8.15 |
41
|
74
|
| Tackles | 19 | 1.46 |
26
|
17
|
| Interceptions | 20 | 1.54 |
58
|
88
|
| Blocked scoring attempt | 6 | 0.46 |
43
|
69
|
| Fouls committed | 15 | 1.15 |
41
|
62
|
| Penalties conceded | 1 | 0.08 |
3
|
4
|
| Recoveries | 56 | 4.31 |
42
|
70
|
| Possession won final 3rd | 4 | 0.31 |
50
|
71
|
| Dribbled past | 7 | 0.54 |
64
|
66
|
| Clearances | 61 | 4.69 |
46
|
77
|
| Clean sheets | 3 | 0.23 |
43
|
64
|
| Goals conceded while on pitch | 12 | 0.92 |
76
|
92
|
| xG against while on pitch | 14.49 | 1.11 |
68
|
75
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 71%
|
Per 90 pctl
avg 68%
|
|---|---|---|---|---|
| Yellow cards | 3 | 0.23 |
43
|
36
|
| Red cards | 0 | 0.00 |
100
|
100
|
Recent Matches (40)
| Date | Opponent | Comp | Score | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|
| 2026-05-24 | vs Stockport County | League One Playoff | 4-1 | 14 | 0 | 0 | 6.7 |
| 2026-05-14 | @ Bradford City | League One Playoff | 0-1 | 0 | 0 | 0 | |
| 2026-05-09 | vs Bradford City | League One Playoff | 1-0 | 0 | 0 | 0 | |
| 2026-05-02 | vs Luton Town | League One | 2-3 | 4 | 0 | 0 | |
| 2026-04-25 | @ Bradford City | League One | 1-1 | 90 | 0 | 0 | 6.6 |
| 2026-04-18 | vs Huddersfield Town | League One | 3-3 | 12 | 0 | 0 | 6.7 |
| 2026-04-14 | vs Stevenage | League One | 5-1 | 0 | 0 | 0 | |
| 2026-04-11 | @ Cardiff City | League One | 2-0 | 60 | 0 | 0 | 5.9 |
| 2026-04-06 | vs Stockport County | League One | 2-2 | 0 | 0 | 0 | |
| 2026-04-03 | @ Plymouth Argyle | League One | 1-2 | 26 | 0 | 0 | 6.1 |
| 2026-03-21 | @ Port Vale | League One | 1-0 | 16 | 0 | 0 | 6.1 |
| 2026-03-17 | vs Doncaster Rovers | League One | 0-0 | 63 | 0 | 0 | 6.8 |
| 2026-03-14 | @ Rotherham United | League One | 2-2 | 23 | 0 | 0 | 6.7 |
| 2026-02-28 | @ Exeter City | League One | 1-5 | 0 | 0 | 0 | |
| 2026-02-21 | vs Blackpool | League One | 2-2 | 0 | 0 | 0 | |
| 2026-02-17 | @ Reading | League One | 1-1 | 8 | 0 | 0 | |
| 2026-02-14 | @ Lincoln City | League One | 1-1 | 0 | 0 | 0 | |
| 2026-02-07 | vs Barnsley | League One | 3-2 | 20 | 0 | 0 | 6.8 |
| 2026-01-31 | @ AFC Wimbledon | League One | 0-1 | 7 | 0 | 0 | |
| 2026-01-27 | vs Burton Albion | League One | 2-1 | 65 | 0 | 0 | 6.6 |
| 2026-01-24 | vs Leyton Orient | League One | 2-1 | 64 | 0 | 0 | 7.9 ⭐ |
| 2026-01-20 | @ Stevenage | League One | 0-0 | 0 | 0 | 0 | |
| 2026-01-17 | @ Wigan Athletic | League One | 0-1 | 0 | 0 | 0 | |
| 2026-01-13 | vs Port Vale | EFL Trophy | 0-1 | 90 | 0 | 0 | 7.7 |
| 2026-01-10 | @ Peterborough United | League One | 3-1 | 46 | 0 | 0 | 6.9 |
| 2026-01-04 | vs Northampton Town | League One | 0-0 | 76 | 0 | 0 | 7.7 |
| 2025-12-26 | vs Rotherham United | League One | 2-1 | 90 | 0 | 0 | 7.6 |
| 2025-12-20 | @ Wycombe Wanderers | League One | 2-1 | 17 | 0 | 0 | 6.1 |
| 2025-12-13 | vs Exeter City | League One | 2-1 | 61 | 0 | 0 | 7.0 |
| 2025-12-09 | @ Mansfield Town | League One | 0-1 | 90 | 0 | 0 | 7.8 |
| 2025-12-06 | @ Swindon Town | FA Cup | 4-0 | 34 | 0 | 0 | |
| 2025-12-02 | vs Bradford City | EFL Trophy | 3-0 | 90 | 0 | 0 | 7.9 |
| 2025-11-22 | vs Bradford City | League One | 0-0 | 90 | 0 | 0 | 7.8 |
| 2025-11-08 | vs Port Vale | League One | 4-0 | 90 | 0 | 0 | 7.9 |
| 2025-11-01 | vs Huddersfield Town | FA Cup | 2-1 | 90 | 0 | 0 | |
| 2025-10-16 | @ Huddersfield Town | League One | 1-2 | 0 | 0 | 0 | |
| 2025-10-11 | @ Burton Albion | League One | 3-0 | 66 | 0 | 0 | 7.0 |
| 2025-10-04 | vs Peterborough United | League One | 2-1 | 86 | 0 | 1 | 7.8 |
| 2025-09-23 | vs Manchester City U21 | EFL Trophy Northern Grp. E | 3-0 | 75 | 0 | 0 | 7.9 |
| 2025-09-02 | vs Rotherham United | EFL Trophy Northern Grp. E | 1-0 | 45 | 0 | 0 | 7.0 |
Career
| Season | Team | Type | Apps | G | A | Rating |
|---|---|---|---|---|---|---|
| 2025/2026 | Bolton Wanderers | senior | 30 | 0 | 1 | 7.06 |
| 2024/2025 | Swansea City | senior | 12 | 0 | 0 | 6.18 |
| 2023/2024 | Hull City | senior | 28 | 0 | 2 | 6.75 |
| 2022/2023 | Hull City | senior | 28 | 3 | 1 | 7.03 |
| 2021/2022 | Swansea City | senior | 23 | 3 | 4 | 7.09 |
| 2021/2022 | Fulham | senior | 1 | 0 | 0 | 7.07 |
| 2020/2021 | Nottingham Forest | senior | 44 | 0 | 3 | 7.02 |
| 2019/2020 | Fulham | senior | 30 | 1 | 1 | 6.67 |
| 2018/2019 | Fulham | senior | 31 | 1 | 1 | 6.41 |
| 2017/2018 | Fulham | senior | 6 | 0 | 1 | 7.13 |
| 2017/2018 | Middlesbrough | senior | 26 | 1 | 4 | 7.13 |
| 2016/2017 | Derby County | senior | 30 | 1 | 0 | 7.03 |
| 2015/2016 | Derby County | senior | 45 | 1 | 3 | - |
| 2014/2015 | Derby County | senior | 44 | 0 | 6 | - |
| 2013/2014 | Coventry City | senior | 40 | 0 | 0 | - |
| 2012/2013 | Coventry City | senior | 39 | 3 | 0 | - |
| 2011/2012 | Coventry City | senior | 39 | 0 | 3 | - |
| 2010/2011 | Hinckley United FC | senior | 7 | 0 | 0 | - |
| 2010/2011 | Nuneaton Borough FC | senior | 5 | 0 | 0 | - |
| 2010/2011 | Coventry City | senior | 1 | 0 | 0 | - |
| 2021/2022 | Fulham U23 | youth | 1 | 0 | 1 | - |
| 2022/2023 | Ireland | national team | 1 | 0 | 0 | - |
| 2021 | Ireland | national team | 2 | 0 | 0 | 7.20 |
| 2020 | Ireland | national team | 3 | 0 | 0 | 5.26 |
| 2019 | Ireland | national team | 1 | 0 | 0 | - |
| 2018 | Ireland | national team | 14 | 0 | 1 | 7.00 |
| 2017 | Ireland | national team | 3 | 1 | 0 | - |
| 2016 | Ireland | national team | 5 | 1 | 0 | - |
| 2014 | Ireland | national team | 1 | 0 | 0 | - |
Transfer Value History
Teammates
Carlos Mendes
Charlie Warren
Joel Randall
Luke Hutchinson
Sam Inwood
Jack Bonham
Chris Forino-Joseph
Xavier Simons
Richard Taylor
George Johnston
Josh Sheehan
Johnny Kenny
Sam Dalby
Thierry Gale
Nathan Broome
Jordi Osei-Tutu
Rob Apter
Eoin Toal
Ibrahim Cissoko
Ethan Erhahon
Kyle Dempsey
David Harrington
Max Conway
Lewis Temple
Ruben Rodrigues
Corey Blackett-Taylor
Daeshon Lawrence
John McAtee
Mason Burstow
Tobias Ritchie
Bolton Wanderers