Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Cerezo Osaka | 2025/26 – 2027/28 | 43 | 2 | 2 |
| Malaysia | 2020 – 2026 | 29 | 6 | 0 |
| Buriram United | 2022/23 – 2024/25 | 109 | 7 | 6 |
| Midtjylland | 2019/20 – 2022/23 | 52 | 1 | 2 |
| Jablonec | 2022/23 | 9 | 1 | — |
| Belgium U21 | 2017 – 2021 | 14 | 2 | — |
| Zulte Waregem | 2021/22 | 11 | 0 | 1 |
| Club Brugge | 2015/16 – 2020/21 | 107 | 8 | — |
| Belgium U19 | 2015 | 6 | 2 | — |
| OH Leuven | 2014/15 | 27 | 1 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 3 Jan 2023 | FK Jablonec | Buriram United | Free |
| 1 Jul 2022 | Zulte Waregem | FC Midtjylland | — |
| 4 Jan 2022 | FC Midtjylland | Zulte Waregem | Loan |
| 1 Feb 2020 | Club Brugge KV | FC Midtjylland | — |
| 1 Jul 2015 | OH Leuven | Club Brugge KV | — |
| 4 Jun 2025 | Buriram United | Cerezo Osaka | Transfer |
| 2 Jun 2025 | Buriram United | Cerezo Osaka | Transfer |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2027/28 | J1 League | Cerezo Osaka | 10 | 10 | 910 | 0 | 0 | 1 | 0 | 6.71 |
| 2026 | World Cup - Qualification Asia | Malaysia | 6 | 6 | 540 | 2 | — | 1 | 0 | — |
| 2026 | FIFA Asean Cup | Malaysia | 3 | 3 | 270 | 0 | 0 | 0 | 0 | 6.95 |
| 2026/27 | J1 League | Cerezo Osaka | 19 | 14 | 1322 | 0 | 1 | 3 | 0 | 6.96 |
| 2025/26 | J1 League | Cerezo Osaka | 14 | 10 | 923 | 2 | 1 | 1 | 0 | 7.01 |
| 2024 | Asian Cup - Qualification | Malaysia | 2 | 1 | 168 | 1 | 0 | 1 | 0 | 7.95 |
| 2024/25 | Thai League 1 | Buriram United | 27 | 24 | 2230 | 2 | 3 | 4 | 0 | 7.37 |
| 2024/25 | FA Cup | Buriram United | 4 | 4 | 390 | 1 | — | 1 | 0 | — |
| 2024 | Friendlies | Malaysia | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2024/25 | League Cup | Buriram United | 3 | 3 | 300 | 1 | — | 0 | 0 | — |
| 2024/25 | AFC Champions League Elite | Buriram United | 10 | 10 | 895 | — | 2 | 2 | 0 | 7.16 |
| 2024/25 | ASEAN Club Championship | Buriram United | 5 | 4 | 378 | 0 | — | 1 | 0 | — |
| 2023/24 | Thai League 1 | Buriram United | 28 | 26 | 2423 | 2 | 1 | 5 | 0 | 7.48 |
| 2023/24 | League Cup | Buriram United | 3 | 3 | 330 | 1 | — | 2 | 0 | — |
| 2023/24 | FA Cup | Buriram United | 2 | 2 | 210 | 0 | — | 0 | 0 | — |
| 2023/24 | AFC Champions League | Buriram United | 6 | 6 | 540 | 0 | — | 0 | 0 | — |
| 2023 | Asian Cup Qualification | Malaysia | 3 | 3 | 270 | 1 | — | 0 | 0 | — |
| 2023 | Asian Cup | Malaysia | 3 | 3 | 270 | 0 | — | 0 | 0 | 6.67 |
| 2023 | Friendlies | Malaysia | 2 | 2 | 180 | 1 | — | 0 | 0 | — |
| 2022 | Asian Cup - Qualification | Malaysia | 3 | 3 | 270 | 1 | — | 0 | 0 | — |
| 2022/23 | Thai League 1 | Buriram United | 14 | 12 | 1113 | 0 | — | 2 | 0 | — |
| 2022/23 | Czech Liga | Jablonec | 8 | 8 | 720 | 0 | — | 0 | 0 | — |
| 2022/23 | FA Cup | Buriram United | 3 | 2 | 236 | 0 | — | 1 | 0 | — |
| 2022/23 | League Cup | Buriram United | 4 | 4 | 360 | 0 | — | 0 | 0 | — |
| 2022/23 | Cup | Jablonec | 1 | 1 | 90 | 1 | — | 0 | 0 | — |
| 2022 | World Cup - Qualification Asia | Malaysia | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2022 | King's Cup | Malaysia | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2021/22 | Jupiler Pro League | Zulte Waregem | 11 | 7 | 642 | 0 | 1 | 3 | 0 | 6.83 |
| 2021/22 | Superliga | Midtjylland | 12 | 5 | 414 | 0 | — | 0 | 0 | 6.53 |
| 2021/22 | DBU Pokalen | Midtjylland | 3 | 1 | 124 | 0 | — | 0 | 0 | — |
| 2021/22 | UEFA Champions League | Midtjylland | 3 | 1 | 149 | 0 | — | 0 | 0 | 6.63 |
| 2021/22 | UEFA Europa League | Midtjylland | 3 | 0 | 32 | 0 | — | 0 | 0 | 6.57 |
| 2020/21 | Superliga | Midtjylland | 21 | 17 | 1611 | 1 | 2 | 4 | 1 | 6.94 |
| 2020/21 | DBU Pokalen | Midtjylland | 2 | 2 | 161 | 0 | — | 1 | 0 | — |
| 2020/21 | UEFA Champions League | Midtjylland | 3 | 2 | 206 | 0 | — | 1 | 0 | 6.80 |
| 2020/21 | Friendlies Clubs | Club Brugge | 2 | 1 | 89 | 0 | — | 0 | 0 | — |
| 2020 | AFF Championship | Malaysia | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2019/20 | Superliga | Midtjylland | 5 | 2 | 242 | 0 | — | 0 | 0 | 6.97 |
| 2019/20 | Jupiler Pro League | Club Brugge | 2 | 1 | 134 | 0 | — | 0 | 0 | — |
| 2019/20 | UEFA Champions League | Club Brugge | 1 | 0 | 3 | 0 | — | 0 | 0 | 6.70 |
| 2019/20 | Club Friendlies | Club Brugge | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2019 | UEFA U21 Championship | Belgium U21 | 13 | 13 | 1170 | 2 | — | 3 | 0 | — |
| 2018/19 | Jupiler Pro League | Club Brugge | 15 | 1 | 340 | 1 | — | 1 | 0 | — |
| 2018/19 | Cup | Club Brugge | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2018/19 | UEFA Champions League | Club Brugge | 2 | 0 | 118 | 0 | — | 0 | 0 | 6.35 |
| 2018/19 | UEFA Europa League | Club Brugge | 1 | 1 | 46 | 0 | — | 0 | 0 | 6.30 |
| 2017/18 | Jupiler Pro League | Club Brugge | 35 | 32 | 2776 | 3 | — | 6 | 0 | — |
| 2017/18 | Cup | Club Brugge | 5 | 5 | 449 | 0 | — | 1 | 0 | — |
| 2017/18 | UEFA Europa League | Club Brugge | 1 | 0 | 44 | 0 | — | 0 | 0 | — |
| 2017 | UEFA U21 Championship | Belgium U21 | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2016/17 | Jupiler Pro League | Club Brugge | 24 | 22 | 1980 | 3 | — | 5 | 0 | — |
| 2016/17 | Cup | Club Brugge | 2 | 1 | 134 | 0 | — | 1 | 0 | — |
| 2016/17 | UEFA Champions League | Club Brugge | 3 | 3 | 270 | 0 | — | 0 | 0 | 7.00 |
| 2015/16 | Jupiler Pro League | Club Brugge | 5 | 5 | 417 | 0 | — | 1 | 0 | — |
| 2015/16 | Cup | Club Brugge | 3 | 1 | 69 | 0 | — | 0 | 1 | — |
| 2015/16 | UEFA Champions League | Club Brugge | 4 | 2 | 203 | 1 | — | 0 | 0 | — |
| 2015 | UEFA U19 Championship | Belgium U19 | 6 | 5 | 478 | 2 | — | 2 | 0 | — |
| 2014/15 | Challenger Pro League | OH Leuven | 26 | 23 | 1981 | 0 | — | 8 | 1 | — |
| 2014/15 | Cup | OH Leuven | 1 | 1 | 90 | 1 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Red Card | 22 May 2021 | 24 May 2021 | 2 |
| Head Injury | 22 May 2020 | 7 Jul 2020 | 46 |
| Injury | 13 Aug 2021 | 8 Sept 2021 | 26 |
| Injury | 13 Aug 2019 | 15 Sept 2019 | 33 |
| Hip Injury | 21 Nov 2018 | 13 Dec 2018 | 22 |
| Injury | 26 Sept 2018 | 3 Oct 2018 | 7 |
| Injury | 11 Sept 2018 | 16 Sept 2018 | 5 |
| Injury | 28 Feb 2021 | 17 Apr 2021 | 48 |
| Yellow Cards | 2 Mar 2021 | 4 Mar 2021 | 2 |
| Red Card | 14 Jul 2021 | 16 Jul 2021 | 2 |
Trophies
| Competition | Season | Place |
|---|---|---|
| Super Cup (Belgium) | 2018 | Winner |
| Super Cup (Belgium) | 2016 | Winner |
| Super Cup (Belgium) | 2015 | 2nd Place |
| Cup (Belgium) | 2015/2016 | 2nd Place |
| First Division A (Belgium) | 2017/2018 | Winner |
| First Division A (Belgium) | 2015/2016 | Winner |
| First Division A (Belgium) | 2018/2019 | 2nd Place |
| First Division A (Belgium) | 2016/2017 | 2nd Place |
| Superliga (Denmark) | 2019/2020 | Winner |
| Superliga (Denmark) | 2020/2021 | 2nd Place |
| Thai League 1 (Thailand) | 2024/2025 | Winner |
| Thai League 1 (Thailand) | 2023/2024 | Winner |
| Thai League 1 (Thailand) | 2022/2023 | Winner |
| League Cup (Thailand) | 2024/2025 | Winner |
| League Cup (Thailand) | 2022/2023 | Winner |
| FA Cup (Thailand) | 2024/2025 | Winner |
| FA Cup (Thailand) | 2022/2023 | Winner |
| Thai Champions Cup (Thailand) | 2023 | 2nd Place |
| King's Cup (World) | 2022 | 2nd Place |
| ASEAN Club Championship (Asia) | 2024/2025 | Winner |
