Tens of thousands of Hungarians have protested in Budapest against newly re-elected Prime Minister Viktor Orban, accusing him of rigging last weekend's vote.

The crowd marched through the centre of the Hungarian capital to the parliament where they were due to hold a rally under the motto "We are the majority".

"We want to live in a state of law, where checks and balances are present. We want to live in a real democracy," said protest organiser Viktor Gyetvai.

"If the demands are not met then we cannot live in this country, this is our last chance to do something for this country," he said.

According to AFP reporters at the scene, around 100,000 people took part in the march.

Mr Orban's resounding win handing him a third consecutive term has been disputed by civil society groups and opposition parties, who say he does not represent the majority of Hungarians.

OSCE observers sharply criticised the election as being marked by "intimidating and xenophobic rhetoric, media bias and opaque campaign financing".

There was also "a pervasive overlap of state and ruling party resources," the Organisation for Security and Co-operation in Europe said in a report rejected by Mr Orban's ruling party.

Mr Orban has been in power since 2010 and according to critics has curbed judicial independence, muzzled the press and rigged the electoral system.

Campaigning hard against the "poison" of immigration, he looks to have retained his two-thirds majority in parliament, giving him a legislative free rein.

With 99% of votes counted, his party, Fidesz, won around 50% of the vote, far ahead of the nationalist Jobbik party (19%) and a Socialist-led centre-left alliance (12%).

Alleged irregularities at some polling stations last Sunday as well as an IT system outage at the National Elections Office have prompted some opposition parties to demand a recount.

Protest organisers, mainly students who have led a series of demos this year, want a recount, a non-partisan public media service, fresh elections and for the opposition to unite.