There have also been counter-demonstrations in some countries.
Europe is struggling to cope with an enormous influx of people, mostly from Syria, who are fleeing violence and poverty in their own countries.
More than 9,000 migrants arrived in Munich on Saturday. Germany expects 40,000 to arrive over the weekend.
Chancellor Angela Merkel defended the decision to let in large numbers of refugees, saying she was “convinced it was right”.
However, she faces growing criticism from her political allies, including the premier of the state of Bavaria, who told Der Spiegel magazine (in German) the situation would soon be beyond control.
Around 4,000 troops are being deployed in Germany for logistical support.
Support and opposition
In London, tens of thousands of people, some carrying placards that read “Open the Borders” and “Refugees In” marched towards the prime ministerial residence in Downing Street.
There were similar demonstrations in other UK cities.
The British government has said it will take up to 20,000 refugees over five years, but from camps in the Middle East rather than people arriving in Europe.
In the Swedish capital Stockholm, about 1,000 people appealed for more generous support for refugees.
“Sweden can do much more, not only because it has the capacity to do so, but also because it, along with the European Union, bears some responsibility for the conflict in Syria,” said demonstrator Joakim, 38, who took part with his two children.
An estimated 30,000 people rallied gathered outside parliament in the Danish capital Copenhagen, chanting “Say it loud and say it clear, refugees are welcome here”.
Mohammed Harra, who was born in Morocco, told Denmark’s Politiken newspaper: “I am here to support refugees who have been driven out of their houses because of what has happened in Syria, with the bombings and the killings.”