The boat ran into difficulty some 15 nautical miles off Libya and sent out a distress call, which was picked up by the coastguard in Sicily.
Two vessels - the Doctors Without Borders (MSF) ship Dignity One and Irish patrol vessel LE Niamh - were immediately dispatched to the scene, but the boat capsized after the migrants all rushed to one side in anticipation of being rescued, the coast guard said.
"Boat carrying 600 capsized off Libya. So far, 250 rescued, 16 dead. Worried for the others," UNHCR chief spokeswoman Melissa Fleming said on Twitter.
Nawal Soufi, an Arabic-speaking Italian based in Sicily who is often contacted by migrants in distress, told AFP she had received a call earlier on Wednesday about a boat in trouble with more than 600 people on board.
Also Read
Soufi said she was called at 9am (0700 GMT) from someone onboard who said the fishing boat, carrying men, women and children, was in trouble because its engine room was flooded.
Coastguard spokesman Filippo Marini confirmed it was probably the same boat but it was too early to say how many people may have disappeared below the waves.
More than 2,000 people have died trying to cross the Mediterranean to Europe this year, according to the International Organization for Migration (IOM), while around 188,000 people have been rescued.