Belgian police fired water cannon and used tear gas Sunday to disperse protesters opposed to compulsory health measures against the coronavirus pandemic.
Around 8,000 people marched through Brussels towards the headquarters of the European Union, chanting "Freedom!" and letting off fireworks.
Protesters were blocked from reaching the roundabout outside the EU headquarters by a barbed wire barricade and a line of riot officers.
As two drones and a helicopter circled overhead, they threw fireworks and beer cans. Police responded with water cannon and tear gas.
As the crowd dispersed into smaller groups around the European quarter, there were more clashes and some set fire to barricades of rubbish.
Police said two of their officers and four protesters had been hospitalised, and 20 people had been arrested.
Several European countries have seen demonstrations in recent weeks as governments respond to a surge in covid cases with tighter restrictions.
The demonstrators oppose compulsory health measures -- such as masks, lockdowns and vaccine passes -- and some share conspiracy theories.
Banners on Sunday compared the stigmatisation of the non-vaccinated to the treatment of Jews forced to wear yellow stars in Nazi Germany.
"Covid = Organised Genocide," said one sign. "The QR code is a Swastika," declared another, referring to the EU Covid safe digital certificate.
Parents -- some of whom brought small children to the protest -- chanted their belief that the vaccine would make their toddlers sick.
Off duty firefighters in uniform, marched at the head of the protest as it wound its way through the city, to demand the right to refuse vaccination.
The measures imposed to fight Covid in Belgium were decided by the country' own national and regional governments, but the European Union has also attracted the sceptics' anger.
On Wednesday, European Commission president Ursula von der Leyen said that in her view it was time to "think about mandatory vaccination", a suggestion that was denounced by speakers at the protest.
On Friday, Belgian Prime Minister Alexander de Croo announced a series of measures to tighten sanitary rules, bringing school Christmas holidays forward and asking children aged six and over to wear masks.
Belgium, with a population of 11 million, has recorded an average of more than 17,800 daily infections with Covid-19 over the past seven days, as well as 44 deaths.
Around 800 people with severe forms of the disease are in intensive care in hospitals across the country, leading to overcrowding and the postponement of treatment for many other conditions.