The deal will pay Nyquist $950,000 per season.
The native of Halmstad, Sweden, has played in 40 games with the Red Wings over the last two seasons and has accumulated four goals and nine assists for 13 points.
He was originally drafted by the Red Wings in the fourth-round (121st overall) of the 2008 NHL Entry Draft.
Get the latest news on the Free Agent market
NHL Player Photo Shoots
Exclusive NHL lifestyle stories
Magazine Get to know your favorite players. Subscribe to Hockey's Lifestyle Magazine today!