Ukrainian President Volodymyr Zelensky on Saturday blasted firms including Nestle for carrying on business as usual with Russia "even though our children are dying", in a live address to a Swiss rally.

Zelensky urged Swiss companies to stop doing business in Russia and told the country's banks to freeze funds belonging to the Kremlin elite.

Speaking to a rally outside the Swiss parliament in Bern, Zelensky condemned firms that maintained business as usual despite the siege of Mariupol.

The thousands of demonstrators gathered in the square in front of the Federal Palace heard Zelensky's nine-minute speech translated in German, though technical problems interrupted the video from Kyiv.

Zelensky criticised Swiss companies for continuing to do business in Russia, singling out food giant Nestle.

The company's slogan is "good food, good life", he said.

"Business works in Russia even though our children are dying and our cities are being destroyed," and while people in Mariupol were "without food, without water, without electricity, under bombardment".

Zelensky said it was "painful" that those behind the conflict had funds stashed in Switzerland.

"The money of the people who unleashed this war is in your banks. Help fight this. So that their funds are frozen," he said, urging them to join the "fight against evil".

Zelensky criticised Swiss companies for continuing to do business in Russia, singling out food giant Nestle
Zelensky criticised Swiss companies for continuing to do business in Russia, singling out food giant Nestle AFP / Fabrice COFFRINI

Zelensky called for them to be stripped of their properties and privileges, to cheers from the crowd.

The number of rich Russians resident in Switzerland has grown in recent years.

Swiss President Ignazio Cassis joined Ukrainian and other diplomats on a stage above a banner reading "Solidarity with Ukraine. Stop the war now."

"I'm deeply impressed, dear Volodymyr, from your willingness to resist, from your willingness to go ahead, and from your willingness and the willingness of your population to overcome this terrific crisis," he told Zelensky.

Cassis said he hoped the guns would soon fall silent and said Switzerland was prepared to mediate or host negotiations.

The Swiss president said he would visit the Polish border with Ukraine on Monday.

Earlier, in a newspaper article, Cassis said Russia's war in Ukraine was driven by "devastating madness" and said Switzerland was prepared to pay the price for defending freedom and democracy, matching EU sanctions on Russia.

Yevheniia Filipenko, Ukraine's ambassador to Geneva, told the crowd in Bern: "What is happening in Ukraine is an attack not only on Ukraine, on Ukrainian people, it's an attack on all of us.

"We have to work together to ensure that these atrocities stop and will never happen again.

"Thank-you, Switzerland for you help to Ukraine and Ukrainians. Together we will win."