Norris, 23, was the Senators' leading goal scorer last season with 35 goals while also posting 20 assists.
"We're very pleased to come to a long-term agreement with Josh," Senators general manager Pierre Dorion said in a statement. "He's a versatile forward who continues to mature into an exceptional NHL player. His scoring prowess has already shown to be a considerable asset for us and one that will help us reach the next level."
Norris was a first-round pick by the San Jose Sharks in 2017 before being traded to the Senators in September 2018. Since making his NHL debut in February 2020, Norris leads all Senators skaters in goals (52), game winners (10) and power-play points (37).