Jako junior występował w Suwon Technical High School oraz w Yonsei University. W 2016 roku przeniósł się do trzecioligowego klubu Gyeongju KHNP. W pół roku zaliczył w tym klubie 17 występów po czym, w styczniu 2017 roku, został nowym zawodnikiem Jeonbuk Hyundai Motors, występującego wówczas w K League 1, czyli najwyższym poziomie rozgrywkowym w Korei Południowej. W dwa sezony w tym klubie zdobył z nim dwukrotnie mistrzostwo kraju, notując łącznie 52 występów, natomiast na listę strzelców wpisał się trzykrotnie. 29 stycznia 2019 roku poinformowano, że Kim został nowym zawodnikiem chińskiego Beijing Guo’an, występującego w Chinese Super League (najwyższy poziom rozgrywkowy w Chinach). Kwota transferu wyniosła 5,25 mln €[1].