At least 13 civilians have been killed in a Russian air strike which hit a bread factory in northern Ukraine, while the bombardment continued in a besieged city in the country's south where people remain stuck without food and water.
The strike on the factory in Makariv, just west of the capital Kyiv, took place as the number of refugees fleeing across Ukraine's borders passed 1.7 million, according to United Nations figures.
Local emergency services who provided the death toll said around 30 people were in the factory when it was hit but only five had been rescued.
Russia denied targeting civilians as its forces pressed on with their sieges and bombing of Ukrainian cities on the 12th day of the war.
Speaking on a Zoom call with a Jewish group in the US, Ukrainian President Volodymyr Zelenskyy said: "The bakery was eliminated. And this is happening in different cities."
No food, water or power for those trapped in Mariupol
In one of the most desperate cities, the encircled southern port of Mariupol, an estimated 200,000 people — nearly half the population of 430,000 — were hoping to flee, and Red Cross officials waited to hear when a corridor would be established.
Those inside the city were trapped without food and water under regular bombardment.
"They're bombing the life out of everything that is moving," Mr Zelenskyy said.
Power and mobile phone networks were down and shops were looted as residents searched for essential goods.
Police moved through the city, advising people to remain in shelters until they heard official evacuation messages broadcast over loudspeakers.
Hospitals in Mariupol are facing severe shortages of antibiotics and painkillers, and doctors performed some emergency procedures without them.
The lack of phone service left anxious citizens approaching strangers to ask if they knew relatives living in other parts of the city and whether they were safe.
The battle for Mariupol is crucial because its capture could allow Moscow to establish a land corridor to Crimea, which Russia seized from Ukraine in 2014.
Klitschko says Kyiv 'will fight to the death'
In the capital Kyiv, soldiers and volunteers built hundreds of checkpoints to protect the city of nearly 4 million, using sandbags, stacked tires and spiked cables.
Some barricades looked significant, with heavy concrete slabs and sandbags piled more than two storeys high, while others appeared more haphazard, with hundreds of books used to weigh down stacks of tires.
"Every house, every street, every checkpoint, we will fight to the death if necessary," said mayor Vitali Klitschko, a former heavyweight boxing champion.
In Kharkiv, Ukraine's second-largest city with 1.4 million people, heavy shelling slammed into apartment buildings.
Police said 10 people had been killed over the past day, taking the total official death toll there from Russian bombardment to 143 since the start of the invasion. It was not possible to verify the toll.
"I think it struck the fourth floor under us," Dmitry Sedorenko said from his Kharkiv hospital bed.
When the floor collapsed beneath him, he crawled out through the third storey, past the bodies of some of his neighbours.
Mr Klitschko reported that fierce battles continued in the Kyiv region, notably around Bucha, Hostomel, Vorzel and Irpin.
In the Irpin area near Kyiv, which has been cut off from electricity, water and heat for three days, witnesses saw at least three tanks and said Russian soldiers were seizing houses and cars.
A few kilometres away, in the small town of Horenka, where shelling reduced one area to ashes and shards of glass, rescuers and residents picked through the ruins as chickens pecked around them.
"What are they doing?" rescue worker Vasyl Oksak asked of the Russian attackers.
"There were two little kids and two elderly people living here. Come in and see what they have done."
ABC/Wires