At least 23 people have been killed and dozens injured after at least eight carriages of a train derailed in northern India.

Carriages slammed into each other as the train came off the rails near Muzaffarnagar district, in the state of Uttar Pradesh and about 80 miles north of India's capital New Delhi.

The train had been heading to the Hindu holy city of Haridwar.

Anand Kumar, a senior police officer in the state, said more than 80 people were injured.

Image:Emergency workers say darkness has made the rescue mission more difficult

Many of the train's passengers are still trapped inside carriages.

Railway police and local residents are working together to rescue the stranded passengers but some of the carriages are piled on top of each other and others have overturned, making the rescue mission difficult.

Ajay Pandey, a senior police officer at the site of the crash, said: "We are struggling to pull out injured, and are waiting for gas cutters to arrive.

"It's too dark to launch a full fledged search operation, but our teams are trying their best."

Crashes are common in India and Saturday's derailment is at least the fourth major passenger train derailment this year and the third in Uttar Pradesh since the start of 2017.

Less than a year ago, 146 people were killed in Uttar Pradesh after 14 carriages of a passenger train came off the tracks and in January, nearly 40 people died when eight coaches and the engine of a passenger train derailed in Andra Pradesh.

Image:Locals are helping emergency workers to rescue the stranded passengers

India has the world's fourth-largest rail network but it suffers from decades of under-funding, leaving its overcrowded trains running on struggling infrastructure.

In June, it was revealed that a major safety overhaul had been delayed because the state steel company could not meet demand for new rails.