More than 2,000 people were rescued on Friday and 3,000 on Saturday in dozens of separate rescues, the Italian Coast Guard said.
But at least seven people drowned as aid workers struggled to rescue more than 1,500 migrants in one operation.
An eight-year-old boy was among the dead, rescue workers said.
An earlier agency report said 20 bodies had been recovered by the Migrant Offshore Aid Station (Moas), but this was later corrected.
Moas said its rescue started in the early hours of Saturday and had continued non-stop into Sunday afternoon.
The group said it had rescued at least 453 people, but more than 1,000 remained in danger.
Chris Catrambone, one of the founders of Moas, said it had requested "urgent assistance" on Saturday morning.
"Our crew says they've never seen anything like it," the organisation tweeted.
Italian NGO Sea Eye and the German group Jugend Rettet were also aiding the rescue attempt.
Doctors without Borders (MSF) said its rescue boats Prudence and Aquarius had rescued about 1,000 people during Friday's operations, during which one migrant is believed to have died.
The improving Spring weather may have factored into the sudden surge of ocean crossings.
The Libyan coastline remains a hotspot for such rescues, as unscrupulous smugglers crowd wooden boats or inflatable dinghies with hundreds of desperate migrants.
At least 97 migrants died the previous Thursday, when their boat sank. Just 23 men were rescued, clinging to a flotation device. In late February, the bodies of 87 people washed ashore in a Libyan city.
Although the Mediterranean migrant crisis has subsided from its 2015 peak, the Libyan trafficking situation prompted EU leaders to agree a plan of action.
They gave €200m (£170m) to Libya's UN-backed government to reinforce its coastguard and disrupt the people-smuggling networks.
But that government has limited control over the largely lawless strife-torn nation, and human rights groups argue that turning refugees away and forcing them back to the dangers of Libya is unacceptable.
The United Nations estimates that 32,750 people have arrived in Europe by sea so far this year, despite the dangerous winter weather. An estimated 826 are dead, or missing.