According to Schefter, the deal is worth a total of $137.5 million, and it will pay Garoppolo $42.6 million in 2018.
That $42.6 million breaks down to $6.2 million in base salary, a $7 million signing bonus, a $28 million roster bonus, a $600,000 workout bonus and an $800,000 per-game roster bonus.
In 2019, Garoppolo will make a total of $18.6 million, followed by $25.2 million in 2020, $25.5 million in 2021 and $25.6 million in 2022.
The Niners acquired Garoppolo from the New England Patriots prior to the 2017 NFL trade deadline for a second-round draft pick.
Garoppolo went a perfect 5-0 for the 49ers and finished the season with a completion percentage of 67.4, 1,560 yards, seven touchdowns and five interceptions.
The 26-year-old also went 2-0 as a starter in place of the suspended Tom Brady for the Patriots in 2016.
Garoppolo was the No. 62 overall pick in the second round of the 2014 NFL draft by the Pats out of Eastern Illinois.
He will take over the reins in San Francisco on a full-time basis next season in hopes of returning the Niners to the playoffs for the first time since 2013.