Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| South Korea | 2015 – 2026 | 5 | 0 | 0 |
| FC Seoul | 2025/26 – 2026/27 | 37 | 0 | 0 |
| Kyoto Sanga | 2023/24 – 2025/26 | 45 | 0 | 0 |
| Seoul E-Land FC | 2025/26 | — | — | — |
| Consadole Sapporo | 2015/16 – 2024/25 | 184 | 0 | — |
| Gimcheon Sangmu FC | 2021/22 – 2022/23 | 33 | 0 | — |
| Daegu FC | 2020/21 | 18 | 0 | 2 |
| Korea Republic U23 | 2016 | 4 | 0 | — |
| Cerezo Osaka | 2013/14 – 2014/15 | 0 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 22 Jan 2024 | Consadole Sapporo | Kyoto Sanga | — |
| 31 Dec 2023 | Kyoto Sanga | Consadole Sapporo | — |
| 25 Jul 2023 | Consadole Sapporo | Kyoto Sanga | Loan |
| 9 Jan 2023 | Daegu FC | Consadole Sapporo | — |
| 8 Sept 2022 | Gimcheon Sangmu FC | Daegu FC | — |
| 29 May 2020 | Consadole Sapporo | Daegu FC | Free |
| 1 Jan 2015 | Cerezo Osaka | Consadole Sapporo | — |
| 17 Jul 2025 | Kyoto Sanga | Seoul E-Land FC | Transfer |
| 15 Jul 2025 | Kyoto Sanga | Seoul E-Land FC | Transfer |
| 15 Jan 2026 | Seoul E-Land FC | FC Seoul | Transfer |
| 14 Jan 2026 | Seoul E-Land FC | FC Seoul | Transfer |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | Friendlies | South Korea | 1 | 0 | 9 | 0 | 0 | 0 | 0 | 6.70 |
| 2026/27 | K League 1 | FC Seoul | 33 | 33 | 1530 | 0 | 0 | 2 | 0 | 5.75 |
| 2025/26 | J-League Cup | Kyoto Sanga | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2025/26 | J1 League | Kyoto Sanga | 2 | 2 | 180 | 0 | 0 | 0 | 0 | 6.55 |
| 2025/26 | AFC Champions League Elite | FC Seoul | 4 | 4 | 360 | 0 | 0 | 0 | 0 | 6.58 |
| 2024/25 | J1 League | Kyoto Sanga | 32 | 32 | 2756 | 0 | 0 | 3 | 1 | 6.73 |
| 2024/25 | Emperor Cup | Kyoto Sanga | 2 | 2 | 180 | 0 | — | 0 | 0 | — |
| 2023/24 | J1 League | Kyoto Sanga | 8 | 8 | 720 | 0 | — | 0 | 0 | 6.24 |
| 2023/24 | J1 League | Consadole Sapporo | 8 | 8 | 720 | 0 | — | 0 | 0 | 6.24 |
| 2023/24 | Emperor Cup | Consadole Sapporo | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2023/24 | J-League Cup | Consadole Sapporo | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2022/23 | K League 1 | Gimcheon Sangmu FC | 15 | 15 | 1349 | 0 | — | 0 | 0 | 7.16 |
| 2021/22 | K League 2 | Gimcheon Sangmu FC | 18 | 18 | 1620 | 0 | — | 1 | 0 | — |
| 2020/21 | K League 1 | Daegu FC | 17 | 17 | 1530 | 0 | 2 | 1 | 0 | 6.85 |
| 2020/21 | J1 League | Consadole Sapporo | 1 | 1 | 90 | 0 | — | 0 | 0 | 5.70 |
| 2020/21 | FA Cup | Daegu FC | 1 | 1 | 120 | 0 | — | 0 | 0 | — |
| 2020/21 | J-League Cup | Consadole Sapporo | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2020 | Friendlies | South Korea | 2 | 2 | 136 | 0 | — | 0 | 0 | — |
| 2019/20 | J1 League | Consadole Sapporo | 33 | 33 | 2970 | 0 | — | 0 | 0 | 6.85 |
| 2019/20 | J-League Cup | Consadole Sapporo | 1 | 1 | 120 | 0 | — | 0 | 0 | — |
| 2019 | EAFF E-1 Football Championship | South Korea | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2019 | Friendlies | South Korea | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2018/19 | J1 League | Consadole Sapporo | 34 | 34 | 3060 | 0 | — | 1 | 0 | 6.99 |
| 2017/18 | J1 League | Consadole Sapporo | 33 | 33 | 2907 | 0 | — | 5 | 0 | 6.73 |
| 2017/18 | J-League Cup | Consadole Sapporo | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2016/17 | J2 League | Consadole Sapporo | 33 | 33 | 2919 | 0 | — | 1 | 0 | — |
| 2016 | Olympics Men | Korea Republic U23 | 3 | 3 | 270 | 0 | — | 1 | 0 | — |
| 2016 | AFC U23 Asian Cup | Korea Republic U23 | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2015/16 | J2 League | Consadole Sapporo | 33 | 33 | 2970 | 0 | — | 1 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
| Competition | Season | Place |
|---|---|---|
| J2 League (Japan) | 2016 | Winner |
| J-League Cup (Japan) | 2019 | 2nd Place |
| K League 2 (Korea Republic) | 2021 | Winner |
| EAFF E-1 Football Championship (Asia) | 2018/2019 | Winner |
| EAFF E-1 Football Championship (Asia) | 2014/2015 | Winner |
| AFC U23 Asian Cup (Asia) | 2015/2016 | 2nd Place |
