The Federal Labour Court said the clause in the public workers' contract allowing older workers to take more holidays violated age discrimination laws, the Berliner Zeitung daily reported on Wednesday.
While service workers' union Verdi said the ruling would affect 850,000 employees, some of whom would get four more days off than now - amounting to 1.6 million days nationwide - employers are worried about the cost, which they estimated at €250 million.
There are some 2.7 million public workers in Germany and they all have a right to 30 days holiday the court ruled.
“The ruling means an additional, significant burden for local employers,” said the leader of the local government employers' association, Manfred Hoffmann.
Previously public service workers under 30 received 26 days holiday, while those between 30 and 40 got 29. Those 40 and over received 30 days – a benefit the court said they could see no reason for.
The court said future contracts could conceivably include varying number of holiday days, but only if negotiators came up with a good reason. The judges didn't see why a 40-year-old worker needed more holiday than a 29-year old one, the paper wrote.
It remained more likely that extra holidays could be awarded for workers over 55, said Christoph Schmitz-Scholemann, a spokesman for the court. All contracts with varying amounts of holidays for workers of different ages could now be contested in court, the paper wrote.
The German government has been trying to keep as many people as possible in employment, as it faces a growing retirement problem with an ever more aging populace and fewer younger workers to support the system.
Rules limiting the amount that pensioners could earn on top of their pension are set to be relaxed, enabling them to stay in or return to valuable part-time work if they wish, it was announced earlier this week.