Olsson has won 40 caps for Sweden and joined Norwich from Blackburn in 2013.
His arrival is a timely one for Swansea after their Wales left-back Neil Taylor was ruled out for at least three weeks with a broken cheekbone.
Olsson, 28, is Swansea's second signing in January, following winger Luciano Narsingh's move from PSV Eindhoven.
Striker Marvin Emnes has also returned from a loan spell at Blackburn Rovers.
This site is optimised for modern web browsers, and does not fully support your browser
Swansea City have signed left-back Martin Olsson from Norwich on a two-and-a-half year deal for a fee of around £4m.