Olsson would have been out of contract at the end of the season, but he reached an agreement with Albion to terminate his deal so he could join the Stockholm-based club in time for the opening fixtures of the Swedish season next week.
The 34-year-old spent nine years with Albion, helping them win promotion to the Premier League in 2010.
“It's all happened so quickly I've not had a chance to say a proper farewell to so many people,” Olsson told Albion's website.
“I will be back at the first chance to do that. But I'm really grateful to the club for helping me sort out this transfer.”
“I still feel I have a few good years in me but such is the quality of the competition at Albion for places in my position, it was getting harder and harder to see a first team opportunity.”
Olsson had made only seven Premier League appearances this season and had not played for Tony Pulis' side since their 4-0 defeat at Tottenham in January.