The fares freeze was a significant promise made by Mr Khan during this year's mayoral election race.
The mayor said the fares freeze would save the average household £200 over the next four years.
The freeze is expected to cost £640m. It will not apply to travelcards, monthly Oyster cards or daily caps.
They can be used on services provided by other operators.
During the mayoral election campaign Mr Khan promised Londoners "won't pay a penny more for their travel in 2020 than they do today".
Bus and tram tickets, Pay As You Go journeys on the Tube, Docklands Light Railway and TfL rail services will all be frozen.
Bike hire charges will also not rise before 2020.
But TfL will have to make cuts of at least £591m by 2018, the point at which it will lose its government operational grant.
The fares freeze is likely to mean further cuts to TfL's budget as it seeks to absorb the cost.
The mayor has undertaken a review of TfL's layers of management, promised to cut agency staff, review projects and freeze salaries of top managers to make savings.
He also repeated his call for the government to follow his lead and freeze fares on rail routes into the capital, including services run by troubled Southern Railway.
Mr Khan said: "After years of huge fare increases for London passengers, I'm delighted to be formally announcing our plans to freeze TfL fares across London's transport network.
"Before taking office I was determined to ensure we took significant action to make public transport more affordable and we've already taken major steps through the introduction of the Hopper ticket that in just two months has saved Londoners money on over 10 million bus journeys."
London Mayor Sadiq Khan has confirmed fares across the Transport for London (TfL) network will be frozen from January until 2020.