Taiwan prosecutors on Friday charged a truck driver with negligent homicide over his role in the island's worst rail disaster in decades that left 49 dead and more than 200 injured.

The April 2 crash was caused by a railway maintenance truck that slid down an embankment moments before a packed train came down the line in the eastern coastal city of Hualien.

The vehicle had been stuck in bushes on a nearby road before it rolled down the slope, and prosecutors said driver Li Yi-hsiang and his Vietnamese assistant tried to free it with a rope tied to a backhoe.

"Instead of seeking professional help to free the vehicle, they recklessly tried to pull it with the wrong method, which caused the vehicle to roll down the incline," said the Hualien district prosecutors office.

"They failed to immediately alert the authorities after the incident, which led to a tragedy... that caused massive damages and shocked the international community."

Li, 49, was part of a contracted railway maintenance team that regularly inspects Taiwan's mountainous eastern train line for landslides and other hazards.

The crash in the eastern coastal city of Hualien was Taiwan's worst rail disaster in decades
The crash in the eastern coastal city of Hualien was Taiwan's worst rail disaster in decades AFP / Sam Yeh

His assistant, an undocumented migrant worker identified only as Hwa, and two Taiwanese supervisors of a construction site near the track were also charged with negligent homicide.

The offence is punishable by a maximum of five years in jail, prosecutors said.

Li faces an extra charge of fleeing the scene after the incident, which is punishable by a maximum of seven years in prison, they added.

Taiwan's transportation minister Lin Chia-lung has tendered his resignation over the train crash, which plunged the island into mourning.

The last major train derailment in Taiwan was in 2018 and left 18 people dead on the same line. The train driver was later charged with negligent homicide.

Taiwan's most deadly rail disaster on record was in 1948 when a train caught fire and 64 people perished.