plays for Harrogate
| Match | Mins | Goals | Assists | Shots (on) | Rating |
|---|---|---|---|---|---|
| Salford v Harrogate Β· Dec 26, 25 Β· EL2 | 44 | 0 | 0 | β | 6.9 |
| Harrogate v Milton Keynes Dons Β· Dec 20, 25 Β· EL2 Β· sub | 45 | 0 | 0 | β | 6.5 |
| Harrogate v Newport County Β· Oct 25, 25 Β· EL2 | 90 | 0 | 0 | β | 6.9 |
| Bromley v Harrogate Β· Aug 30, 25 Β· EL2 | 90 | 0 | 0 | β | 6.7 |
| Harrogate v Chesterfield Β· Aug 23, 25 Β· EL2 | 81 | 0 | 0 | β | 7.2 |
| Harrogate v Barrow Β· Aug 19, 25 Β· EL2 | 90 | 0 | 0 | β | 7.3 |
| Cambridge v Harrogate Β· Aug 16, 25 Β· EL2 | 90 | 0 | 0 | β | 6.3 |
| Harrogate v Grimsby Β· Aug 9, 25 Β· EL2 | 90 | 0 | 0 | β | 6.3 |
| Cheltenham v Carlisle Β· Apr 26, 25 Β· EL2 | 78 | 0 | 0 | β | 6.7 |
| Notts County v Cheltenham Β· Apr 21, 25 Β· EL2 | 90 | 0 | 0 | β | 6.9 |
| Cheltenham v Gillingham Β· Apr 18, 25 Β· EL2 Β· sub | 45 | 0 | 0 | β | 6.9 |
| Crewe v Cheltenham Β· Apr 10, 25 Β· EL2 | 90 | 0 | 0 | β | 6.7 |
| Cheltenham v Doncaster Β· Apr 5, 25 Β· EL2 | 89 | 0 | 0 | β | 7.0 |
| Morecambe v Cheltenham Β· Apr 1, 25 Β· EL2 | 73 | 0 | 0 | β | 6.9 |
| Tranmere v Cheltenham Β· Mar 28, 25 Β· EL2 | 90 | 0 | 0 | β | 7.2 |
| Match | blocks | conceded | dribbles past | duels | duels won | fouls committed | fouls drawn | interceptions | key passes | passes | red | tackles | yellow |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Salford v Harrogate | 1 | 0 | β | 6 | 3 | β | β | β | β | 10 | 0 | β | 0 |
| Harrogate v Milton Keynes Dons | β | 0 | 1 | 7 | 4 | 1 | 1 | 1 | β | 20 | 0 | 1 | 0 |
| Harrogate v Newport County | β | 0 | β | 19 | 16 | β | 3 | β | 1 | 52 | 0 | 3 | 0 |
| Bromley v Harrogate | β | 0 | β | 19 | 12 | 1 | β | 4 | β | 25 | 0 | β |
| Season | Team | Apps | Goals | Assists | Minutes | Avg rating |
|---|---|---|---|---|---|---|
| 2025-26 Β· EFL League Two | Harrogate | 8 | 0 | 0 | 620 | 6.76 |
| 2024-25 Β· EFL League Two | Cheltenham | 39 | 1 | 3 | 3,411 | 6.89 |
| 2023-24 Β· EFL League One | Cheltenham | 22 | 0 | 2 | 1,524 | 6.80 |
only matches where we hold the full stat line β coverage grows as the history backfill runs
| 0 |
| Harrogate v Chesterfield | β | 0 | 1 | 14 | 11 | β | 1 | β | β | 39 | 0 | 2 | 0 |
| Harrogate v Barrow | β | 0 | β | 12 | 9 | β | β | β | β | 43 | 0 | β | 0 |
| Cambridge v Harrogate | β | 0 | β | 9 | 6 | 1 | β | 1 | β | 24 | 0 | 1 | 0 |
| Harrogate v Grimsby | β | 0 | β | 13 | 8 | 2 | 4 | 1 | β | 17 | 0 | β | 1 |
| Cheltenham v Carlisle | β | 0 | β | 7 | 6 | 1 | β | 3 | β | 12 | 0 | 1 | 0 |
| Notts County v Cheltenham | 2 | 0 | 1 | 5 | 3 | β | 1 | 1 | β | 24 | 0 | 1 | 0 |
| Cheltenham v Gillingham | 3 | 0 | β | 9 | 2 | 1 | β | 1 | 1 | 8 | 0 | β | 0 |
| Crewe v Cheltenham | β | 0 | β | 14 | 8 | 1 | β | β | β | 20 | 0 | 2 | 0 |
| Cheltenham v Doncaster | 1 | 0 | 2 | 14 | 10 | β | 2 | 1 | 1 | 22 | 0 | 1 | 0 |
| Morecambe v Cheltenham | β | 0 | β | 12 | 7 | 4 | 1 | 2 | 1 | 15 | 0 | β | 0 |
| Tranmere v Cheltenham | 3 | 0 | β | 6 | 6 | β | 1 | 1 | β | 32 | 0 | 1 | 0 |