Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Chesterfield | 2023/24 – 2026/27 | 88 | 0 | 7 |
| Bristol Rovers | 2022/23 – 2023/24 | 73 | 0 | 1 |
| Brentford | 2020/21 – 2021/22 | 2 | 0 | — |
| St Albans City | 2019/20 | 7 | 0 | — |
| Watford U18 | 2017 – 2018 | 3 | 1 | — |
| Scotland U17 | 2018 | 2 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 14 Jun 2024 | Bristol Rovers | Chesterfield | Free |
| 4 Aug 2022 | Brentford | Bristol Rovers | — |
| 4 Sept 2020 | St Albans City | Brentford | Free |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Chesterfield | 1 | 1 | 84 | 0 | 0 | 0 | 0 | 7.30 |
| 2026/27 | EFL Trophy | Chesterfield | 1 | 0 | 7 | 0 | 1 | 0 | 0 | 6.24 |
| 2026/27 | League Two | Chesterfield | 12 | 12 | 1038 | 0 | 0 | 3 | 0 | 6.46 |
| 2025/26 | League Cup | Chesterfield | 1 | 1 | 90 | 0 | 0 | 0 | 0 | 6.50 |
| 2025/26 | EFL Trophy | Chesterfield | 3 | 0 | 50 | 0 | 0 | 0 | 0 | 6.43 |
| 2025/26 | FA Cup | Chesterfield | 2 | 2 | 90 | 0 | 0 | 0 | 0 | 6.30 |
| 2025/26 | League Two | Chesterfield | 30 | 28 | 2401 | 0 | 2 | 3 | 0 | 6.74 |
| 2024/25 | League Two | Chesterfield | 35 | 33 | 2765 | — | 4 | 2 | 0 | 6.91 |
| 2024/25 | FA Cup | Chesterfield | 1 | 0 | 25 | — | 0 | 0 | 0 | 6.20 |
| 2024/25 | League Cup | Chesterfield | 1 | 1 | 90 | 0 | 0 | 0 | 0 | 7.00 |
| 2024/25 | EFL Trophy | Chesterfield | 1 | 0 | 25 | 0 | 0 | 0 | 0 | 6.20 |
| 2023/24 | League One | Bristol Rovers | 22 | 15 | 1345 | 0 | — | 0 | 0 | 6.62 |
| 2023/24 | League Cup | Bristol Rovers | 1 | 1 | 77 | 0 | — | 0 | 0 | 6.90 |
| 2023/24 | EFL Trophy | Bristol Rovers | 4 | 2 | 153 | 0 | — | 0 | 0 | 6.80 |
| 2023/24 | FA Cup | Bristol Rovers | 1 | 1 | 80 | 0 | — | 0 | 0 | — |
| 2022/23 | League One | Bristol Rovers | 39 | 37 | 2991 | 0 | 1 | 3 | 0 | 6.55 |
| 2022/23 | League Cup | Bristol Rovers | 1 | 1 | 64 | 0 | — | 0 | 0 | 6.70 |
| 2022/23 | EFL Trophy | Bristol Rovers | 3 | 3 | 205 | 0 | — | 0 | 0 | 6.50 |
| 2022/23 | FA Cup | Bristol Rovers | 2 | 2 | 136 | 0 | — | 0 | 0 | 6.30 |
| 2021/22 | Friendlies Clubs | Brentford | 1 | 0 | 14 | 0 | — | 0 | 0 | — |
| 2020/21 | FA Cup | Brentford | 1 | 1 | 71 | 0 | — | 0 | 0 | 6.90 |
| 2019/20 | National League - South | St Albans City | 7 | 7 | 630 | 0 | — | 0 | 0 | — |
| 2018 | FA Youth Cup | Watford U18 | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2018 | UEFA U17 Championship | Scotland U17 | 2 | 2 | 163 | 0 | — | 0 | 0 | — |
| 2017 | FA Youth Cup | Watford U18 | 2 | 2 | 180 | 1 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Injury | 14 Dec 2024 | 6 Mar 2025 | 82 |
Trophies
| Competition | Season | Place |
|---|---|---|
| Hertfordshire Senior Challenge Cup (England) | 2019/2020 | Winner |
