A march by Germany's anti-Islamic organisation Pegida drew thousands to the eastern city of Dresden on Saturday with rallies in support of the movement also held in a string of other European cities.
In Prague, around 5,000 people turned out for a Pegida-inspired march organised by two far-right groups, while in Amsterdam mounted police charged pro- and anti-Pegida groups and arrested at least a dozen people.
Another rally in the northern French port of Calais, home to the infamous "Jungle" refugee camp for migrants seeking passage across the Channel to Britain, brought about 20 arrests, local authorities said.
Police there responded with tear gas after scuffles broke out.
The Pegida group had called for the Saturday rallies, urging supporters to march under the anti-migrant banner of "Fortress Europe".
The group began as a movement in Germany in mid-2014 and has spread to other countries as Europe grapples with its worst refugee crisis since World War II.
Several thousand Pegida supporters turned up in Dresden under clear blue skies to march along the banks of the River Elbe to protest against mass immigration and what they call the "Islamisation" of Europe.
Absent was Lutz Bachmann, the movement's founder, owing to illness, organisers said.
Police deployed around 1,000 officers.
Many held aloft banners criticising German Chancellor Angela Merkel, who is in the firing line for her liberal stance towards refugees after Germany took in more than a million asylum seekers last year.
Around 2,000 people -- less than the 10,000 expected by police -- meanwhile joined an anti-Pegida rally at which participants urged tolerance towards migrants.
Anti-Pegida marchers chanted slogans such as "no place for Nazis" and "we don't need xenophobia, demagoguery or Pegida".
Pegida supporters countered that they were "European patriots against the Islamisation of the west."
In Prague, an AFP journalist put the crowd at around 5,000 although police did not give an official estimate of the demo or its counter-rally. Police arrested four people.
"Ban Islam in Czech Republic", "Shut the border", "Don't let Brussels destroy our society", read placards carried by the pro-Pegida demonstrators who were also draped in the Czech flag.
A counter-rally was organised by the non-parliamentary Green party and several leftist groups.
"Migrants are people like us which is why we have to help them, in a reasonable way," said president of the Greens Matej Stropnicky.
"But we have to help them in their own countries," he said, adding that it would be impossible for vast numbers to be integrated in Europe.
In Dublin, scuffles broke out between people who had gathered to protest against the launch of Pegida in Ireland, and those who attended the launch of the group.
"We are standing together... to show that there is no place in Ireland today for racism and Islamaphobia -- there is no place for hate," counter demonstrator and MEP Lynn Boylan from the Sinn Fein party said.
In Amsterdam, rival groups numbering a few hundred each waved banners with slogans such as "Refugees Welcome" and "Islamists not Welcome".
"We are demonstrating because we are very worried about our country and Islam," said 51-year-old Yvette from Utrecht, who carried a white banner saying "Pegida is Love" in Dutch.
The two sides were kept apart by dozens of mounted and riot police while a military helicopter hovered overhead.
An AFP reporter witnessed at least a dozen arrests and mounted police charging the crowd to separate the rival groups.
Anti-Pegida demonstrator Tommy Morelli, 32, told AFP: "I cannot believe that these guys (pro-Pegida supporters) can still think the way they do in this day and age. It's shameful."
In Birmingham in central England, meanwhile, police said about 150 Pegida supporters and 60 counter-demonstrators turned out.
Demonstrations also took place in Bratislava, Warsaw, the French city of Montpellier, Graz in southern Austria and Brno in eastern Czech Republic.