The guide below is provided by former British cyclist Rob Hayles and was curated from BBC Sport website.
The three-week 3,540km (2,200-mile) race started in Germany with a 14km individual time trial. It ventures through Belgium and Luxembourg before heading into France. The route takes the 198 riders down the eastern side of France to the Jura mountains in the opening week before a rest-day transfer across to the Dordogne in the west. Two days in the Pyrenees mountains will dominate the second week, while the third week is all about the Alps and what race organisers will hope is a decisive 22.5km individual time trial on the penultimate stage.
See also
Overview of 2017 Tour de France
Saturday, 1 July – Stage 1: Dusseldorf, 14km (8.7 miles) individual time trial
Winner: Geraint Thomas (Great Britain/Team Sky)
Sunday, 2 July – Stage 2: Dusseldorf – Liege, 203.5km (126.5 miles)
Winner: Marcel Kittel (Germany/Quick-Step Floors)
Monday, 3 July – Stage 3: Verviers – Longwy, 212.5km (132 miles)
Winner: Peter Sagan (Slovakia/Bora-Hansgrohe)
Tuesday, 4 July – Stage 4: Mondorf-les-Bains – Vittel, 207.5km (129 miles)
Winner: Arnaud Demare (France/FDJ)
Wednesday, 5 July – Stage 5: Vittel – La Planche des Belles Filles, 160.5km (100 miles)
Winner: Fabio Aru (Italy/Astana)
Thursday, 6 July – Stage 6: Vesoul – Troyes, 216km (134.2 miles)
Winner: Marcel Kittel (Germany/Quick-Step Floors)
Friday, 7 July – Stage 7: Troyes – Nuits-Saint-Georges, 213.5km (132.7 miles)
Winner: Marcel Kittel (Germany/Quick-Step Floors)
Saturday, 8 July – Stage 8: Dole – Station des rousses, 187.5km (116.5 miles)
Winner: Lilian Calmejane (France/Direct Energie)
Sunday, 9 July – Stage 9: Nantua – Chambery, 181.5km (112.8 miles)
Winner: Rigoberto Uran (Colombia/Cannondale-Drapac)
Monday, 10 July – Rest day, Dordogne
Tuesday, 11 July – Stage 10: Perigueux – Bergerac, 178km (110.6 miles)
Winner: Marcel Kittel (Germany/Quick-Step Floors)
Wednesday, 12 July – Stage 11: Eymet – Pau, 203.5km (126.4 miles)
Winner: Marcel Kittel (Germany/Quick-Step Floors)
Thursday, 13 July – Stage 12: Pau – Peyragudes, 214.5km (133.3 miles)
Winner: Romain Bardet (France/AG2R La Mondiale)
Aru took the yellow jersey for the first time in his career after Froome faltered on the final climb. Photo BBC Sport
Friday, 14 July – Stage 13: Saint-Girons – Foix, 101km (62.8 miles)
Winner: Warren Barguil (France/Team Sunweb)
Saturday, 15 July – Stage 14: Blagnac – Rodez, 181.5km (112.8 miles)
Winner: Michael Matthews (Australia/Sunweb)
Sunday, 16 July – Stage 15: Laissac-Severac l’Eglise – Le Puy-en-Velay, 189.5km (117.7 miles)
Winner: Bauke Mollema (Netherlands/Trek-Segafredo)
Monday, 17 July – Rest day, Le Puy-en-Velay
Tuesday, 18 July – Stage 16: Le Puy-en-Velay – Romans-sur-Isere, 165km (102.5 miles)
Winner: Michael Matthews (Australia/Sunweb)
Wednesday, 19 July – Stage 17: La Mure – Serre-Chevalier, 183km (112.8 miles)
Winner:
Winner: Primoz Roglic (Slovakia/LottoNL-Jumbo)
Thursday, 20 July – Stage 18: Briancon- Izoard, 179.5km (111.5 miles)
Winner: Warren Barguil (Fra/Team Sunweb)
Friday, 21 July – Stage 19: Embrun – Salon-de-Provence, 222.5km (138.3 miles)
Winner: Edvald Boasson Hagen (Norway/Team Dimension Data)
Saturday, 22 July – Stage 20: Marseille, 22.5km (14 miles) individual time trial
Winner: Maciej Bodnar (Poland/Bora-Hansgrohe)
Sunday, 23 July – Stage 21: Montgeron – Paris Champs-Elysees, 103km (64 miles)
Winner: Dylan Groenewegen (LottoNL-Jumbo)
Dutch rider Groenewegen saw off Greipel and Boasson Hagen to win in Paris. Photo BBC Sport
Report from BBC Sport.