Riot police have broken up far-right protesters in Cologne as they marched against Germany's open-door migration policy.
The rally was held after asylum seekers were identified as suspects in assaults on women on New Year's Eve.
The attacks, ranging from sexual molestation to theft, shocked Germany, which took in 1.1 million migrants and refugees in 2015 under asylum laws championed by Chancellor Angela Merkel, despite fervent opposition.
Shortly before Saturday's protest began, Merkel hardened her stance towards migrants, promising expulsion for criminals and a reduction in migrant numbers over the longer term to Germany.
Police said around 1700 people attended the rally organised by the far-right anti-Islam PEGIDA movement, which has seized on the alleged involvement of migrants in the Cologne attacks as proof Merkel's policy is flawed.
Demonstrators, some of whom bore tattoos with far-right symbols such as a skull in a German soldier's helmet, had chanted "Merkel must go" and "this is the march of the national resistance".
"Rapefugees not welcome," one banner read. PEGIDA, or Patriotic Europeans Against the Islamisation of the West, almost fizzled out last year when its leader resigned after a photo was published of him posing as Adolf Hitler.
But its ranks have swelled as resentment spread of Merkel's welcoming stance to refugees.
In all, about 1700 police officers were on the streets of Cologne, dwarfing the number on duty during the chaotic scenes of New Year's Eve when at least 120 women were robbed or sexually molested.
About 1300 people attended a rival left-wing protest in Cologne, according to police.
"No means no. Keep away from our bodies," read one sign held by one of the demonstrators, most of them women.
Merkel's remarks on Saturday were in stark contrast to her earlier optimism about the influx to Germany, which has taken in far more migrants than any other European country.
Her 'we can do it' slogan irritated many Germans, uneasy about the mass arrivals.
"The right to asylum can be lost if someone is convicted, on probation or jailed," Merkel said after a meeting of the leadership of her Christian Democrats party that was overshadowed by the attacks in Cologne and other cities.
"Serial offenders who repeatedly rob or repeatedly affront women must feel the full force of the law," Merkel told journalists in Mainz.
Under German law, asylum seekers are now typically only deported if they have been sentenced to at least three years in prison, and providing their lives are not at risk at home.
Merkel's conservative party said it wanted to reduce and control migration to Germany, and send those who had been refused asylum home promptly.
Such a move would require a change to German law.
Earlier in the week, German federal police said they had identified 32 people who were suspected of playing a role in the attacks on women on Cologne, 22 of whom were in the process of seeking asylum in Germany.
They documented 76 criminal acts, most of them involving some form of theft, and seven linked to sexual molestation.