Some 5,000 supporters of the far-right Alternative for Germany (AfD) marched through the streets of Berlin on Sunday, but they were heavily outnumbered by those attending anti-AfD demonstrations across the city.
The AfD's anti-immigration, anti-European Union and anti-Muslim messages helped it become the third largest party in the German Bundestag in last September's vote but it has had little impact on parliamentary debate since then.
The AfD demonstrators, bussed in from around Germany, marched from Berlin's main station, down the banks of the Spree river to the Brandenburg Gate near the German parliament.
But there were around 20,000 anti-AfD protesters - according to police estimates - most of them younger people, highlighting the divisions that have emerged in Germany since the 2015 refugee crisis.
Sunday's protests were broadly peaceful, with only one minor injury reported amid a heavy police presence.