The death toll from a train crash in northern India increased to 23 after more bodies were recovered from inside mangled passenger carriages.

The passenger express was travelling to Gorakhpur city in the northern state of Uttar Pradesh yesterday morning when it ploughed into a stationary freight train at a local station.

"At least 23 people are confirmed dead and 44 are injured. The toll is expected to rise," Indian Railways spokesman Anil Kumar Saxena told AFP.

Emergency and medical teams worked into the night to prise open the carriages to reach the dead and injured, but were hampered by a lack of specialist equipment, an official said.

"The railways were slow in responding to rescue efforts. They did not even have proper tools needed for the rescue operation," said local administrator Arvind Diwedi.

"No more passengers are trapped inside. The injured were taken to hospitals in Gorakhpur and Khalilabad districts."

Six carriages were derailed in the crash.

They piled on top of one another or toppled onto their sides in fields, as police and rescue workers tried to find ways inside.

The Gorakhdham Express travelling from Hisar city smashed into the freight train at Cherub station in Khalilabad, 700km east of New Delhi.

Indian Railways has announced an investigation into the cause of the crash and additional compensation for the victims.

India's railway network, one of the world's largest, is still the main form of long-distance travel in the vast country.

However, the network is poorly funded and deadly accidents are frequent.