Local officials said dozens of other passengers were being treated in nearby hospitals for minor injuries, and Interior Minister Manuel Valls said the death toll could rise.
The train – a regional service that travels more slowly than France’s TGV express trains – veered off the track en route from Paris to the city of Limoges at the station of Bretigny-sur-Orge, 26 km (16 miles) south of Paris.
President Francois Hollande said there would be a thorough investigation into what had happened and sympathised with families for the fact it would take time to identify victims.
“A catastrophe has taken place,” he told reporters at the scene, adding that the station would be shut for three days.
National rail operator SNCF said the train, travelling at peak rush hour around 5 p.m. (1500 GMT) just as many families were heading off on summer holidays, was carrying 370 people and that an investigation was under way into what had happened.
It said six of the train’s carriages derailed.
The train had not been scheduled to stop at Bretigny-sur-Orge and passengers told local media it was travelling fast as it approached the station.
TV images showed one of the carriages smashed against a platform at the station, 26 km (16 miles) south of Paris. Trapped passengers were still being helped to safety.
Passengers told local media the victims had been crushed or electrocuted, and many of those hurt had been hit by flying glass from the train windows.
“We felt a big impact – as if we had run up onto something – then the train started to keel over and it came off the track. I was in the carriage that fell over,” a passenger named Annie told France Info radio.
France’s last major rail accident was in 1988, when a commuter train headed into Paris’s Gare de Lyon crashed into a stationary train, killing 56 people, after its brakes failed.
SNCF Chairman Guillaume Pepy was first at the scene, where a fleet of helicopters ferried the worst hurt to hospital, and said the cause of the derailment was not yet known.
Local lawmaker Michel Pouzol said all the carriages would have to be emptied before the final death toll would be known.
“The death toll is changing constantly at this point and unfortunately it will probably rise,” Valls said.