“A navy patrol on Monday rescued 22 clandestine migrants who were clinging to debris from their boat,” spokesman Colonel Ayoub Kassem told AFP, adding that more than 20 bodies were plucked from the water.
Survivors said some 150 people had been aboard the vessel, which sank some 100 kilometres (60 miles) east of the Libyan capital Tripoli.
Search operations for possible other survivors continued into Wednesday.
The migrants from south of the Sahara desert had sought to reach the Italian coast or nearby Malta after crossing restive and lawless Libya.
Hundreds of would-be immigrants die in the process every year, while others are detained by Italian police once they reach the southern EU member’s territorial waters or the islands of Sicily or Lampedusa.
This year nearly 80,000 migrants have landed in Italy so far, many more than the 2011 record of a total of 63,000, according to authorities in Rome.