Navas, 27, completed a medical in New York and has now signed for City for a reported initial fee of £14.9 million.
The winger told his new club’s official website: “Manchester City is an exciting project and this is the right moment for me to take this step. I'm very happy with the opportunity and the decision.
“The Premier League is a competition where the football is very fast and will suit the way I play. I'm really looking forward to it.
“I'm going to a great club in England and I want to continue developing my game there. The club has put a lot of faith in me and I want to repay them out on the pitch.”
Navas becomes City’s second signing of the summer following the arrival of Fernandinho from Shakhtar Donetsk.