
A pro-democracy protest rallying against right-wing extremism brought 30,000 onto the streets of Berlin in chilly winter weather, a week before Germany's elections.
The organisers of the "Brave. Human. Together" protest held on Bebelplatz in the heart of the German capital, put the number at 38,000.
The square and the Unter den Linden promenade were crowded, with many bringing their children to hear performances at the event.
Looking ahead to next Sunday's elections, a demonstrator said: "I see great danger that democracy will be the loser and that parties will gain power that undermine democracy and kill it".
She nevertheless drew hope from the number of people at the rally.
"Feeling that there are people who think exactly the way we do or similarly - that gives me strength somehow," she said.
Rabbi Andreas Nachama and Protestant Bishop Christian Stäblein spoke against anti-Semitism and racism.
"Respect for human dignity and humanity brings us together today, respect for everyone," Stäblein said, extending his hand to Nachama on the stage.
The gathering held a minute's silence for a mother and her two-year-old daughter who died in a car-ramming attack in Munich this week.
Much of Europe is holding its breath for the German election result.
US billionaire and ally of President Donald Trump Elon Musk has given full-throated endorsement of the anti-immigrant and anti-EU AfD party on several occasions in the run-up to the German poll.
AfD is labelled as right-wing extremist by German security services but is currently polling second in nationwide surveys, where the debate on immigration magnified after a string of violent attacks by foreign-born suspects.