plays for Crewe
| Match | Mins | Goals | Assists | Shots (on) | Rating |
|---|---|---|---|---|---|
| Crewe v Cambridge Β· May 2, 26 Β· EL2 Β· sub | 8 | 0 | 0 | β | 6.5 |
| Chesterfield v Crewe Β· Apr 25, 26 Β· EL2 Β· sub | 18 | 0 | 0 | β | 6.2 |
| Grimsby v Crewe Β· Apr 11, 26 Β· EL2 Β· sub | 14 | 0 | 0 | β | 6.9 |
| Crewe v Fleetwood Town Β· Mar 4, 25 Β· EL2 | 23 | 0 | 0 | β | 6.2 |
| Chesterfield v Crewe Β· Mar 1, 25 Β· EL2 | 72 | 1 | 0 | 4 (2) | 7.6 |
| Gillingham v Crewe Β· Feb 15, 25 Β· EL2 | 55 | 0 | 0 | 1 (1) | 6.3 |
| AFC Wimbledon v Crewe Β· Feb 11, 25 Β· EL2 | 61 | 0 | 0 | β | 6.3 |
| Crewe v Newport County Β· Feb 8, 25 Β· EL2 | 90 | 0 | 0 | β | 6.6 |
| Harrogate v Crewe Β· Feb 1, 25 Β· EL2 | 84 | 0 | 0 | β | 6.6 |
| Crewe v AFC Wimbledon Β· Jan 28, 25 Β· EL2 | 90 | 0 | 0 | 1 | 6.9 |
| Crewe v Accrington Β· Jan 25, 25 Β· EL2 Β· sub | 36 | 0 | 0 | β | 6.3 |
| Morecambe v Crewe Β· Jan 18, 25 Β· EL2 | 89 | 0 | 0 | β | 7.3 |
| Swindon v Crewe Β· Jan 11, 25 Β· EL2 Β· sub | 45 | 0 | 0 | β | 6.6 |
| Crewe v Bromley Β· Jan 5, 25 Β· EL2 Β· sub | 32 | 0 | 0 | β | 6.5 |
| Crewe v Carlisle Β· Jan 1, 25 Β· EL2 | 67 | 0 | 0 | β | 6.2 |
| Match | blocks | conceded | dribbles past | duels | duels won | fouls committed | fouls drawn | interceptions | key passes | passes | red | tackles | yellow |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Crewe v Cambridge | β | 0 | β | 1 | β | β | β | β | β | 4 | 0 | β | 0 |
| Chesterfield v Crewe | β | 0 | β | 1 | β | β | β | 1 | β | 7 | 0 | β | 0 |
| Grimsby v Crewe | 1 | 0 | 1 | 4 | 2 | β | β | β | β | 3 | 0 | β | 0 |
| Crewe v Fleetwood Town | β | 0 | β | 5 | 1 | 1 | β | β | β | 3 | 0 | 1 |
| Season | Team | Apps | Goals | Assists | Minutes | Avg rating |
|---|---|---|---|---|---|---|
| 2025-26 Β· EFL League Two | Crewe | 3 | 0 | 0 | 40 | 6.53 |
| 2024-25 Β· EFL League Two | Crewe | 33 | 6 | 0 | 2,438 | 6.77 |
| 2023-24 Β· EFL League Two | Crewe | 43 | 3 | 4 | 3,161 | 6.77 |
| 2020-21 Β· EFL League Two | Cambridge | 17 | 1 | 1 | 543 | 6.79 |
| 2019-20 Β· EFL League Two | Macclesfield | 7 | 1 | 0 | 509 | 6.46 |
only matches where we hold the full stat line β coverage grows as the history backfill runs
| 0 |
| Chesterfield v Crewe | β | 0 | β | 7 | 2 | β | β | β | 2 | 8 | 0 | 1 | 0 |
| Gillingham v Crewe | 1 | 0 | β | 5 | 1 | 3 | β | β | 1 | 4 | 0 | β | 1 |
| AFC Wimbledon v Crewe | β | 0 | β | 1 | β | β | β | β | 1 | 6 | 0 | β | 0 |
| Crewe v Newport County | β | 0 | β | 7 | 3 | 1 | β | β | 1 | 17 | 0 | β | 0 |
| Harrogate v Crewe | β | 0 | β | 13 | 5 | β | 4 | β | β | 14 | 0 | 1 | 0 |
| Crewe v AFC Wimbledon | β | 0 | β | 14 | 6 | 1 | 1 | β | β | 8 | 0 | 5 | 0 |
| Crewe v Accrington | β | 0 | β | 5 | 1 | β | 1 | β | 2 | 5 | 0 | β | 0 |
| Morecambe v Crewe | β | 0 | β | 15 | 6 | 1 | 2 | β | 2 | 13 | 0 | 2 | 0 |
| Swindon v Crewe | β | 0 | β | 6 | 3 | β | 1 | β | β | 8 | 0 | β | 0 |
| Crewe v Bromley | β | 0 | β | 7 | 2 | β | β | β | β | 4 | 0 | β | 0 |
| Crewe v Carlisle | β | 0 | β | 17 | 3 | 2 | 1 | β | 1 | 6 | 0 | β | 0 |