Celtic, who finished third in their Champions League group, will host the Russian club in the first leg on 15 February.
Arsenal, who won their Europa League group and were one of the seeded teams, will travel to Sweden first.
The second legs will be played on 22 February.
Zenit, who beat Rangers in the 2008 final when the tournament was known as the Uefa Cup, are managed by former Manchester City boss Roberto Mancini.
Following a third-place finish last season, they are currently fourth in Russia's Premier League.
Ostersunds are managed by an Englishman, former Southampton defender Graham Potter. They were promoted to Sweden's top flight for the first time in 2016.
The Gunners have never lost a European match against Swedish opposition, winning three and drawing one.
Meanwhile, 2010 winners Atletico Madrid will play FC Copenhagen, Napoli face RB Leipzig and German club Borussia Dortmund play Italian side Atalanta, who defeated Everton twice in the group stage.
The final will take place at the Parc Olympique Lyonnais on 16 May.
Borussia Dortmund v Atalanta
Nice v Lokomotov Moscow
Copenhagen v Atlético Madrid
Spartak Moscow v Athletic Bilbao
AEK Athens v Dynamo Kyiv
Celtic v Zenit St Petersburg
Napoli v RB Leipzig
Red Star Belgrade v CSKA Moscow
Lyon v Villarreal
Real Sociedad v Salzburg
Partizan Belgrade v Viktoria Plzen
Steaua Bucharest v Lazio
Ludogorets v Milan
Astana v Sporting
Ostersunds v Arsenal
Marseille v Braga