According to Shi Davidi of Sportsnet, the deal is worth $52 million overall.
The 27-year-old "was set to earn $5 million in 2019 and the new contract reworks his salary to $7 million this year and adds a $5-million signing bonus. Next year he'll earn $12 million followed by salaries of $9,333,333 in 2021-23. There are no club options or player opt-outs."
Grichuk would have been a free agent after the 2020 season.
He was solid for the Blue Jays during his first campaign with the club last year, hitting .245 with 25 home runs, 61 RBI, 60 runs and 32 doubles. He's recorded at least 22 homers in three straight seasons, though he's struggled out of the gate in 2019 by going 2-for-16 with a homer and two RBI in five games.
His career on-base percentage of .297 also leaves something to be desired.
His contract extension came on the same day Toronto traded outfielder Kevin Pillar to the San Francisco Giants for infielder Alen Hanson and right-handed pitchers Juan De Paula and Derek Law, per ESPN.com. With Pillar on the move, Grichuk should see more time in center field, while intriguing prospect Anthony Alford will also see his playing time increase.
Pillar was a defensive wizard in center field for the Blue Jays in recent years, but they put their money behind the superior offensive player. If Grichuk continues to exceed the 20-homer mark throughout his contract, it will be money well spent.