At least 23 people were killed and 17 others were missing after a ferry caught fire Sunday off the coast of Indonesia's capital, officials said.

The vessel was carrying more than 230 people from Jakarta's port of Muara Angke to Tidung, a resort island in the Kepulauan Seribu chain, when it caught fire, officials said. Most of the passengers were Indonesians celebrating the New Year's holiday, according to local media reports.

Seply Madreta, an official from the local Disaster Mitigation Agency, said the fire gutted around half the ship. He said that about 22 injured victims were rushed to hospitals, and that 23 bodies had been recovered.

A search involving around 10 ships was underway to find those who were missing, the National Disaster Mitigation Agency said in a statement.

Witnesses told MetroTV that the fire broke out about 15 minutes after the ship left Muara Angke.

The cause of the fire was not immediately clear. Some passengers told local media that they first saw smoke coming from the ferry's engine.

TV footage showed people in the water with the ferry in flames in the background. A woman in the water can be heard screaming "Ya Allah! Ya Allah!" or "Oh God! Oh God!"

Another woman told the TV station that she and other passengers were rescued by a small boat.

Ferry accidents are common in Indonesia, the world's largest archipelagic nation, with more than 17,000 islands. Many accidents are blamed on lax regulation of boat services.