At least seven people were killed and scores plucked to safety in the Philippines on Monday after a fire ripped through a ferry and forced passengers to jump overboard, coast guard and witnesses said.
The blaze broke out on the Mercraft 2 as it carried 134 passengers and crew from Polillo Island to Real in Quezon province on the main island of Luzon.
Seven people died and 120 have been rescued so far, Philippine Coast Guard spokesman Commodore Armando Balilo said.
Another seven were missing and a search operation was ongoing.
The boat had a 186-person capacity.
Thick black smoke billowed from the boat as flames engulfed the entire vessel, photos shared by the coast guard showed.
People with life rings and life vests were in the water. Some were rescued by other ferries or clambered into inflatable boats.
The fire appears to have started in the engine room, Balilo said.
"We were able to rescue 40 survivors. We have two fatalities," said Captain Brunette Azagra, whose passenger vessel was 500 metres from the Mercraft when the fire broke out.
"They were lucky because we also came from Polillo. They overtook us, but we were just nearby," Azagra told a local radio station, describing sea conditions as "quite good".
At least 23 people were injured, according to the coast guard.
The ship was around seven kilometres away from port, Real town disaster officer Ricky Poblete said.
Speaking from the hospital where the injured were being treated, Poblete said the seven dead had drowned.
Photos posted on the coast guard's Facebook page showed a survivor laying on a stretcher being carried off a ferry.
The Philippines, an archipelago of more than 7,000 islands, is plagued by poor sea transport, with its badly regulated boats and ships prone to overcrowding and accidents.
The Mercraft has been towed to shore, Balilo said. (AFP)