Police have made nearly 1,000 arrests after clashes erupted in Paris and other French cities over school funding and soaring living costs, the government says.
More than 400,000 people rallied across France on Saturday in a fresh challenge to President Emmanuel Macron.
The Paris march began peacefully, a week after widespread rioting and looting during protests across the country.
But near the demonstration's endpoint in eastern Paris, masked protesters hurled objects and fireworks at police, who answered with clouds of tear gas, deafening sound grenades and jets of water cannons.
A masked protester attempts to kick a tear gas canister in Paris. (Reuters: Pedro Nunes)
Officers with megaphones urged protesters to disperse.
Some demonstrators panicked as tear-gas canisters landed in their midst. They scattered with screams as veteran protesters shouted after them: "Don't run!"
The Interior Ministry put the nationwide turnout at 410,000, fewer than the 550,000 it said protested last weekend, while the CGT union that helped organise some of Saturday's protests estimated nearly 800,000.
The ministry's estimate included 110,000 in Paris, where authorities confined the march to the city's south-eastern edge, away from the centre.
The CGT put the number of protesters in Paris at 250,000.
Rallies took place across France, including in Strasbourg. (AP: Jean-Francois Badias)
Unrest challenges Macron's final months in power
More than a month of unrest that started with protests in high schools for more funding and teachers is testing Mr Macron's authority in the final months of his presidency before voters choose his successor in May.
As dusk fell Saturday, violence erupted at the end of some of the 289 protests counted by the Interior Ministry nationwide.
In France's second city, Marseille, youths set fire to rubbish bins to block roads, and hurled rocks and bottles at security forces.
Police used tear gas in Lyon, Clermont-Ferrand, Strasbourg and Bordeaux and water cannons in Nice and Nantes, French media reported.
A protester kicks a can during a demonstration in Lyon. (Reuters: Lisi Niesner)
In Nice, far-right extremists fought with demonstrators downtown and 11 people were arrested, regional authorities said.
Interior Minister Laurent Nuñez said police made nearly 1,000 arrests but added that the number was expected to increase significantly as more were counted.
Mr Nuñez said beefed-up policing, with 70,000 officers backed by helicopters, armoured vehicles and other support, helped prevent a repeat of widespread looting and damage to shops that occurred the previous weekend.
Small protest became national movement
What began last month as a protest over staff shortages at one high school south-east of Paris spread nationwide, drawing students demanding more funding for education and workers seeking help with soaring costs for fuel and other necessities.
In Paris, a 46-year-old teacher marched with her 16-year-old daughter, a high school student, in their first protest together.
"The young people who have been demonstrating have not been heard, and as a parent and as a teacher, I stand with them," the teacher said.
She said she'd been "really scared" after seeing the previous weekend's violence, but felt that staying away would hand the government a victory.
Mr Macron met high school representatives on Friday.
They said he had promised to overhaul university admissions, but they called for protests to continue until concrete measures were announced.
AP/Reuters