The deal is worth a max of $18 million with $10 million in guarantees, the NFL Network reports.
Tomlinson started 15 games at left guard for the Niners in 2017 after coming over in a trade with the Detroit Lions in late August.
"Laken is a very talented player who has improved consistently since joining the team one week before last year's season opener," 49ers general manager John Lynch said in a statement. "This offseason, his hard work and dedication paid off as he continued to progress and performed at a high level. We were confident we could work out a contract extension with Laken and we are fired up to get that done before training camp."
Tomlinson was a first-round pick by the Lions in 2015 but the Niners declined to pick up his fifth-year option earlier this offseason. At the time, Lynch and coach Kyle Shanahan indicated the Niners were hoping to re-sign Tomlinson to an extension that would bring him back at a lower rate than the more than $9.6 million that the fifth-year option would have required.
Retaining Tomlinson gives the 49ers some more stability on the offensive line. In addition to Tomlinson, left tackle Joe Staley, center Weston Richburg and right tackle Mike McGlinchey are all entrenched in their positions, which leaves what is expected to be a heated competition for the starting job at right guard. That battle is expected to come down to Joshua Garnett, Jonathan Cooper and Mike Person.
The 49ers are scheduled to open training camp on July 25.