Joe Hart | Image Source: Gallo Images
While no financial details were revealed, British media reported that the fee for the former England international was in the region of one million pounds.
Hart, 34, had one year remaining on his contract but fell down the pecking order at the Premier League club last month after they signed Atalanta's Pierluigi Gollini to compete with Hugo Lloris.
"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 told the club website.
After joining Tottenham in August 2020, Hart made 10 appearances in all competitions last season and kept five clean sheets.
Celtic have also secured the signature of midfielder James McCarthy on a four-year contract from Crystal Palace, marking a return to Scotland for the 30-year-old who started his career with Hamilton before playing for Wigan Athletic and Everton.
Celtic, who finished 25 points behind champions Rangers last season, lost the opening game of the new season to Heart of Midlothian on Sunday. They will host Dundee on 8 August.