The 27-year-old Sweden international has put pen-to-paper on a three-and-a-half year contract after an undisclosed fee was agreed with fellow Sky Bet Championship side Blackburn Rovers for his services.
With Craig Forsyth and Max Lowe ruled out for the rest of the season due to injury, Derby have moved to strengthen the competition at left-back.
Head Coach Paul Clement said: “We’re delighted to welcome Marcus Olsson on board; he strengthens the options for us at left-back.
“He is a player that we have been monitoring for some time and I am very pleased that we have now completed the deal.
“Stephen Warnock has done fantastically for us in the last few months but we felt it was important to have another specialist in that position in the squad, as well as being at a perfect age to develop with us.
“Craig Forsyth and Max Lowe are both going to miss the rest of the season due to injury, so we felt it was important to avoid any issues further down the line.
“Marcus was Blackburn’s Player of the Season last year so that shows how highly rated he was there and Craig Short, who I know well, has provided a glowing reference after working with him at Ewood Park.”
Olsson joined Blackburn, then in the Barclays Premier League, on a free transfer in January 2012 after he turned down a new contract at Swedish top flight side Halmstads BK, having initially played for Hogaborgs BK at youth level.
He linked up with his twin brother Martin, who now plays for Norwich City, at Ewood Park and made 12 Premier League appearances in the second half of the 2011/12 season.
Olsson remained part of the Blackburn squad in the Championship from the 2012/13 campaign onwards and was voted as their Player of the Year in the 2014/15 season, making 45 appearances in all competitions.
He has carried his fine form into this season and remained an important part of Rovers’ backline.
Born in Gävle in Sweden, Olsson has made two full appearances at full international level for his country, both in 2012, featuring in games against Bahrain and Qatar Under 23s.