McKinnon spent four years in Minnesota, mostly as a backup, after being drafted in the third round in 2014 out of Georgia Southern.
"Jerick has proven to be an extremely versatile football player whose speed, elusiveness and tackle-breaking ability make him a very hard matchup for defenses", said 49ers general manager John Lynch via a statement issued by the team.
"I want to thank the Vikings organization and coaches for making my dreams come true of being drafted, and giving me the opportunity.to start my career in the great state of [Minnesota]", McKinnon told fans via Twitter on Wednesday. He also added 94 receptions for 676 yards with four touchdown catches since 2016.
The Vikings' starter at running back in 2018 is expected to be Dalvin Cook, who suffered a season-ending torn ACL in the fourth game last season. From Week 5 on, McKinnon averaged 3.9 yards per rush, gaining 544 yards on 140 carries while catching 43 passes for 381 yards. McKinnon finished the season with 991 yards from scrimmage and five total touchdowns.
Jerick McKinnon of the Minnesota Vikings runs the ball during the NFL International Series match between Minnesota Vikings and Cleveland Browns at Twickenham Stadium on October 29, 2017 in London, England. This hefty sum also indicates the 49ers view him as a lead back. But now they appear to have their running back as well. After leaving Minnesota this offseason, McKinnon is heading west to San Francisco where he could break through to the next level of his career.