The 19-year-old has made one first-team appearance for Spurs, coming on as a substitute during an EFL Cup win over Gillingham in 2016.
Canaries boss Daniel Farke told the club’s website: “Marcus is a young player with huge potential.
“He is rated as one of the biggest talents in English football but will need some time to adapt to a new surrounding and to the physical game in the Championship.”
Edwards said on Norwich City TV: “I’m really excited and can’t wait to help the team.
“When I spoke to the manager, he made me feel welcome and explained how he wanted to play.”
Edwards is ineligible for the club’s FA Cup third-round replay with Chelsea on Wednesday.
Watford are being linked with a summer swoop for Werder Bremen's Sweden international left-back Ludwig Augustinsson.
West Ham are reportedly set to pull out of their plan to sign central defender Alfie Mawson from Swansea this summer.
Brighton have been linked with a swoop on League One Sunderland for the signature of goalkeeper Jason Steele.