The 67-year-old succeeds Herve Renard, who quit after the Africa Cup of Nations and has since taken over at Saudi Arabia.
"To reach the World Cup finals in 2022 is my main objective," said Halilodzic, who was recently the coach of French club Nantes.
"It's the fourth time that I will try to take a team to a World Cup."
Halilhodzic has also coached Ivory Coast and Algeria.
He was in charge of Japan from 2015 until 2018 but was axed just two months before the World Cup finals in Russia.