Centrist liberal leader Rob Jetten has claimed victory in Wednesday's nail-biting Dutch election, after vote analysis indicated his party could not be beaten by anti-Islam populist Geert Wilders.

Jetten's D66 party currently has a narrow lead of 15,000 votes over Wilders' Freedom Party, and Dutch news agency ANP says even though the vote count is not complete, Wilders can no longer win.

We are the biggest party in the Netherlands! Now we'll get to work for all Dutch people, Jetten posted on X.

Wilders said it was the electoral council not a news agency that decided the result: What arrogance not to wait for that.

Projections from about 99% of the vote put both parties on 26 seats in the 150-seat parliament - but ANP says Jetten's centrists could win a 27th seat.

Jetten, 38, told reporters he was very proud of this historic result and now felt a great responsibility to form a stable and ambitious government.

Wilders had led opinion polls going into Wednesday's election, but Rob Jetten succeeded in winning in major Dutch cities including Rotterdam, The Hague, and Utrecht with a positive campaign using the catchphrase Yes, we can.

No Dutch election race has ever been so close, and if Jetten does become prime minister he will be the youngest in Dutch history.

Until now Jetten was careful not to declare victory until all votes were in, but ANP said based on figures from postal voters abroad he could now be declared the winner.

Wilders said even if D66 did go on to become the biggest party, his Freedom Party (PVV) would not let the Netherlands be broken up by Jetten and his people.

Jetten told reporters that his party had shown to the rest of Europe and the world that it is possible to beat the populist movements if you campaign with a positive message.

The Dutch electoral system is based on proportional representation in one nationwide constituency, so whichever party secures most votes wins most seats.

Jetten's liberals have so far won 16.9% of the vote, while Wilders' Freedom Party is on 16.7%. As results came in on Thursday, the race was so close that the lead flipped between the two parties.

Although the D66 leader's path to forming a coalition is not straightforward, Jetten has said he wants to make a quick start. He will need the support of at least three other parties to gather the 76 seats needed to form a coalition.

Jetten said he wanted to construct a coalition that represented the millions of voters who had backed other parties to tackle main issues, including the housing shortage and asylum and migration.