More than 12,000 showed up in Berlin in support of refugees and to criticise a new EU agreement to stem the flow of migrants arriving in Europe.
Thousands marched through Berlin and other German cities on Saturday to protest against EU policy on refugees after the European body struck a controversial agreement to stem the flow of migrants.
Around 12,000 people attended a rally in Berlin, while Munich and Leipzig also saw protests called for by charity organisations including German-based Lifeline, whose rescue boats were recently preventing from entering Italian waters.
The Lifeline vessel, with more than 230 migrants aboard, was ultimately forced to dock in Malta where it was impounded last month.
Some demonstrators held up rescue vests and carried signs reading "humanity is not a political opinion" and "human rights don't stop at the Mediterranean".
Protesters vented their ire at the hardline German interior minister Horst Seehofer and far-right European politicians including Italy's interior minister Matteo Salvini and Austrian leader Sebastian Kurz.
"They are flouting human rights, it is not acceptable and is repugnant," rally organisers said beforehand.
More than 1,400 people have drowned attempting to cross the Mediterranean so far this year according to the International Organization for Migration, the UN's migration agency.
The deal reached last week includes the creation of secure centres for migrants, "disembarkation platforms" outside the bloc and sharing out refugees among member states.
The accord came after Italy's new far-right and populist government was sworn in.
Several EU leaders have accused NGO ships of indirectly aiding human traffickers, saying they should let the Libyan coastguard coordinate rescue missions and take the migrants back to Libya.
Also on Saturday, Italy said it reactivated a "friendship deal" with Libya that would allow it to send back migrants in exchange for providing investment into the North African country.
Jordan's military has vowed again to keep the border with Syria closed, despite pressure from the UN and other bodies to admit refugees.
The Syrian regime on Tuesday called on refugees to return home, saying it has successfully cleared large areas of "terrorists."