Detroit announced the deal Saturday, the second day of NHL free agency.
White has 36 goals and 143 points in 401 NHL games with San Jose, Carolina, Calgary and Toronto. On the power play with the Red Wings, he will get a chance to fill the void created when defenseman Brian Rafalski retired.
The 27-year-old White had nine points in 17 postseason games with the Sharks last season in his first playoff appearance.
The Red Wings signed defenseman Mike Commodore on Friday.