"The ferry tried to return 500 metres after passing our port, but it capsized," said Reka Yusmara Mardiputra, a spokesman for Teluk Lamongport.
Other passengers were still being rescued, he said.
East Java police spokesman Argo Yuwono said the ship was carrying about 100 people. "So far there have not been any fatalities," he said. Twenty-five people were taken to a hospital, some with bruises and broken bones, he said.