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 mass 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 toward refugees, promising expulsion for criminals and a longer-term reduction in refugee numbers to Germany.

Police said around 1,700 people attended the rally organized by the far-right anti-Islam PEGIDA movement, which has seized on the alleged involvement of refugees in the New Year attacks in Cologne 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.

A police spokesman said roughly half of those at the PEGIDA protest were from the 'hooligan scene'. Some in the crowd threw bottles and firecrackers at officers, and riot police used water cannons to disperse the protesters.

Two people were injured in the clash, and police detained a number of demonstrators.

PEGIDA, or Patriotic Europeans Against the Islamization 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 1,700 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.

"The events on New Year's Eve led to a lot of emotion," said a police spokesman. "We had feared that emotions would boil over."

About 1,300 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.

Chancellor Merkel's remarks on Saturday were in stark contrast to her earlier optimism about the influx to Germany, which has taken in far more refugees 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.

"Cologne changed everything," Volker Bouffier, one of the conservative party's most senior members, told the meeting, according to people present.

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.

Of the suspects, nine were Algerian, eight Moroccan, five Iranian and four Syrian. Three German citizens, an Iraqi, a Serb and a U.S. citizen were also identified.

Similar assaults happened in other cities such as Frankfurt.

Reuters