Tens of thousands of people marched in Berlin Saturday in a protest against racism amid growing concern over xenophobic incidents in the east of the country.
Organisers said at least 242,000 people turned out for the rally. Police spoke of "several tens of thousands".
"Say it loud, say it clear, we are all indivisible," the demonstrators chanted as they marched through central Berlin in blazing sunshine.
Some held up signs in support of migrant rescue missions in the Mediterranean, while others waved placards reading "More love, less hate" and "No room for Nazis.
The crowds eventually gathered at Berlin's famous Brandenburg gate where a number of German groups performed.
"It's already a success," said Theresa Hartmann, spokeswoman for the #unteilbar (indivisible) movement, who said they had only been expecting 40,000 people to turn up.
The #unteilbar collective, made up of a number of activist groups and individuals, has already staged demonstrations in the northern city of Hamburg and Munich in the south, that attracted thousands.
They are supported by trades unions, religious organisations and some charities. Foreign Minister Heiko Maas, a member of the Social Democratic Party (SPD), posted a message of support on Twitter.
The march was partly in response to the rise of the anti-immigration Alternative for Germany (AfD) party.
Building on the backlash to Chancellor Angela Merkel's decision to admit more than a million refugees in 2015 and 2016, it won its first parliamentary seats in elections last year.
At the end of August a far-right demonstration in the eastern city of Chemnitz after the murder of a German that was blamed on a refugee degenerated into attacks on foreigners.
Early in October, German police arrested six men on suspicion of having taken part in the attacks, describing them as members of a far-right "terrorist" group.