At least three people were killed and many others missing after a ferry with 100 passengers on board capsized in a river near the Bangladeshi capital on Friday, police said.

Divers retrieved the bodies of three passengers, a child and two women, as rescue operations began after the ferry sank in the Meghna river, said Tariqul Islam, a police officer who was supervising the operation.

Rescuers from the Fire Service and Civil Defence Department found the bodies inside the ferry after divers reached the vessel on the riverbed, he said.

More passengers might be trapped inside the boat, he said.

Local people rescued some 30 people while some others managed to swim ashore, said Kamrun Nahar, an official in Gazaria sub-district.

The ferry sank near Gazaria, some 40 kilometres south-east of Dhaka, said Kamal Hossain, the officer in charge at Gazaria police station.

The boat sank after colliding with a cargo vessel carrying sand, the police officer said quoting local people.

The ferry was heading from Narayanganj district towards Chandpur when the collision occurred.