The 28-year-old Swedish international is Swansea's second signing in the January transfer window, following winger Luciano Narsingh's move from PSV Eindhoven.
Olsson, who had joined Norwich from Blackburn in 2013, arrives at the Welsh club just as their left-back Neil Taylor was ruled out for at least three weeks because of injury.