Thousands of protesters gathered in the centre of Germany's capital Berlin to counter an anti-immigration demonstration.

The right-wing gathering was far outnumbered by the two counter demonstrations against xenophobia and racism.

Police estimated that around 7,000 people had turned out for the counter rallies.

The right-wing gathering, under the motto "Merkel has to go", was attended by only 1,000 people, after organisers had registered 5,000.

About 1,700 police were out on the streets.

READ MORE: Germany fears far-right radicalisation over refugees

"So far everything has been peaceful," police spokesman Wilfried Wenzel said. By the late afternoon there had not been any arrests. 

However, there had been several minor clashes between different groups of protesters.

A counter-demonstration For Solidarity in Berlin by an anti-Nazi group was attended by around 4,500 people holding banners and placards saying "Refugees welcome" and "Against racism and rightist violence."

A Walk for Openness and Tolerance of the Protestant Church was attended by another 2,400 people.

Source: Agencies