The 23-year-old will strengthen Neil Lennon’s options in defence following the departure of Jeremie Frimpong to Bayer Leverkusen.
A former England Under-21 internationalist, Kenny has played eight times for Carlo Ancelotti’s side this term and spent last season loan at Bundesliga side Schalke 04.
Kenny has also had loan spells with Wigan Athletic and Oxford United.
He played 25 times for the Goodison Park side during the 2017/18 season, including a handful of appearances in Europe, and 13 times during the 2018/19 season and arrives at Celtic with nearly 40 outings in the English Premier League under his belt.
Kenny was a reported target for Burnley earlier in the window but the Clarets are believed to have baulked at the £10 million asking price for a player whose contract expires in the summer of 2022.
Speaking to Celtic’s website Kenny said: “The stature of the club and how big it is made it a decision I couldn’t turn down.
“To come up here and play my football at a club like this is perfect for me right now.
“I want to come here and help the club first of all, and help the lads. Obviously, it’s been a bit difficult, but I just want to come here and try my best and give my all to Celtic, get out there and play and get some games for me, to show people what I can do and show my qualities.”