State news agency IRNA, quoting a provincial governor, said the accident took place in the morning as the train was travelling along the Caspian Sea in Mazandaran province.
"30 train passengers were injured in this incident and were sent to hospitals in Behshahr and Galoogah," said Zakariya Ashkpoor.
ISNA news agency quoted the head of the regional railway authority, Yusef Geranpasha, as saying that 150 passengers were on board the train and that those hurt were only lightly injured.
As a result he crossed the railroad and crashed into the train, he said.
Also Read
The train was travelling between the city of Pol-e-Sefid in Mazadaran province and Gorgan in the nearby province of Golestan, he added.
Road accidents kill at least 20,000 people each year in Iran.
Today's collision was the fourth this year involving a train and a vehicle in northern Iran.