“Yellow vest” protesters have gathered in Paris and other cities for a fifth consecutive Saturday of demonstrations.
About 69,000 police have been mobilised across France to prevent a repeat of the violence of previous weeks.
The movement, initially against a rise in fuel taxes, now addresses other issues, including education reforms.
Protesters defied a government call to suspend the action following Tuesday’s attack on Strasbourg’s Christmas market where a gunman killed four people.
Seven people have died in the “gilets jaunes” (yellow vest) protests so far, the latest in an accident resulting from a blockade by protesters on Friday.
Overall, some 33,500 have turned out across the country, police say. This includes Bordeaux, Marseille, Lyon, Nantes, Toulouse and others.
Fewer than 3,000 people have turned out in Paris so far this Saturday, the authorities say. Last week, there were about 8,000.
Police have stopped and questioned 114 people in the capital, a fifth of the number detained a week ago.
Some shops and department stores have closed for the day.
Scuffles broke out in the centre of Paris on Saturday and police fired tear gas to disperse a crowd trying to make their way through police lines.
“Last time, we were here for taxes,” said 28-year-old called Jeremy told the AFP news agency.
“This is for the institutions – we want more direct democracy,” he said, adding that people needed to “shout to make themselves heard”.
Some museums are closed, but both the Louvre and the Eiffel Tower remain open.
In Calais, a group of “yellow vests” blocked the access road to the port.
The impact of the demonstrations has been keenly felt in France. The government has been forced to bow to pressure and adjust its economic course.
President Emmanuel Macron responded to the nationwide street protests by scrapping an unpopular fuel tax rise, and promising an extra €100 (£90; $114) a month for minimum wage earners and tax cuts for pensioners.
However, it is far from clear that he has done enough to defuse public anger.
The BBC’s Hugh Schofield in Paris says some in the movement are calling for a pause following President Macron’s concessions, but there are still yellow vests around the country who feel now is not the time to ease the pressure.
On Friday, a driver died following a collision with a truck in Erquelinnes, a Walloon municipality on the border with Belgium. The truck had been held up by a group of yellow-vest protesters.
Six other people have died in connection with the protests.