Scores of protesters have launched projectiles at riot police, smashed shop windows, torched cars and burned barricades during a demonstration in Paris against police violence.
Subscribe now for unlimited access.
$0/
(min cost $0)
or signup to continue reading
Police responded with volleys of tear gas.
Thousands of people had been marching peacefully in the French capital when clashes erupted between police and pockets of protesters, many dressed in black with their faces covered.
The protesters were denouncing police brutality and President Emmanuel Macron's security policy plans, which the demonstrators say restrict civil liberties.
They waved banners that read "France, land of police rights" and "Withdrawal of the security law".
Authorities said 22 arrests had been made after some 500 'casseurs' - which translates as thugs or rioters - had infiltrated the protest, according to BFM TV.
France has been hit by a wave of street protests after the government put a security bill before parliament that set out to increase surveillance tools and restrict rights on circulating images of police officers in the media and online.
The bill is part of President Macron's drive to get tougher on law and order ahead of elections in 2022.
But the draft legislation provoked a public backlash.
The beating of a black man, music producer Michel Zecler, by several police officers in late November intensified anger.
That incident came to light after CCTV and mobile-phone footage circulated online.
In a U-turn earlier this week, Macron's ruling party said it would rewrite the article that curbs rights to circulate images of police officers but many opponents say that is not enough.
"We're heading towards an increasingly significant limitation of freedoms. There is no justification," Paris resident Karine Shebabo said.
As darkness fell, live television images showed one group of protesters ransacking the branch office of a bank, throwing piles of paperwork onto a fire burning on the pavement outside.
There were peaceful protests in Marseille, Lyon, Rennes and other big cities across France.
Australian Associated Press