Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| South Korea | 2017 – 2026 | 55 | 3 | 0 |
| FC Anyang | 2025/26 – 2026/27 | 39 | 1 | 0 |
| Gamba Osaka | 2022/23 – 2024/25 | 42 | 3 | — |
| Khorfakkan | 2024/25 | 35 | 1 | 0 |
| Suwon City FC | 2024/25 | 21 | 1 | 0 |
| Gimcheon Sangmu FC | 2020/21 – 2021/22 | 23 | 1 | — |
| Seongnam FC | 2021/22 | 18 | 1 | 1 |
| Jeonbuk Motors | 2013/14 – 2019/20 | 46 | 2 | — |
| Tianjin Songjiang | 2017/18 – 2019/20 | 75 | 1 | 7 |
| Shabab Al Ahli Dubai | 2014/15 – 2016/17 | 68 | 5 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 24 Jul 2024 | Suwon City FC | Khorfakkan | — |
| 2 Feb 2024 | Gamba Osaka | Suwon City FC | Free |
| 9 Jan 2022 | Seongnam FC | Gamba Osaka | — |
| 16 Jul 2021 | Tianjin Songjiang | Seongnam FC | Free |
| 1 Jan 2020 | Jeonbuk Motors | Gimcheon Sangmu FC | Loan |
| 3 Jul 2019 | Tianjin Songjiang | Jeonbuk Motors | Loan |
| 19 Jan 2017 | Shabab Al Ahli Dubai | Tianjin Songjiang | — |
| 4 Jul 2025 | Khorfakkan | FC Anyang | Free Transfer |
| 2 Jul 2025 | Khorfakkan | FC Anyang | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | World Cup - Qualification Asia | South Korea | 5 | 5 | 364 | 0 | 0 | 0 | 0 | 7.28 |
| 2026/27 | K League 1 | FC Anyang | 27 | 25 | 924 | 1 | 0 | 7 | 0 | 5.62 |
| 2025 | Friendlies | South Korea | 20 | 19 | 1470 | 1 | — | 6 | 1 | 6.68 |
| 2025/26 | K League 1 | FC Anyang | 12 | 12 | 985 | 0 | 0 | 3 | 1 | 7.22 |
| 2024/25 | Pro League | Khorfakkan | 15 | 15 | 1241 | — | 0 | 2 | 0 | 6.66 |
| 2024/25 | K League 1 | Suwon City FC | 21 | 20 | 1812 | 1 | 0 | 1 | 0 | 7.14 |
| 2024/25 | League Cup | Khorfakkan | 20 | 19 | 1470 | 1 | — | 6 | 1 | 6.68 |
| 2023/24 | J1 League | Gamba Osaka | 20 | 19 | 1470 | 1 | — | 6 | 1 | 6.68 |
| 2023/24 | Emperor Cup | Gamba Osaka | 1 | 1 | 17 | 0 | — | 0 | 0 | — |
| 2023/24 | J-League Cup | Gamba Osaka | 2 | 2 | 161 | 0 | — | 0 | 0 | — |
| 2022/23 | J1 League | Gamba Osaka | 16 | 13 | 1141 | 2 | — | 5 | 0 | 7.17 |
| 2022/23 | J-League Cup | Gamba Osaka | 3 | 3 | 226 | 0 | — | 0 | 0 | — |
| 2022 | World Cup - Qualification Asia | South Korea | 4 | 3 | 273 | 0 | — | 0 | 0 | — |
| 2022 | EAFF E-1 Football Championship | South Korea | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2022 | Friendlies | South Korea | 7 | 5 | 482 | 0 | — | 1 | 0 | — |
| 2022 | World Cup | South Korea | 2 | 1 | 99 | 0 | 0 | 0 | 0 | 6.95 |
| 2021/22 | K League 1 | Seongnam FC | 18 | 17 | 1501 | 1 | 1 | 1 | 0 | 7.03 |
| 2020/21 | K League 1 | Gimcheon Sangmu FC | 23 | 23 | 2058 | 1 | — | 1 | 0 | 6.93 |
| 2020 | Friendlies | South Korea | 2 | 2 | 180 | 1 | — | 0 | 0 | — |
| 2019/20 | K League 1 | Jeonbuk Motors | 13 | 12 | 1090 | 2 | — | 6 | 0 | — |
| 2019/20 | Super League | Tianjin Songjiang | 15 | 15 | 1350 | 0 | 1 | 2 | 0 | 6.64 |
| 2019 | EAFF E-1 Football Championship | South Korea | 2 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2019 | Friendlies | South Korea | 4 | 3 | 277 | 0 | — | 0 | 0 | — |
| 2018/19 | Super League | Tianjin Songjiang | 27 | 27 | 2430 | 0 | 2 | 6 | 0 | 6.92 |
| 2018/19 | FA Cup | Tianjin Songjiang | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2018/19 | AFC Champions League | Tianjin Songjiang | 11 | 11 | 990 | 0 | 2 | 0 | 0 | 7.14 |
| 2018 | Friendlies | South Korea | 3 | 1 | 161 | 0 | — | 0 | 0 | — |
| 2017/18 | Super League | Tianjin Songjiang | 21 | 21 | 1890 | 1 | 2 | 5 | 0 | 7.26 |
| 2017 | EAFF E-1 Football Championship | South Korea | 2 | 2 | 180 | 0 | — | 1 | 0 | — |
| 2017 | Friendlies | South Korea | 2 | 2 | 180 | 1 | — | 0 | 0 | — |
| 2016/17 | Pro League | Shabab Al Ahli Dubai | 11 | 11 | 990 | 1 | — | 3 | 0 | — |
| 2016/17 | League Cup | Shabab Al Ahli Dubai | 6 | 6 | 540 | 0 | — | 0 | 0 | — |
| 2015/16 | Pro League | Shabab Al Ahli Dubai | 23 | 23 | 2008 | 2 | — | 5 | 0 | — |
| 2015/16 | League Cup | Shabab Al Ahli Dubai | 3 | 3 | 270 | 0 | — | 1 | 1 | — |
| 2015/16 | AFC Champions League Elite | Shabab Al Ahli Dubai | 14 | 14 | 1260 | 1 | — | 3 | 0 | — |
| 2014/15 | Pro League | Shabab Al Ahli Dubai | 11 | 11 | 972 | 1 | — | 0 | 0 | — |
| 2014/15 | K League 1 | Jeonbuk Motors | 5 | 2 | 139 | 0 | — | 1 | 0 | — |
| 2014/15 | Korea Cup | Jeonbuk Motors | 2 | 2 | 169 | 0 | — | 0 | 0 | — |
| 2014/15 | AFC Champions League Elite | Jeonbuk Motors | 1 | 1 | 58 | 0 | — | 0 | 0 | — |
| 2013/14 | K League 1 | Jeonbuk Motors | 20 | 18 | 1464 | 0 | — | 5 | 0 | — |
| 2013/14 | Korea Cup | Jeonbuk Motors | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2013/14 | AFC Champions League Elite | Jeonbuk Motors | 4 | 4 | 356 | 0 | — | 2 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
| Competition | Season | Place |
|---|---|---|
| Korea Cup (Korea Republic) | 2013 | 2nd Place |
| K League 1 (Korea Republic) | 2019 | Winner |
| K League 1 (Korea Republic) | 2014 | Winner |
| Super Cup (United Arab Emirates) | 2016 | Winner |
| Super Cup (United Arab Emirates) | 2015 | Winner |
| Presidents Cup (United Arab Emirates) | 2015 | 2nd Place |
| Pro League (United Arab Emirates) | 2015/2016 | Winner |
| AFC Champions League Elite (Asia) | 2015 | 2nd Place |
| EAFF E-1 Football Championship (Asia) | 2018/2019 | Winner |
| EAFF E-1 Football Championship (Asia) | 2016/2017 | Winner |
| EAFF E-1 Football Championship (Asia) | 2022 | 2nd Place |
