At least 21 asylum-seekers, including seven children, have died after their boat capsized off Indonesia on its way to Australia.

Indonesian police said the vessel was carrying asylum-seekers from several countries, including Lebanon, Jordan and Yemen.

A helicopter and more than a dozen boats were being used on Saturday to search for about 35 people believed to be missing, but strong currents and high waves were hampering the operation.

The boat capsized and sank in waters off West Java's Sukabumi district after being hit by high waves on Friday.

Twenty-eight people were rescued and taken to the Sukabumi immigration office for identification, Brigadier-General Tatang Zainudin, the National Search and Rescue Agency's operation chief, said by phone from the scene.

Among those rescued were three Lebanese nationals who were found early on Saturday after being stranded on an island about 20km from where the boat sank, Zainudin said.

The Lebanese Foreign Ministry said at least 29 Lebanese asylum-seekers remained missing on Saturday.

"There were 68 Lebanese on board," Haytham Jomaa, who is in charge of immigration affairs at the Lebanese foreign ministry, told AFP news agency.

He said 18 of the Lebanese survived the ordeal while 21 bodies were retrieved from the sea.

Jordan's Foreign Ministry said one of its citizens was among the survivors and that it was looking into whether others had been on board.

Najib Mikati, the outgoing Lebanese prime minister, said relatives of the asylum-seekers would be travelling to Indonesia to reunite with survivors and identify bodies.

Most of the Lebanese asylum-seekers hail from the town of Kabiit in Akkar, an impoverished and remote district in northern Lebanon across the border from Syria.

Thousands of asylum-seekers have travelled by boat to Australia this year, and scores have died trying to make the journey over the years.

Source: Agencies