US president Donald Trump has confirmed he will not travel to the UK to open the new American embassy - because he doesn't like the location of the 1.2 billion dollar (£886 million) project.

Writing on Twitter, Trump said he thought the embassy's move from Grosvenor Square in the prestigious Mayfair district of central London to Nine Elms, south of the Thames, was a "bad deal".

He wrote: "Reason I cancelled my trip to London is that I am not a big fan of the Obama Administration having sold perhaps the best located and finest embassy in London for "peanuts," only to build a new one in an off location for 1.2 billion dollars.

"Bad deal. Wanted me to cut ribbon-NO!"

British government sources said they had never officially been informed of a date for Trump to make a visit, but speculation had suggested he would formally open the embassy at a ceremony in February.

The new building will open for business on January 16.

Despite Trump publicly blaming predecessor Barack Obama, the US announced plans to move to the new site in October 2008 - when George W Bush was in the White House.

On the embassy web page about the project, it said: "The project has been funded entirely by the proceeds of the sale of other US Government properties in London, not through appropriated funds."

Trump's decision not to head across the Atlantic comes despite Prime Minister Theresa May saying that a future visit was still on the cards last week.

A Downing Street spokesman said: "Our position is that an offer for a state visit has been extended and accepted."

May controversially extended the offer of a state visit - officially on behalf of the Queen - when she became the first world leader to meet Trump in the White House following his inauguration last year.

Since then, however, the president has indicated he does not want to take up the invitation if he is going to face mass demonstrations and it had been expected he could make a low-key working visit rather than a trip which involved all the trappings of a state occasion.

Last month, the White House said it would announce details "soon" of Trump's proposed visit to the UK.

In reply to Trump's tweet, former Labour leader Ed Miliband posted: "Nope it's because nobody wanted you to come. And you got the message."

May and Trump fell out spectacularly in November over his retweeting of anti-Muslim videos posted online by the deputy leader of the far-right Britain First group, Jayda Fransen.

At the time, the PM said Trump was "wrong" to retweet the videos, and the US president hit back at May on Twitter by telling her to focus on "destructive radical Islamic terrorism" in the UK, rather than on him.

Liberal Democrat Foreign Affairs spokesperson Jo Swinson said: "News that Trump has thrown his toys out of the pram and cancelled his trip to the UK will be welcomed by all of us who reject his abhorrent views.

"But it's a disappointing sign of how weak May's leadership is that she wasn't brave enough to call the visit off herself.

"The Prime Minister should be ashamed that she was so keen to roll out the red carpet to a man who spreads hate and division at every turn, and goes out of his way to undermine British values."

Labour MP Stephen Doughty said on Twitter: "Reason @realDonaldTrump canceled trip to London is that we are not a big fan of his racist, sexist, unthinking behaviour.

"Big protests if he came to cut ribbon. He wanted the red carpet treatment and cheering crowds - NO!"

Former Ukip leader Nigel Farage, an ally of the US President, suggested that concerns about protests may have been the real reason for the visit's cancellation.

"It's disappointing - he has been to countries all over the world and yet he has not been to the one with whom he is closest," Farage said.

Speaking on BBC Radio 4's Today programme, he accused London Mayor Sadiq Khan and Labour leader Jeremy Corbyn of supporting protests.

"Maybe, just maybe, Sadiq Khan, Jeremy Corbyn and the Labour Party planning mass protests, maybe those optics he didn't like the look of."

Labour MP Chuka Umunna said it was "very welcome he is not coming any more", adding: "He runs counter to British values."