Police said that at least eight carriages jumped the tracks near Muzaffarnagar, about 130km (80 miles) north of the capital Delhi.
The cause of the crash, which happened on Saturday evening, is not yet clear.
Rescuers worked into the night to find survivors. TV footage showed carriages piled on top of one another.
The train had been travelling to the Hindu holy city of Haridwar, in the foothills of the Himalayas, from Puri, in eastern Odisha state.
"We are struggling to pull out the injured and are waiting for gas cutters to arrive," said police officer Ajay Pandey at the scene.
"It's too dark to launch a fully fledged search operation but our teams are trying their best."
Indian Prime Minister Narendra Modi tweeted his condolences to families of the victims and pledged all possible assistance.
Train accidents are fairly common in India. The railway system carries more than 22 million passengers a day and much of the equipment is out of date.
An accident in Uttar Pradesh last November killed 150 people and another in the same state a year before killed 39.
At least 23 people were killed and more than 60 injured when a train derailed in the northern Indian state of Uttar Pradesh.