Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Swindon | 2021/22 – 2026/27 | 34 | 0 | 0 |
| Wimbledon | 2024/25 | 4 | 0 | 0 |
| Charlton | 2023/24 | 0 | 0 | — |
| Sutton Utd | 2022/23 | 10 | 0 | — |
| Exeter | 2019/20 – 2020/21 | 33 | 0 | — |
| Portsmouth | 2019/20 – 2020/21 | 0 | 0 | — |
| Reading | 2018/19 | 0 | 0 | — |
| Forest Green | 2018/19 | 14 | 0 | — |
| Northampton | 2018/19 | 5 | 0 | — |
| Hungerford Town | 2016/17 – 2017/18 | 27 | 0 | — |
| Aldershot Town | 2017/18 | 25 | 0 | — |
| Fylkir | 2016/17 | 3 | 0 | — |
| Margate | 2016/17 | 14 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 11 Jul 2024 | Charlton | AFC Wimbledon | Free |
| 22 Jan 2024 | Swindon Town | Charlton | Free |
| 20 Aug 2023 | Sutton Utd | Swindon Town | Free |
| 1 Sept 2022 | Swindon Town | Sutton Utd | — |
| 27 Jul 2021 | Portsmouth | Swindon Town | — |
| 1 Feb 2021 | Exeter City | Portsmouth | Loan |
| 1 Jul 2019 | Reading | Exeter City | Free |
| 27 Jul 2018 | Reading | Northampton | Loan |
| 1 Jul 2018 | Aldershot Town | Reading | — |
| 10 Nov 2017 | Reading | Aldershot Town | Loan |
| 17 Mar 2017 | Reading | Hungerford Town | Loan |
| 17 Feb 2017 | Reading | Margate | Loan |
| 3 Aug 2016 | Reading | Margate | Loan |
| 5 May 2016 | Reading | Fylkir | Loan |
| 24 Mar 2016 | Reading | Sutton Utd | Loan |
| 1 Jul 2014 | Reading | Whitehawk | Loan |
| 2 Jul 2025 | AFC Wimbledon | Swindon Town | Free Transfer |
| 30 Jun 2025 | AFC Wimbledon | Swindon Town | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | EFL Trophy | Swindon | 1 | 1 | 180 | 0 | 0 | 0 | 0 | 5.97 |
| 2025/26 | League Cup | Swindon | 1 | 0 | 41 | 0 | 0 | 0 | 0 | 8.30 |
| 2025/26 | EFL Trophy | Swindon | 5 | 5 | 360 | 0 | 0 | 0 | 0 | 7.35 |
| 2024/25 | EFL Trophy | Wimbledon | 4 | 4 | 360 | 0 | 0 | 0 | 0 | 6.58 |
| 2023/24 | League Two | Swindon | 5 | 4 | 379 | 0 | — | 0 | 0 | 6.82 |
| 2023/24 | EFL Trophy | Swindon | 3 | 3 | 269 | 0 | — | 0 | 0 | 6.50 |
| 2022/23 | League Two | Sutton Utd | 9 | 9 | 810 | 0 | — | 0 | 0 | 6.61 |
| 2022/23 | FA Cup | Sutton Utd | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | League Cup | Swindon | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.30 |
| 2022/23 | EFL Trophy | Swindon | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2021/22 | League Two | Swindon | 11 | 11 | 1020 | 0 | — | 0 | 0 | 6.91 |
| 2021/22 | League Cup | Swindon | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.20 |
| 2021/22 | FA Cup | Swindon | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.70 |
| 2021/22 | EFL Trophy | Swindon | 4 | 4 | 360 | 0 | — | 0 | 0 | 6.90 |
| 2020/21 | League Two | Exeter | 8 | 8 | 720 | 0 | — | 0 | 0 | 6.92 |
| 2020/21 | League Cup | Exeter | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.30 |
| 2020/21 | FA Cup | Exeter | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.30 |
| 2019/20 | League Two | Exeter | 21 | 21 | 1890 | 0 | — | 0 | 0 | 6.54 |
| 2019/20 | EFL Trophy | Exeter | 2 | 2 | 180 | 0 | — | 0 | 0 | 6.50 |
| 2018/19 | League Two | Forest Green | 14 | 13 | 1199 | 0 | — | 1 | 0 | — |
| 2018/19 | League Cup | Northampton | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2018/19 | EFL Trophy | Northampton | 4 | 4 | 360 | 0 | — | 0 | 0 | — |
| 2017/18 | National League | Aldershot Town | 25 | 25 | 2280 | 0 | — | 1 | 0 | — |
| 2017/18 | National League N / S | Hungerford Town | 17 | 17 | 1530 | 0 | — | 0 | 0 | — |
| 2016/17 | National League N / S | Hungerford Town | 10 | 10 | 900 | 0 | — | 0 | 0 | — |
| 2016/17 | Úrvalsdeild | Fylkir | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2016/17 | FA Cup | Margate | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2016/17 | National League N / S | Margate | 13 | 13 | 1126 | 0 | — | 0 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
| Competition | Season | Place |
|---|---|---|
| BBFA Senior Cup (England) | 2016/2017 | 2nd Place |
