Hundreds of thousands of supporters of the European Union have marched through London in the biggest demonstration so far to demand that the British government holds a public vote on the terms of Brexit.

The People's Vote campaign said its stewards estimated the size of the crowd to be around 670,000.

The march comes after another tumultuous week for British Prime Minister Theresa May in which she failed to agree a divorce deal with EU leaders in Brussels and infuriated members of her own party by making further concessions in the talks.

With just over five months until Britain is due to leave there is no clarity about what a future trade deal with the EU will look like and some rebels in Mrs May's Conservative Party have threatened to vote down a deal if she clinches one. 

Sadiq Khan, the Mayor of London said: "Today will go down as an historic moment in our democracy.

"A moment when in their thousands, people from every corner of our country and every section of our society will take to the streets - coming to make our voice heard."

He added: "We've heard some complain that a public vote would be undemocratic and unpatriotic.

"But the opposite is true. There's nothing more democratic - nothing more British - than trusting the people to have the final say on our future.

"The lies, the mistruths and the deceptions of the referendum campaign have now been exposed, and it's clear the will of the people is changing.

"No one voted to leave the EU to make themselves poorer. No one voted to make life harder for our children and grandchildren. No one voted to see our NHS damaged."

"And no one voted for the shambles that this Government has created."

James McGrory, one of the organisers of the march, said the public should have the chance to change their minds because the decision will impact their lives for generations.

"People think the Brexit negotiations are a total mess, they have no faith in the government to deliver the promises that were made, partly because they cannot be delivered," he said.

In a video message of support, Nicola Sturgeon, the First Minister of Scotland, said: "Let me say this loudly and clearly, if the issue comes before the House of Commons, SNP MPs will support a People's Vote which includes the option to remain in the EU."

She added: "The Tory government's handling of these negotiations has been chaotic, incompetent and shambolic.

"Having spent two years telling us that no deal was better than a bad deal, the prime minister is now preparing to pile pressure on MPs to vote for a bad or blindfold deal on the grounds that 'no deal' would be catastrophic.

"She is trying to scare the UK into the frying pan out of fear of the fire. It is a scandal and it should not be accepted."

The march was led by a group of young voters calling for a second referendum.

In Belfast over 1,000 people attended an anti-Brexit event outside the City Hall.

The 'Rally for Remain' was organised by members of the SDLP and Alliance parties.

Some participants carried "Who Speaks for the 56%?" placards - a reference to Northern Ireland's Brexit Referendum majority that favoured staying in the EU.

A number of speakers criticised the influence of the DUP in the Brexit negotiations.

Britain's 2016 referendum saw 52% vote in favour of leaving the European Union. But the past two years have been politically fraught as the British government has struggled to agree on a plan and there are fears that Britain could leave the bloc without a deal. 

Some opinion polls have shown a slight shift in favour of remaining in the European Union, but there has yet to be a decisive change in attitudes and many in Britain say they have become increasingly bored by Brexit.

The British prime minister has repeatedly ruled out holding a second referendum. The opposition Labour party's Brexit spokesman said last month his party open to a second referendum with the option of staying in the bloc in certain circumstances.