Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Crawley | 2025/26 – 2026/27 | 19 | 0 | 0 |
| Bromley | 2026/27 | 1 | 0 | 0 |
| Bradford | 2023/24 – 2025/26 | 65 | 3 | 6 |
| Wolves U21 | 2018 – 2023 | 12 | 0 | 1 |
| Wolves | 2019/20 – 2022/23 | 0 | 0 | — |
| Harrogate Town | 2021/22 – 2022/23 | 21 | 0 | — |
| Wolves U18 | 2017 – 2020 | 27 | 0 | — |
| Republic of Ireland U19 | 2020 | 3 | 1 | — |
| Wolves U23 | 2019 | 12 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 18 Aug 2023 | Wolves U21 | Bradford | — |
| 3 Jan 2023 | Harrogate Town | Wolves U21 | — |
| 18 Nov 2022 | Wolves | Harrogate Town | Loan |
| 10 Nov 2022 | Harrogate Town | Wolves | — |
| 8 Jul 2022 | Wolves | Harrogate Town | Loan |
| 1 Jun 2022 | Harrogate Town | Wolves | — |
| 15 Jan 2026 | Bradford | Crawley Town | Transfer |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | EFL Trophy | Crawley | 1 | 1 | 90 | 0 | 0 | 0 | 0 | 5.99 |
| 2026/27 | League Two | Crawley | 5 | 3 | 245 | 0 | 0 | 0 | 0 | 6.30 |
| 2026/27 | EFL Trophy | Bromley | 1 | 1 | 45 | 0 | 0 | 0 | 0 | 6.89 |
| 2025/26 | EFL Trophy | Bradford | 3 | 3 | 187 | 0 | 1 | 0 | 0 | 6.50 |
| 2025/26 | League Two | Crawley | 13 | 9 | 702 | 0 | 0 | 1 | 0 | 6.82 |
| 2024/25 | League Two | Bradford | 22 | 17 | 1504 | 2 | 1 | 6 | 0 | 6.82 |
| 2024/25 | FA Cup | Bradford | 4 | 4 | 337 | — | 1 | 0 | 0 | 7.13 |
| 2024/25 | League Cup | Bradford | 1 | 1 | 66 | 0 | 0 | 0 | 0 | 7.20 |
| 2024/25 | EFL Trophy | Bradford | 4 | 4 | 337 | 0 | 1 | 0 | 0 | 7.13 |
| 2023/24 | League Two | Bradford | 26 | 20 | 1727 | 0 | 2 | 3 | 0 | 6.83 |
| 2023/24 | EFL Trophy | Bradford | 5 | 5 | 410 | 1 | — | 0 | 0 | 7.18 |
| 2022 | Premier League 2 Division One | Wolves U21 | 1 | 1 | 77 | 0 | — | 0 | 0 | — |
| 2022 | Premier League Cup | Wolves U21 | 2 | 2 | 168 | 0 | — | 0 | 0 | — |
| 2022/23 | EFL Trophy | Harrogate Town | 3 | 3 | 235 | 0 | — | 0 | 0 | 6.90 |
| 2022/23 | League Cup | Harrogate Town | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.90 |
| 2022/23 | League Two | Harrogate Town | 9 | 4 | 410 | 0 | — | 2 | 0 | 6.69 |
| 2021/22 | League Two | Harrogate Town | 8 | 7 | 484 | 0 | — | 1 | 0 | 6.75 |
| 2021 | EFL Trophy | Wolves U21 | 2 | 1 | 116 | 0 | — | 0 | 0 | 6.90 |
| 2020 | EFL Trophy | Wolves U21 | 3 | 3 | 270 | 0 | 1 | 0 | 0 | 6.77 |
| 2020 | UEFA U19 Championship | Republic of Ireland U19 | 3 | 1 | 113 | 1 | — | 0 | 0 | — |
| 2019 | Premier League 2 | Wolves U23 | 10 | 9 | 827 | 0 | — | 3 | 0 | — |
| 2019 | U18 Premier League | Wolves U18 | 3 | 3 | 270 | 0 | — | 2 | 0 | — |
| 2019 | EFL Trophy | Wolves U21 | 4 | 4 | 360 | 0 | — | 0 | 0 | — |
| 2019 | FA Youth Cup | Wolves U18 | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2019 | Premier League International Cup | Wolves U23 | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2018 | U18 Premier League | Wolves U18 | 12 | 12 | 1080 | 0 | — | 3 | 0 | — |
| 2018 | FA Youth Cup | Wolves U18 | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2017 | U18 Premier League | Wolves U18 | 8 | 6 | 531 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Injury | 25 Feb 2025 | 30 May 2025 | 94 |
| Shoulder Injury | 1 Feb 2025 | 23 Feb 2025 | 22 |
Trophies
| Competition | Season | Place |
|---|---|---|
| Premier League Asia Trophy (World) | 2019 | Winner |
