Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Scotland U21 | 2023 – 2025 | 5 | 0 | — |
| Dunfermline | 2024/25 | 18 | 1 | — |
| Oostende | 2022/23 – 2023/24 | 9 | 0 | — |
| Watford | 2022/23 | 0 | 0 | — |
| Watford U21 | 2022 | 1 | 0 | — |
| Wimbledon | 2021/22 | 32 | 2 | 2 |
| Scotland U19 | 2019 – 2020 | 8 | 2 | — |
| Queen of the South | 2020/21 | 12 | 2 | — |
| Rangers | 2018/19 – 2019/20 | 1 | 0 | — |
| Rangers U21 | 2019 | 5 | 2 | — |
| Rangers U19 | 2019 | 3 | 1 | — |
| Scotland U17 | 2018 | 6 | 1 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 2 Oct 2024 | Oostende | Dunfermline | Free |
| 1 Jul 2021 | Queen of the South | Rangers | — |
| 22 Jan 2021 | Rangers | Queen of the South | Loan |
| 29 Jun 2025 | Dunfermline | Arbroath | - |
| 18 Oct 2025 | Dunfermline | Arbroath | Free agent |
| 30 Jun 2026 | Arbroath | Airdrie United | Free agent |
| 29 Jun 2026 | Arbroath | Airdrie United | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2024/25 | Championship | Dunfermline | 14 | 5 | 623 | 0 | — | 1 | 0 | — |
| 2024/25 | Challenge Cup | Dunfermline | 2 | 2 | 80 | 0 | — | 0 | 0 | — |
| 2024/25 | FA Cup | Dunfermline | 2 | 1 | 101 | 1 | — | 1 | 0 | — |
| 2023/24 | Challenger Pro League | Oostende | 2 | 0 | 49 | 0 | — | 0 | 0 | 6.70 |
| 2023 | UEFA U21 Championship - Qualification | Scotland U21 | 5 | 3 | 321 | 0 | — | 3 | 0 | — |
| 2022/23 | Jupiler Pro League | Oostende | 5 | 2 | 222 | 0 | — | 0 | 1 | 6.46 |
| 2022/23 | Cup | Oostende | 1 | 1 | 61 | 0 | — | 0 | 0 | — |
| 2022 | Premier League Cup | Watford U21 | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | Friendlies Clubs | Oostende | 1 | 1 | 46 | 0 | — | 0 | 0 | — |
| 2021/22 | League One | Wimbledon | 25 | 12 | 1132 | 2 | 1 | 5 | 0 | 6.50 |
| 2021/22 | EFL Trophy | Wimbledon | 2 | 2 | 147 | 0 | — | 0 | 0 | 6.00 |
| 2021/22 | League Cup | Wimbledon | 3 | 2 | 167 | 0 | 1 | 0 | 0 | 6.83 |
| 2021/22 | FA Cup | Wimbledon | 2 | 0 | 29 | 0 | — | 0 | 0 | 6.20 |
| 2020/21 | Championship | Queen of the South | 11 | 6 | 688 | 2 | — | 2 | 0 | — |
| 2020/21 | FA Cup | Queen of the South | 1 | 0 | 14 | 0 | — | 0 | 0 | — |
| 2020 | UEFA U19 Championship | Scotland U19 | 3 | 2 | 224 | 1 | — | 1 | 0 | — |
| 2019 | Challenge Cup | Rangers U21 | 5 | 5 | 450 | 2 | — | 0 | 0 | — |
| 2019 | UEFA Youth League | Rangers U19 | 3 | 3 | 270 | 1 | — | 1 | 0 | — |
| 2019 | UEFA U19 Championship | Scotland U19 | 5 | 3 | 277 | 1 | — | 0 | 0 | — |
| 2018/19 | Premiership | Rangers | 1 | 0 | 27 | 0 | — | 0 | 0 | — |
| 2018 | UEFA U17 Championship | Scotland U17 | 6 | 5 | 493 | 1 | — | 1 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
