Rescuers recovered 47 bodies from the capsized boat in the Daira river in Kishoreganj district, local police Chief Anwar Hossain said. The area is 50 miles (80 kilometers) north of Dhaka.
All the casualties were from the passenger boat, which was carrying more than 80 people, and there was no damage to the ferry, Hossain said by phone from the site of the accident.
"There are still some people missing, but I can't give you a number," Hossain said.
He said some passengers managed to swim to safety, while several others were rescued by villagers.
Police detained the ferry and were questioning its crew, he said.
The accident occurred a week after a triple-deck river ferry sank in southern Bangladesh, killing at least 83 people.
Boat accidents, often blamed on overcrowding and lax rules, are common in Bangladesh, a delta nation of 150 million people.