Most appearances for Morecambe 131 recorded matches Highest-scoring season 2020 32 goals · League Two Most goals against Morecambe 9 goals in the match history Most starts alongside Kyle Knoyle 54 starts together Results and matches 2026/27 · Appearances 18 Matches
1,172 recorded Minutes
8 Goals
0 recorded Assists
2–8–8 W–D–L
6,88 Season rating
Results and form across 18 recorded appearances. Goals recorded in 18, assists in 17 and minutes in 17 matches. Club and national-team matches are included.
Career statistics Club summary Matches Connections Career statistics Season Teams Competition M Min Goals A M+A ★ 2014/15 Morecambe League Two42 1 877 8 — — 4 0 — 2015/16 Morecambe League Two40 1 399 9 — — 3 0 — 2016/17 Morecambe League Cup2 73 0 — — 0 0 — 2016/17 Morecambe League Two40 2 500 8 — — 7 0 — 2016/17 Morecambe FA Cup2 51 0 — — 0 0 — 2017/18 Swindon Town League Two40 2 047 6 — — 5 0 — 2017/18 Swindon Town League Cup1 90 1 — — 0 0 — 2017/18 Swindon Town FA Cup2 144 1 — — 1 0 7,2 2018/19 Tranmere League Cup1 90 0 — — 0 0 — 2018/19 Tranmere League Two22 828 5 — — 2 0 — 2018/19 Tranmere FA Cup5 262 1 1 2 0 0 7,23 2019/20 Tranmere League One20 904 3 1 4 4 0 6,73 2019/20 Tranmere League Cup1 28 0 — — 0 0 6,9 2019/20 Tranmere FA Cup4 90 2 — — 0 0 6,5 2019/20 Cambridge United League Two6 445 2 — — 0 0 6,78 2020/21 Cambridge United League Cup2 98 0 — — 1 0 6,6 2020/21 Cambridge United League Two46 3 936 32 4 36 5 0 7,12 2021/22 Wrexham FA Cup2 180 2 — — 0 0 — 2022/23 Wrexham FA Cup7 534 9 — — 1 0 7,77 2023 Wrexham Friendlies Clubs1 19 0 — — 0 0 — 2023/24 Wrexham League Two38 3 017 24 7 31 7 0 7,52 2023/24 Wrexham FA Cup4 346 1 — — 0 0 6,97 2024/25 Wrexham League One26 1 152 3 0 3 3 0 6,72 2024/25 Wrexham FA Cup1 90 0 0 0 1 0 7,3 2025/26 Wigan League One20 680 4 1 5 1 0 6,71 2025/26 Wigan League Cup3 148 1 0 1 0 0 6,53 2025/26 Bradford League One9 277 0 0 0 2 0 6,33 2026 Rotherham League Cup1 62 0 0 0 0 0 6,3 2026/27 Rotherham League Two14 1 004 8 0 8 1 0 6,93 2026 Rotherham EFL Trophy2 46 0 0 0 0 0 6,41
Ordered by the first recorded appearance for each team, competition and season, oldest first. If a player’s match date is unavailable, the team’s match date or the season start is used. Missing data is shown as —.