Protests have taken place in cities across France against changes to the country's labour laws.
The interior ministry said 223,000 protesters had attended but the unions said the number was even higher.
Two of the biggest unions distanced themselves from the action, indicating they may be willing to compromise.
It is the first big test for President Emmanuel Macron, but he missed the disruption as he was assessing Hurricane Irma damage in the Caribbean.
He was visiting St Martin and St Barts, which were among the islands worst hit by the hurricane last week.
The first marches took place in Marseille, Perpignan and Nice in the south, Bordeaux in the west and Le Havre and Caen in the north, with the biggest attracting several thousand demonstrators. Scuffles were reported in Lyon as police blocked the path of protesters.
Police and protest organisers differed widely about the numbers involved, with the hard-left CGT union putting the total across France at 400,000.
In Paris, projectiles were thrown at police and a glass advertising hoarding was vandalised. The authorities responded with tear gas and a water cannon.
The interior ministry said a total of 13 arrests were made across the country.
'Slackers on the move'
Mr Macron came to power with a pledge to overhaul France's enormous labour code and lower unemployment to 7% by 2022, down from its current level of 9.5%.
The new laws hand companies more flexibility in negotiating wages and conditions directly with employees, and limit damages paid to workers for unfair dismissal.
Mr Macron's team announced the plans last month after weeks of consultations with unions and employers.
Last week, the president angered opponents with a remark on a visit to Greece. "I am fully determined and I won't cede any ground, not to slackers, nor cynics, nor hardliners," he said.
Several of Tuesday's protest placards targeted these comments, with messages such as "too lazy to think up a slogan" and "slackers on the move", which mocked the name of the president's centrist LREM party (Republic on the Move).
Who is behind the protests?
The prime mover behind Monday's protests was the CGT union.
Two of the other biggest unions, CFDT and Force Ouvrière (FO), said they would not take part, although some local FO branches said they would march against the reforms anyway.
A number of smaller unions were also involved, including the public sector union FSU, Solidaires, and student organisation Unef.
Some commentators pointed out the irony that many of those taking part in the protests had little to do with the private sector, which was what the reforms were all about. An estimated 11% of French workers are affiliated to a union in France, far lower than in Germany, Belgium or the UK.
Two left-wing leaders have thrown their weight behind the demonstrations.
Failed Socialist presidential candidate Benoît Hamon criticised Mr Macron's description of his opponents as "lazy", while Jean-Luc Mélenchon, who leads radical left party La France Insoumise (France Unbowed), is planning a further day of action on 23 September.