Hungarian President Janos Ader on Thursday signed into law a controversial labour reform dubbed a "slave law" by the opposition despite sweeping protests.

The law hikes the amount of overtime that employers can demand from 250 to 400 hours per year and allows payment to be delayed by up to three years.

"I studied the changes to the labour law, and its provisions do not run contrary to the constitution," Ader said.

Thousands of people have demonstrated against Prime Minister Viktor Orban's government since MPs passed the law on 12 December, with police and protesters clashing outside parliament.

Ader, an Orban ally, said the provisions were similar to laws governing overtime in other EU countries.

"The safeguards that protect (workers') rights have not been weakened," he said. "For these reasons I have signed the law despite the concerns."

Protesters had asked Ader not to enforce the reform and unions have threatened a general strike if he did so.

The government says the law is needed to tackle Hungary's labour shortage and that it will enable those who wish to work more hours to earn more.

The rallies have united a broad swathe of opposition parties against the government of the right-wing nationalist Orban, with another demonstration planned for Friday evening.

The opposition reacted with fury, with the far-right Jobbik party calling Ader's decision "scandalous".

Socialist MP Agnes Kunhalmi told AFP: "We're going to make our feelings clear tomorrow at the last big demonstration before the holidays -- and we will co-ordinate with the unions!"

On Monday, several thousand people gathered to protest outside the offices of the public broadcaster MTVA, as opposition MPs entered the premises and demanded a list of protesters' demands be read out.

The demonstrators have also voiced opposition to what they say is the government's increasing control over the media, the judiciary and large parts of the economy.

The largest rally in the past week was on Sunday, when 15,000 people gathered in a demonstration that ended up outside parliament.