The boat set sail from the southern Malaysian state of Johor and was headed towards Indonesia's Batam island, just south of Singapore, the Indonesian national disaster mitigation agency said in a statement.
A police spokesman said earlier at least 18 people were killed.
The boat crashed into a reef after being hit by big waves and strong wind, and sank at around dawn, the disaster agency said. About 39 people were evacuated and a search and rescue team was looking for the rest.
Many Indonesians work in Malaysian factories and plantations.