Tens of thousands of people protesting a new gay marriage law marched through Paris on Sunday under tight security as jittery authorities sought to avoid a repeat of recent street violence.
Billed as a last-ditch show of force by opponents of the bill allowing same-sex marriage and adoption, which was voted into law on May 18 following months of bitter protests, people from across France converged on the capital.
Shouting slogans, blowing whistles and horns, protesters criss-crossed Paris in three separate processions and converged on the Invalides esplanade in the centre, filling the huge promenade with pink and blue -- the official colours of the anti-gay marriage movement.
Police said some 150,000 people turned up to protest, a figure immediately contested by organisers of the demonstration who said one million opponents of the law had shown up, some on specially-chartered trains and buses.
Some 4,500 security forces were mobilised for Sunday's demonstration, which was far from finished early evening as thousands of protesters remained on the Invalides esplanade.
Interior Minister Manuel Valls had warned that so-called "ultras" -- many of them far-right nationalists -- were expected to infiltrate the protest and cause unrest, and advised parents not to bring their children with them.
Fears of unrest have been compounded by violence that erupted earlier this month during celebrations marking football club Paris Saint-Germain's league victory that saw tourists attacked and shop and car windows smashed.
And late Saturday, police detained 50 people involved in an anti-gay marriage protest on the busy Champs-Elysees avenue that saw some firing smoke canisters.
But those in the protest ignored the recent tensions, bringing their children along as others had in previous demonstrations.
"We keep hearing about a far-right movement, I can see only families here," said one man called Raoul, who came from the city of Dijon, some 300 kilometres (190 miles) away.
By early evening, no incidents had been reported despite the presence of far-right activists, some of whom briefly unfurled a banner on the Socialist party's headquarters urging President Francois Hollande to resign.
Onlookers were instead treated to creative forms of protest. One man dressed in black held a scythe and wore a mask of Hollande as he stood behind a coffin in which lay a mannequin dressed as Marianne, the emblem of France.
"Hollande, your mother isn't called Robert", shouted some of the demonstrators in a slogan that gained in popularity as the afternoon progressed.
"I know that a portion of French society is conservative. But to this point, it's not the image that we have of France," Pilar, a Spanish woman in the Latin Quarter, an area popular with tourists, said as she looked on in surprise.
Supporters and opponents of the bill began protesting last autumn when it was adopted by the cabinet, and continued to do so at regular intervals throughout the country during the legislative process.
One of Hollande's campaign pledges, it has proved hugely divisive in a country that is officially secular but predominantly Catholic.
France is the 14th country to legalise same-sex marriage, an issue that has divided opinion in many other nations too.
In Brazil, for instance, tens of thousands of evangelical Christians marched in Rio de Janeiro on Saturday protesting a recent legal ruling allowing gay marriage.
And in Poland, some 10,000 protesters marched Sunday in solidarity with the French, to defend the traditional family structure.
But according to a survey published Sunday in the Journal du Dimanche, nearly three-quarters of French people are tired of the anti-bill protests and think they should stop.