The 23-year-old has signed a four-year contract with the Scottish side.
He told the club’s official website: “Celtic is a massive club. I’m looking forward to the season and working with Neil and his coaching staff.
“I want to come here and win trophies. This is a great club and I’m looking forward to playing in front of Celtic’s great fans every week.
“This is the right time to leave Cardiff and look at my career.
“Hopefully we can win the league and cups and it gives me the opportunity to play in Europe too.”