Waving flags and singing the national anthem, thousands of Ukrainians braved the winter cold to march across Kyiv on Saturday to show unity in the face of a feared Russian invasion.

"Panic is useless. We must unite and fight for independence," said student Maria Shcherbenko, expressing a sentiment similar to that voiced by Ukranian President Volodymyr Zelensky earlier in the day.

"I remain calm. I love Ukraine," said Shcherbenko's sign as the sun briefly peeked through the clouds on a cold and blustery day.

Ukrainians sang the national anthem and voiced anger at Russian President Vladimir Putin at march across Kyiv that drew thousands
Ukrainians sang the national anthem and voiced anger at Russian President Vladimir Putin at march across Kyiv that drew thousands AFP / Chery DIEU-NALIO

Some carried signs reading "war is not the answer", while others held banners calling on the nation to "resist".

Riven by an eight-year conflict that has claimed more than 14,000 lives across its Moscow-backed separatist east, Ukraine is now facing the threat of an all-out invasion by Russia.

The Kremlin has massed more than 100,000 troops around its western neighbour, staging war games across Belarus to its north and navy drills in the Black Sea to its south.

Thousands marched across Kyiv to show unity in the face of growing fears that Russia was preparing to invade Ukraine
Thousands marched across Kyiv to show unity in the face of growing fears that Russia was preparing to invade Ukraine AFP / Sergei SUPINSKY

Washington has warned that war could break out any day. Western countries are pulling their diplomats out of Kyiv and ordering citizens to immediately get out of Ukraine.

Even Kyiv, despite calls for calm from Zelensky and a range of other leaders, has prepared a plan to evacuate the capital's three million residents.

'We will lay our soul and body for the cherished freedom,' the crowd sang, from the national anthem
'We will lay our soul and body for the cherished freedom,' the crowd sang, from the national anthem AFP / Sergei SUPINSKY

"We are here to show that we are not afraid," said Nazar Novoselsky, who joined the march across Kyiv's central avenues with his two little children.

"We will lay our soul and body for the cherished freedom," the crowd sang -- words from the national anthem -- just as they had done en masse in the months leading to Ukraine's 2014 pro-EU revolution.

After the 2014 revolt the Kremlin annexed Ukraine's Crimea peninsula and backed an insurgency across parts of the former Soviet republic's Russian-speaking industrial east.

Relations between Moscow and Kyiv have been severely strained ever since, with that tension showing in the crowd.

Many showed their support for NATO -- the Western defence alliance at the heart of Russia's dispute with the West.

Russian President Vladimir Putin wants binding security guarantees that NATO will never expand into Ukraine, also demanding that it pull out of eastern European countries that were under the Kremlin's influence during the Cold War.

But a pledge to join NATO is written into Ukraine's new constitution, and Washington has rejected the Kremlin's demands.

"Into NATO, immediately," said one sign, held up by Oleksiy Tkachenko, a 70-year-old retiree.

"Why should Putin be telling us what to do," Natalia Savostikova, a 67-year-old doctor, demanded.