Riot police broke up far-right protesters in Cologne on Saturday as they marched against Germany's open-door migration policy 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 1,700 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.