The 22-year-old England international has long been a target for City boss Pep Guardiola and the fee makes him the second most expensive defender in history.
The deal was seemingly already complete on Monday after UEFA unwittingly published the player's name in the Citizen's Champions League squad before any official confirmation from either City or Everton.
But the Manchester Club were quick to make the news official with the story dominating their website on Tuesday morning where Stones revealed his delight at signing for the ambitious Premier League side.
Stones told the club's website: "I'm absolutely delighted to sign for City and now the deal's done I'm looking forward to the next stage in my career.
"I've obviously seen what's going on here at the Etihad, it's an ambitious club with a great manager so I can't wait to get stuck in and help achieve the goals.
"I know it will be tough getting a place in this team but I'm determined to become the best player I can be and help us to success.
"I had a wonderful time with Everton and wish them and their fans all the best but now I'll give my all for City."
Guardiola is excited by the signing and revealed as much when he said: "We want to help John show his quality with us and improve on what he has already achieved.
"I like the way he plays the game and I'm looking forward to welcoming him into the squad."