The country with the largest intake of refugees is Poland, which has seen more than 2.8 million people pass through its border, according to latest figures.
Meanwhile, 757,000 people have fled to Romania and 550,000 to Russia.
Hungary has welcomed 471,000 Ukrainians since the invasion began, and Moldova 427,000 people.
A further 343,000 people have gone to Slovakia and with the lowest intake, 24,000 have entered neighbouring Belarus.
The increasing number of people leaving the country comes as Russia’s military presence on Ukraine’s eastern border has continued to build.
The UK Ministry of Defence’s daily intelligence update has said that fighting in Ukraine’s eastern Donbas region is intensifying as Russian forces seek to break through Ukrainian Defences.
Meanwhile, continued attacks on cities across Ukraine “shows their intent to try and disrupt the movement of Ukrainian reinforcements and weaponry to the east of the country”.
It comes as a ceasefire was proposed in the area surrounding the Azovstal steel and iron works in the beiseiged port city of Mariupol, which has been cut off from aid for many weeks now.
Troops would observe the ceasefire while the proposal was in effect from 2pm Moscow time (11am GMT) on April 20, according to Russia’s defence ministry.
However, a Ukrainian commander told the Washington Post that his forces at the steel plant “will not lay down our weapons” in a show of no surrender against Russian troops.
A European official told Reuters News Agency on Tuesday that the southern Ukrainian city could fall into Russian control “within days”.
Meanwhile, more people have left the devastated city, which has seen some of the worst bombardment during the invasion, after new humanitarian corridors were established.
Ukraine’s deputy prime minister Iryna Vereshchuk said on Wednesday: “We managed to pre-agree a humanitarian corridor for women, children and older people.
“Given the catastrophic humanitarian situation in Mariupol, this is where we will focus our efforts today.”