The 33-year-old was a free agent after leaving Burnley at the end of the 2019/20 season.
Hart will provide competition alongside Paulo Gazzaniga for regular number one Hugo Lloris.
— Tottenham Hotspur (@SpursOfficial) August 18, 2020
During 12 years at Manchester City, Hart won two Premier League titles, two League Cups and an FA Cup.
Hart fell out of favour at the Etihad Stadium after Pep Guardiola’s arrival in 2016 and had loan spells at Torino and West Ham.
He joined Burnley in 2018 and made 24 appearances but was behind Nick Pope last term.
Hart, who started his career at Shrewsbury, has 75 caps for England but has not played for his country for almost three years.