Calling its role in transporting more than 100,000 Jews and other minorities “a black page in the history of the company”, the firm said it had accepted a recommendation to offer around €15,000 (£13,500) to each of the estimated 500 living survivors from a fund of €50m (£45m).
It will also pay compensation to an estimated 5,500 relatives of victims, including €7,500 to their widows or widowers or €5,000 to their children.
The agreement was announced by chief Roger van Boxtel at a ceremony in the Utrecht Railway Museum.
It followed a campaign by 83-year-old Salo Muller, whose parents were transported from Amsterdam to a Dutch transit camp before being sent to their deaths at Auschwitz.
Mr Muller sent his first letter to the company in 2015 and later raised the issue with Mr Van Boxtel in person.
As a result NS established a commission to look into individual reparations in November last year.
“I am relieved that it is all over,” said Mr Muller. ”But when you consider why we’re getting compensation, it makes me very sad. People were murdered.”
Some 70 per cent of the Dutch Jewish community did not survive the war. Among them was Anne Frank, who was transported from Amsterdam to the Westerbork transit camp following her arrest in August 1944.
NS was paid by the Nazi occupiers for sending the victims to the border, where they were put on German trains and taken to concentration camps
Job Cohen, the former mayor of Amsterdam who led the commission, called the payments a “moral gesture”.
“It is not possible to name a reasonable and fitting amount of money that can compensate even a bit of the suffering of those involved,” he said.
The German government has paid around €70bn in compensation for Nazi crimes, mainly to Jewish survivors, while France has paid nearly €5.5bn to French citizens and certain deportees.
In 2011 French railway company SNCF apologised for its role in transporting around 76,000 Jews to Germany during the war.
More about: Jews