Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Hull City | 2025/26 – 2026/27 | 6 | 0 | 0 |
| Rotherham Utd | 2023/24 – 2024/25 | 80 | 0 | 0 |
| Oostende | 2022/23 | 31 | 0 | — |
| Cardiff | 2020/21 – 2021/22 | 36 | 0 | — |
| Charlton | 2013/14 – 2020/21 | 102 | 0 | — |
| Cheltenham | 2015/16 | 39 | 0 | — |
| Bishop's Stortford | 2014/15 | 4 | 0 | — |
| Whitehawk | 2013/14 | 5 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 4 Jul 2023 | Cardiff | Rotherham | Free |
| 1 Jul 2023 | Oostende | Cardiff | — |
| 27 Jul 2022 | Cardiff | Oostende | Loan |
| 16 Oct 2020 | Charlton | Cardiff | — |
| 1 Jun 2016 | Cheltenham | Charlton | — |
| 6 Jul 2015 | Charlton | Cheltenham | Loan |
| 1 Feb 2015 | Bishop's Stortford | Charlton | — |
| 2 Jan 2015 | Charlton | Bishop's Stortford | Loan |
| 9 Dec 2013 | Whitehawk | Charlton | — |
| 8 Nov 2013 | Charlton | Whitehawk | Loan |
| 1 Jul 2025 | Rotherham | Hull City | Free Transfer |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | League Cup | Hull City | 2 | 2 | 180 | 0 | 0 | 0 | 0 | 7.14 |
| 2025/26 | League Cup | Hull City | 1 | 1 | 90 | 0 | 0 | 0 | 0 | 6.50 |
| 2025/26 | FA Cup | Hull City | 2 | 2 | 210 | 0 | 0 | 0 | 0 | 7.25 |
| 2025/26 | Championship | Hull City | 1 | 1 | 95 | 0 | 0 | 0 | 0 | 7.30 |
| 2024/25 | League One | Rotherham Utd | 46 | 40 | 2888 | — | 0 | 1 | 0 | 6.91 |
| 2024/25 | FA Cup | Rotherham Utd | 28 | 20 | 1080 | — | — | 1 | 0 | 6.36 |
| 2024/25 | EFL Trophy | Rotherham Utd | 2 | 2 | 180 | 0 | 0 | 0 | 0 | 7.60 |
| 2023/24 | Championship | Rotherham Utd | 2 | 2 | 180 | 0 | — | 1 | 0 | 6.60 |
| 2023/24 | League Cup | Rotherham Utd | 2 | 2 | 180 | 0 | — | 0 | 0 | 6.00 |
| 2022/23 | Jupiler Pro League | Oostende | 28 | 20 | 1080 | — | — | 1 | 0 | 6.36 |
| 2022/23 | Cup | Oostende | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2022/23 | Friendlies Clubs | Oostende | 1 | 1 | 68 | 0 | — | 0 | 0 | — |
| 2021/22 | Championship | Cardiff | 17 | 17 | 1530 | 0 | — | 1 | 0 | 6.69 |
| 2021/22 | FA Cup | Cardiff | 2 | 2 | 210 | 0 | — | 0 | 0 | 6.00 |
| 2020/21 | Championship | Cardiff | 16 | 15 | 1429 | 0 | — | 1 | 0 | 6.98 |
| 2020/21 | FA Cup | Cardiff | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.70 |
| 2019/20 | Championship | Charlton | 46 | 46 | 4140 | 0 | — | 6 | 0 | 6.97 |
| 2019/20 | FA Cup | Charlton | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.80 |
| 2018/19 | League One | Charlton | 30 | 30 | 2730 | 0 | — | 1 | 0 | 6.60 |
| 2018/19 | League Cup | Charlton | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2018/19 | EFL Trophy | Charlton | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2018/19 | FA Cup | Charlton | 3 | 3 | 270 | 0 | — | 0 | 0 | 6.80 |
| 2017/18 | EFL Trophy | Charlton | 5 | 5 | 450 | 0 | — | 0 | 0 | — |
| 2017/18 | League Cup | Charlton | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2016/17 | League One | Charlton | 8 | 8 | 720 | 0 | — | 1 | 0 | — |
| 2016/17 | EFL Trophy | Charlton | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2016/17 | FA Cup | Charlton | 2 | 2 | 210 | 0 | — | 0 | 0 | — |
| 2015/16 | National League | Cheltenham | 36 | 36 | 3226 | 0 | — | 2 | 0 | — |
| 2015/16 | FA Cup | Cheltenham | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2014/15 | National League N / S | Bishop's Stortford | 4 | 4 | 360 | 0 | — | 0 | 0 | — |
| 2013/14 | National League N / S | Whitehawk | 4 | 4 | 360 | 0 | — | 0 | 0 | — |
| 2013/14 | FA Trophy | Whitehawk | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
