The Sriwijaya Air disappeared from radars four minutes into its journey to Pontianak in West Kalimantan province.
It is thought to have dropped more than 3,000m (10,000ft) in less than a minute, according to flight tracking website Flightradar24.com.
According to registration details, the plane is a 26-year-old Boeing 737-500.
It was in good condition, Sriwijaya Air chief executive Jefferson Irwin Jauwena told reporters. Take-off had been delayed for 30 minutes due to heavy rain.
Witnesses said they had seen and heard at least one explosion.
Fisherman Solihin, who goes by one name, told the BBC Indonesian service he had witnessed a crash and his captain decided to return to land.
“The plane fell like lightning into the sea and exploded in the water,” he said.
“It was pretty close to us, the shards of a kind of plywood almost hit my ship.”
A number of residents of an island near where the plane disappeared told the BBC they had found objects they thought were from the plane
The transport ministry said search and rescue efforts were under way.
The Indonesian navy has been deployed to look for the aircraft, reports say. Navy official Abdul Rasyid told Reuters news agency it had determined the plane’s coordinates and ships had been deployed to the location.
The aircraft is not a 737 Max, the Boeing model that was grounded from March 2019 until last December following two deadly crashes.