The National Fire Service said more than 100 people were injured in the crash -- Taiwan's worst railroad disaster in more than 70 years. It said the number of deaths was likely to rise.
"People just fell all over each other, on top of one another," a woman who survived the crash told a local television station. "It was terrifying. There were whole families there."
Officials believe the train was carrying more than 400 people. Many passengers were tourists or people traveling to see family ahead of a yearly religious holiday.
The train was traveling from the capital Taipei to the southeastern city of Taitung.
Feng Hui-sheng is deputy director of the Taiwan Railways Administration. He told reporters the train derailed north of the eastern city of Hualien after hitting the truck, which rolled onto the tracks from a nearby building site.
"At present it is suspected that the vehicle wasn't braked properly, and slid for around 20 meters along the site access road," Feng said.
The official added that an investigation had been launched into the crash and police had questioned one person about the truck.
Fire Service officials showed a picture of what appeared to be wreckage of the truck beside the derailed train.
Survivors described their terror as the train hit the truck and stopped.
"It suddenly came to a stop and then everything shook," one survivor told local television. "It was all so chaotic."
The crash happened as the train was entering a tunnel. Many passengers had to be led out of the tunnel to safety, railway officials said.
Taiwan's mountainous east coast is popular with tourists. The railway that travels from Taipei down the coast is known for its tunnels.
Taiwan's last major crash happened in 2018, when 18 people died and 175 were injured after a train derailed in the island's northeast.
In 1948, 64 people were estimated to have died when a train caught fire in northern Taiwan.
I'm Jonathan Evans.