Thousands of anti-capitalist protesters marched through Zurich on Tuesday and other major Swiss cities to demonstrate against a planned visit by U.S. President Donald Trump to the World Economic Forum's annual meeting this week.
Leftists organisers had called for protests under the mottos "Trump Not Welcome" and "Smash WEF!"
Trump is due to speak on Friday at the WEF meeting in the Alpine town of Davos, an annual meeting of global business and political leaders where protests have been banned.
Flag-waving demonstrators, whom Zurich police estimated at 2,000, carried anti-globalist and environmentalist placards such as "No Trump, no coal, no gas, no fossil fuels" as they marched toward Zurich's financial district, where bankers had been warned to stay clear of the approved demonstration.
Swiss television RSR showed a sign that read "Who was the Shithole?", in reference to reported remarks by Trump about Haiti and African countries, which he has denied.
Similar protests took place, with several hundred protesters each, in public squares in Geneva, Lausanne and Fribourg. Geneva signs read "World Economic Fiasco", "racist sexist capitalist" and "Don't touch women's rights".
Paolo Gilardi, Geneva demonstrator organiser, told Reuters TV: "While the Swiss Federal Council (Swiss cabinet) is about to welcome and unroll the red carpet for Mister Trump, well we think that the population has something to say."
"... this policy is unacceptable because the goal of this policy is to reduce the planet to fire and blood and to assure the powerful people’s domination over the rest of the world."
Earlier in Geneva, protesters laid a wreath at the entrance of the U.S. diplomatic mission in memory of Heather Heyer, who was killed in Charlottesville, Virginia amid clashes between hundreds of white supremacists and counter-protesters last August.
After the rally, Trump inflamed tensions by saying there were "very fine people" on both sides, drawing condemnation from some Republican leaders and praise from white supremacists.
Earlier this month, demonstrators also protested against Trump's visit in the Swiss capital of Bern.
That march went off peacefully, unlike violent anti-WEF protests in several Swiss citities in the early 2000s.
More than 4,000 Swiss soldiers have deployed to guard Davos alongside 1,000 police, while a no-fly zone was put in place to protect delegates.