Ten bodies were recovered on Monday, four on Tuesday and two on Wednesday, a Malaysian Maritime Enforcement Agency spokesman told AFP.
Some of the bodies were washed ashore on a beach near the southeastern town of Mersing while others were recovered from the sea.
The boat was believed to be carrying about 40 Indonesian illegal immigrants when it capsized in rough seas off Mersing.
A sea search was briefly suspended Tuesday due to bad weather but has since resumed, said the spokesman.
More From This Section
The 27-foot boat, designed for only 15 people, was travelling from Indonesia's Batam Island to Malaysia.
Indonesian illegal migrants often make the perilous journey in small rickety boats to Malaysia in search of work, mainly in construction and agriculture.
Last November a speedboat believed to be carrying illegal Indonesian migrant workers returning from Malaysia sank near Batam. More than 40 people were missing.