Thousands marched through Paris on Sunday in an anti-Islamophobia demonstration that has divided France's political class.
Organizers said they had called the rally in a sign of support two weeks after a man with far-right connections fired shots in a mosque in the southwestern city of Bayonne, injuring two elderly men.
Members of hard-left parties took part in the march - through some others in the center stayed away saying it threatened France's tradition of secularism, and far-right leader Marine Le Pen said the event had been organized by Islamists.
Crowds walked through the capital waving banners marked with the messages "Stop all racism" and "Islamophobia is not an opinion but a crime" at the event organized by the Collectif Contre l'Islamophobie en France.
"It's up to us to demonstrate after an event like Bayonne to ensure the freedom of religion and thought that goes with it," the head of the far-left France Unbowed party, Jean-Luc Melenchon, told journalists.
But the state secretary in charge of fighting discrimination, Marlene Schiappa, had said the demonstration was a protest against secularism "under the disguise of fighting discrimination".
More than 40% of Muslims said they had felt religious discrimination in France, according to a survey by Ifop earlier this month.
Islam is the second biggest religion in France, which has the biggest Muslim minority in Western Europe.
Last month, a member of Le Pen's National Rally party fuelled an ongoing debate about the position of Muslims and Muslim symbols in France by publicly telling a woman to remove her headscarf.