The court ruled that the restriction sought to guarantee social cohesion, the “protection of the rights and freedoms of others” and that it was “necessary in a democratic society”, a statement said.
Belgian banned the wearing of the full-face veil under a June 2011 law. It prohibits appearing in public “with a face masked or hidden, in whole or in part, in such a way as to be unidentifiable”.
Violations can result in fines and up to seven days in jail.
France was the first European country to ban the niqab in April 2011.
The European Court of Human Rights had already ruled on a challenge to the French law in 2014 when it also rejected arguments that the restriction breached religious freedom and individual human rights.
The Belgian case was brought by two Muslim women, Samia Belcacemi, a Belgian national, and Yamina Oussar, a Moroccan.
Both women said they chose of their own free will to wear the niqab and claimed their rights had been infringed and the law was discriminatory.
After Belgium introduced the ban, Belcacemi continued wearing the veil for a while but stopped because of social pressure and fears she would be fined.
Oussar told the court that she had decided to stay at home, the statement from the court said.