Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 08/2026 - 06/2027 | ![]() | Stenhousemuir FC | Midfield | 10 | |
| 07/2026 - 08/2026 | ![]() | Stenhousemuir FC | Midfield | 22 | |
| 07/2021 - 06/2026 | ![]() | Livingston FC | Midfield | 22 | |
| 10/2020 - 07/2021 | ![]() | Charlton Athletic | Midfield | 12 | |
| 07/2017 - 10/2020 | ![]() | Luton Town | Midfield | 11 | |
| 08/2016 - 06/2017 | ![]() | Hibernian FC | Midfield | 22 | |
| 07/2016 - 08/2016 | ![]() | Birmingham City | Midfield | 22 | |
| 01/2016 - 06/2016 | ![]() | Rotherham United | Midfield | 24 | |
| 07/2013 - 01/2016 | ![]() | Birmingham City | Midfield | 22 | |
| 07/2011 - 06/2013 | ![]() | Inverness CT | Midfield | 10 | |
| 07/2010 - 06/2011 | ![]() | Rangers FC | Midfield | 37 | |
| 01/2010 - 06/2010 | ![]() | Dundee FC | Midfield | ||
| 07/2009 - 12/2009 | ![]() | Rangers FC | Midfield | ||
| 11/2008 - 06/2009 | ![]() | Dundee FC | Midfield | ||
| 04/2008 - 11/2008 | ![]() | Rangers FC | Midfield | ||
| 01/2007 - 03/2008 | ![]() | Rangers FC (R) | Midfield | ||
| 03/2007 - 06/2007 | ![]() | Rangers FC | Midfield |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Championship | 91 | 64 | 27 | 50 | 5.323 | 5 | - | 6 | 8 | - | - | » All matches | |
| FA Cup | 10 | 10 | - | 3 | 847 | 1 | - | 1 | 1 | - | - | » All matches | |
| League Cup | 9 | 8 | 1 | 3 | 705 | 3 | - | - | - | - | - | » All matches | |
| League One | 70 | 57 | 13 | 23 | 5.121 | 7 | - | 10 | 9 | 1 | - | » All matches | |
| League Two | 28 | 24 | 4 | 23 | 1.842 | 1 | - | - | 3 | - | - | » All matches | |
| Premiership | 161 | 115 | 46 | 72 | 10.157 | 24 | 3 | 4 | 16 | - | - | » All matches | |
| Championship | 67 | 42 | 25 | 30 | 3.755 | 6 | - | 1 | 14 | - | - | » All matches | |
| FA Cup | 14 | 6 | 8 | 2 | 835 | 3 | - | 1 | 4 | - | - | » All matches | |
| League Cup | 18 | 13 | 5 | 8 | 1.165 | 1 | - | - | 1 | - | - | » All matches | |
| Challenge Cup | 4 | 1 | 3 | - | 191 | 1 | - | - | - | - | - | » All matches | |
| Playoffs | 2 | - | 2 | - | 57 | - | - | - | - | - | - | » All matches | |
| Total | 474 | 340 | 134 | 214 | 29.998 | 52 | 3 | 23 | 56 | 1 | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Friendlies | 1 | 1 | - | 1 | 70 | - | - | - | - | - | - | » All matches |
| Total | 1 | 1 | - | 1 | 70 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U21 EURO Qualifiers | 2 | 2 | - | - | 180 | 1 | - | - | - | - | - | » All matches |
| Total | 2 | 2 | - | - | 180 | 1 | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 Friendlies | 2 | 2 | - | 1 | 180 | - | - | - | - | - | - | » All matches |
| Total | 2 | 2 | - | 1 | 180 | - | - | - | - | - | - |













