Hart spent the 2020/2021 season at Tottenham Hotspur, where he made just 10 appearances, all in Cup competitions.
His chances of featuring this season diminished further after Tottenham signed Pierluigi Gollini from Atalanta on a one-year loan deal.
Hart had one year remaining on his contract with Spurs, who have sanctioned his sale to Ange Postecoglou’s side for £1m.
Alongside Hart, Celtic also confirmed the signing of former Crystal Palace midfielder James McCarthy on a four-year contract.
Manager Postecoglou told the club's website: 'I'm delighted that we have signed two top-class players in Joe and James. Both of them have a wealth of experience at both club and international level, and that is something which can only benefit the squad, and I'm looking forward to working with both of them.
'I know our supporters will be well aware of both players, and I'm sure they'll welcome them to the club and look forward to seeing both of them play for Celtic in the seasons ahead.'
Hart added: "This is a great moment for me in my career and I am absolutely delighted to be joining a club of Celtic's stature.
"I know just how big this club is and of the incredible support that it enjoys, and I can't wait to play in front of the fans at Celtic Park."
Hart, 34, won two Premier League titles during his time at Man City and has been capped 75 times by England.