Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2026 - 06/2028 | ![]() | Millwall FC | Midfield | 17 | |
| 07/2022 - 07/2026 | ![]() | Bristol City | Midfield | 17 | |
| 08/2020 - 06/2022 | ![]() | Oxford United | Midfield | 10 | |
| 07/2019 - 07/2020 | ![]() | Oxford United | Midfield | 18 | |
| 01/2019 - 06/2019 | ![]() | Oxford United | Midfield | 24 | |
| 07/2018 - 01/2019 | ![]() | Glenavon FC | Midfield | 10 | |
| 07/2014 - 06/2018 | ![]() | Glenavon FC | Midfield | 14 |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Europa League Qual. | 5 | 4 | 1 | - | 368 | - | - | - | - | - | - | » All matches |
| Championship | 154 | 113 | 41 | 77 | 9.737 | 18 | - | 10 | 17 | - | 1 | » All matches | |
| FA Cup | 13 | 10 | 3 | 3 | 959 | 1 | - | 3 | 2 | - | - | » All matches | |
| League Cup | 16 | 9 | 7 | 4 | 1.046 | 1 | - | 3 | 2 | - | - | » All matches | |
| League One | 104 | 81 | 23 | 33 | 7.270 | 9 | - | 11 | 10 | 1 | - | » All matches | |
| EFL Trophy | 11 | 10 | 1 | 2 | 1.012 | - | - | 3 | - | - | - | » All matches | |
| Playoffs | 5 | 4 | 1 | 1 | 391 | 1 | - | - | - | - | - | » All matches | |
| Premier League | 85 | 81 | 4 | 8 | 7.243 | 15 | - | - | 23 | - | 1 | » All matches | |
| Irish Cup | 1 | - | 1 | - | 23 | - | - | - | - | - | - | » All matches | |
| Total | 394 | 312 | 82 | 128 | 28.049 | 45 | - | - | 54 | 1 | 2 |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Friendlies | 4 | 1 | 3 | - | 116 | - | - | 1 | - | - | - | » All matches |
![]() | EURO Qualifiers | 1 | - | 1 | - | 8 | - | - | - | - | - | - | » All matches |
![]() | Relegation Nations League | 2 | - | 2 | - | 39 | - | - | 1 | - | - | - | » All matches |
| Total | 7 | 1 | 6 | - | 163 | - | - | 2 | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U21 EURO Qualifiers | 10 | 8 | 2 | 1 | 719 | 2 | - | - | 3 | - | - | » All matches |
| Total | 10 | 8 | 2 | 1 | 719 | 2 | - | - | 3 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 EURO Qualifiers | 3 | 2 | 1 | - | 245 | - | - | - | - | - | - | » All matches |
| Total | 3 | 2 | 1 | - | 245 | - | - | - | - | - | - |






