Tens of thousands of people joined weekend rallies in Germany to condemn racism and right-wing populist groups who have been railing against a record influx of migrants.
Germany -- the EU's most populous country, which last year took in over one million refugees and migrants -- has seen a surge in racist attacks and a strengthening of xenophobic and anti-Islamic groups.
The demonstrations kicked off Saturday in Bochum in western Germany and continued Sunday in Berlin, Leipzig and Munich, where thousands formed human chains.
The organisers estimated that over 33,000 people had taken part in the "hand in hand against racism" protest, linking up churches, mosques, Jewish synagogues and other landmarks.
Gatherings were also held in 16 smaller cities and a large rally was planned Sunday evening in Hamburg.
"The vast majority in Germany stand for openness and humanity, not for dull racism," said Reiner Hoffmann, head of the DGB trade union federation, one of the organisers along with Amnesty International, refugee support group Pro Asyl and several Christian charities and Muslim groups.
Germany recorded nearly 1,000 far-right offences targeting refugee shelters last year, a five-fold annual rise that came on the back of a record influx of 1.1 million asylum seekers, more than half from war-torn Syria, Iraq and Afghanistan.