{"id":6943,"date":"2026-06-04T14:04:22","date_gmt":"2026-06-04T12:04:22","guid":{"rendered":"https:\/\/franceletour.com\/?page_id=6943"},"modified":"2026-06-09T16:36:09","modified_gmt":"2026-06-09T14:36:09","slug":"tour-de-france-2026-schedule","status":"publish","type":"page","link":"https:\/\/franceletour.com\/fr\/tour-de-france-2026-schedule\/","title":{"rendered":"Tour de France 2026 Schedule: All 21 Stages, Dates, &amp; Start Times in your time zone"},"content":{"rendered":"<style>.wp-block-kadence-advancedheading.kt-adv-heading6943_582762-63, .wp-block-kadence-advancedheading.kt-adv-heading6943_582762-63[data-kb-block=\"kb-adv-heading6943_582762-63\"]{font-style:normal;text-transform:uppercase;}.wp-block-kadence-advancedheading.kt-adv-heading6943_582762-63 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading6943_582762-63[data-kb-block=\"kb-adv-heading6943_582762-63\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading6943_582762-63 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading6943_582762-63[data-kb-block=\"kb-adv-heading6943_582762-63\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h1 class=\"kt-adv-heading6943_582762-63 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading6943_582762-63\">Tour de France 2026 Schedule: All 21 Stages, Dates, &amp; Start Times in your time zone<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">This is the complete Tour de France 2026 stage schedule \u2014 every stage, every date, every confirmed start time converted to your timezone, from the Barcelona Grand D\u00e9part on July 4 to the Paris Champs-\u00c9lys\u00e9es finale on July 26. Whether you\u2019re planning to watch Flat, Hilly or <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-mountain-stages\/\">Mountain stages<\/a>, live, figuring out what time to set your alarm, or tracking the race week by week, this page has the confirmed, up-to-date answer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-route\/\" data-type=\"page\" data-id=\"6973\">113th Tour de France route<\/a> covers 3,333 km across 21 stages over 23 days. It opens with a <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-stage-1\/\">team time trial in Barcelona<\/a>, the first TTT stage opener since 1971, and closes with three Montmartre climbs before the traditional Champs-\u00c9lys\u00e9es sprint. In between: two Pyrenean stages, the Massif Central, the Vosges, and a brutal Alpine finale that sends the peloton up Alpe d\u2019Huez on back-to-back days for the first time in Grand Tour history.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Two rest days fall on July 13 and July 20. The route was revealed by race director Christian Prudhomme on October 23, 2025, at the Palais des Congr\u00e8s in Paris.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_50ee66-81 .kt-block-spacer{height:47px;}.wp-block-kadence-spacer.kt-block-spacer-6943_50ee66-81 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_50ee66-81\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading6943_59543f-56, .wp-block-kadence-advancedheading.kt-adv-heading6943_59543f-56[data-kb-block=\"kb-adv-heading6943_59543f-56\"]{font-style:normal;text-transform:uppercase;}.wp-block-kadence-advancedheading.kt-adv-heading6943_59543f-56 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading6943_59543f-56[data-kb-block=\"kb-adv-heading6943_59543f-56\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading6943_59543f-56 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading6943_59543f-56[data-kb-block=\"kb-adv-heading6943_59543f-56\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading6943_59543f-56 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading6943_59543f-56\">Tour de France 2026 Stage Start Times \u2014 When Does Each Stage Begin?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The start time question is the most searched and most poorly answered piece of information across every TDF schedule page. Here are the confirmed times for every scenario, in every major viewing timezone.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Tour runs on Central European Summer Time (CEST), which is UTC+2 during July. All times below use CEST as the base.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Team Presentation \u2014 Barcelona, Wednesday, July 1, 18:00 CEST<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Before a single wheel turns in anger, all 23 teams are presented to the public at Pla\u00e7a de Catalunya in Barcelona on Wednesday, July 1, 2026, from 18:00 CEST (16:00 UTC \/ 17:00 BST \/ 12:00 EDT \/ 09:00 PDT). The presentation is free to attend and marks the official opening of the 2026 Grand D\u00e9part week. GC leaders, sprint stars, and debutants all appear on stage. It is the best chance fans in Barcelona will get to see every rider up close before the racing starts. All 23 team buses will be inside the Catalan customs zone by this date \u2014 a logistical requirement that has reshaped team preparation schedules across the entire June race calendar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Stage 1 TTT Rollout \u2014 July 4, 2026 (Evening Start)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 1 runs entirely in the evening, a deliberate ASO decision to maximise prime-time viewing across Europe. The first team rolls out at 17:05 CEST. The last team departs at 18:55 CEST. All 23 teams are expected to have finished by approximately 19:15 CEST, before darkness falls over Barcelona.<\/p>\n\n\n\n<style>\n\/* Stage 1 TTT Rollout \u2013 card matching your existing design *\/\n.ttt-rollout-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.ttt-rollout-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.ttt-rollout-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.ttt-rollout-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.2rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.ttt-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n.ttt-table-wrapper {\n  padding: 1.2rem 1.5rem 1.5rem;\n  overflow-x: auto;\n}\n\n.ttt-table {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.85rem;\n}\n\n.ttt-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.7rem;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n  text-align: left;\n  padding: 0.6rem 0.75rem;\n  background: rgba(234,243,222,0.6);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.ttt-table tbody td {\n  padding: 0.7rem 0.75rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  color: #1a1a1a;\n  font-weight: 500;\n}\n\n.ttt-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.ttt-table tbody td:first-child {\n  font-weight: 600;\n  color: #000;\n}\n\n.ttt-table .td-highlight {\n  background: #FFC72C;\n  color: #000;\n  font-weight: 600;\n  border-radius: 3px;\n  padding: 2px 4px;\n  display: inline-block;\n  line-height: 1;\n}\n\n.ttt-table .td-plus-day {\n  font-size: 0.65rem;\n  color: #aaa;\n  margin-left: 3px;\n  white-space: nowrap;\n}\n\n.ttt-note {\n  padding: 0.5rem 1.5rem 1.2rem;\n  font-size: 0.72rem;\n  color: #666;\n  line-height: 1.5;\n  border-top: 1px solid rgba(99,153,34,0.1);\n}\n\n@media (max-width: 600px) {\n  .ttt-rollout-header {\n    flex-wrap: wrap;\n  }\n  .ttt-table-wrapper {\n    padding: 0.8rem;\n  }\n  .ttt-table thead th,\n  .ttt-table tbody td {\n    padding: 0.5rem 0.5rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"ttt-rollout-wrap\">\n  <div class=\"ttt-rollout-card\">\n    \n    <div class=\"ttt-rollout-header\">\n      <h3 class=\"ttt-rollout-title\">Stage 1 TTT Rollout \u2013 Your Local Time<\/h3>\n      <span class=\"ttt-badge\">Barcelona TTT<\/span>\n    <\/div>\n\n    <div class=\"ttt-table-wrapper\">\n      <table class=\"ttt-table\">\n        <thead>\n          <tr>\n            <th>Timezone<\/th>\n            <th>First Team Off<\/th>\n            <th>Last Team Off<\/th>\n            <th>Est. Finish<\/th>\n          <\/tr>\n        <\/thead>\n        <tbody>\n          <tr>\n            <td><span class=\"td-highlight\">CEST<\/span> (Spain\/FR)<\/td>\n            <td>17:05<\/td>\n            <td>18:55<\/td>\n            <td>~19:15<\/td>\n          <\/tr>\n          <tr>\n            <td>BST (UK)<\/td>\n            <td>16:05<\/td>\n            <td>17:55<\/td>\n            <td>~18:15<\/td>\n          <\/tr>\n          <tr>\n            <td>EDT (US East)<\/td>\n            <td>11:05<\/td>\n            <td>12:55<\/td>\n            <td>~13:15<\/td>\n          <\/tr>\n          <tr>\n            <td>PDT (US West)<\/td>\n            <td>08:05<\/td>\n            <td>09:55<\/td>\n            <td>~10:15<\/td>\n          <\/tr>\n          <tr>\n            <td>AEST (AUS)<\/td>\n            <td>01:05 <span class=\"td-plus-day\">(+1 day)<\/span><\/td>\n            <td>02:55 <span class=\"td-plus-day\">(+1 day)<\/span><\/td>\n            <td>~03:15 <span class=\"td-plus-day\">(+1 day)<\/span><\/td>\n          <\/tr>\n          <tr>\n            <td>IST (India)<\/td>\n            <td>20:35<\/td>\n            <td>22:25<\/td>\n            <td>~22:45<\/td>\n          <\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n\n    <div class=\"ttt-note\">\n      <strong>Note:<\/strong> CEST timezone is the race\u2019s local time. The first team rolls down the start ramp at 17:05 local Barcelona time. AEST times fall on the next calendar day (5 July).\n    <\/div>\n\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Teams launch at 2-minute intervals. GC leaders typically appear in the last 5\u20138 teams off. The individual finish-time format means GC riders must decide whether to pace with teammates or push ahead solo on the Montju\u00efc climb, a tactical question that has preoccupied team directors since the route was announced.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">All 21 Stages \u2014 Local and International Time Schedule<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Standard stage start times follow three patterns confirmed by ASO for the 2026 edition:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Flat and hilly road stages:<\/em> neutral roll-out ~13:05 CEST, racing flag ~13:30 CEST<\/li>\n\n\n\n<li><em>Mountain stages:<\/em> neutral roll-out ~12:15 CEST, racing flag ~12:45 CEST<\/li>\n\n\n\n<li><em>Individual Time Trial (Stage 16):<\/em> first rider off ~12:30 CEST, GC leaders finish ~17:30 CEST<\/li>\n\n\n\n<li><em>Paris finale (Stage 21):<\/em> roll-out ~16:30 CEST, Champs-\u00c9lys\u00e9es finish ~20:00 CEST<\/li>\n<\/ul>\n\n\n\n<style>\n\/* Stage schedule \u2013 interactive cards with icons and expandable details *\/\n.st-schedule-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n\/* Main card container *\/\n.st-schedule-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n\/* Header \u2013 same style as previous cards *\/\n.st-schedule-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.st-schedule-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.2rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.st-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n\/* Legend with icons *\/\n.st-legend {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n  padding: 1rem 1.5rem;\n  border-bottom: 1px solid rgba(99,153,34,0.1);\n}\n\n.st-legend-item {\n  display: inline-flex;\n  align-items: center;\n  gap: 4px;\n  font-size: 0.7rem;\n  font-weight: 500;\n  color: #555;\n}\n\n.st-legend-icon {\n  width: 18px;\n  height: 18px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.st-legend-icon svg {\n  width: 14px;\n  height: 14px;\n  stroke: #444;\n}\n\n\/* ========= Scrollable table wrapper (mobile) ========= *\/\n.st-table-scroll {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n\/* Desktop: no visible scrollbar unless needed *\/\n@media (min-width: 769px) {\n  .st-table-scroll {\n    overflow-x: hidden;\n  }\n}\n\/* ===================================================== *\/\n\n\/* Column headers *\/\n.st-columns {\n  display: grid;\n  grid-template-columns: 40px 70px minmax(90px, 1fr) 120px 60px 60px 60px 60px 60px;\n  gap: 0;\n  padding: 0.7rem 1.5rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n  background: rgba(234,243,222,0.5);\n  min-width: max-content;   \/* force scroll on mobile *\/\n}\n\n.st-col-header {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.6rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  color: #27500A;\n  text-align: center;\n}\n\n.st-col-header:first-child,\n.st-col-header:nth-child(2),\n.st-col-header:nth-child(3),\n.st-col-header:nth-child(4) {\n  text-align: left;\n}\n\n\/* Stage entry \u2013 interactive row + hidden details *\/\n.st-stage-entry {\n  cursor: pointer;\n  transition: background 0.2s ease;\n}\n\n.st-stage-entry:hover {\n  background: #eef4e0;\n}\n\n.st-stage-row {\n  display: grid;\n  grid-template-columns: 40px 70px minmax(90px, 1fr) 120px 60px 60px 60px 60px 60px;\n  gap: 0;\n  padding: 0.65rem 1.5rem;\n  align-items: center;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  min-width: max-content;   \/* force scroll on mobile *\/\n}\n\n\/* Stage details panel \u2013 hidden by default, expands on hover *\/\n.st-stage-details {\n  max-height: 0;\n  overflow: hidden;\n  transition: max-height 0.35s ease, padding 0.35s ease;\n  background: rgba(255,255,255,0.6);\n  padding: 0 1.5rem;\n  border-bottom: 1px solid rgba(99,153,34,0.1);\n  font-size: 0.8rem;\n  color: #333;\n  line-height: 1.6;\n}\n\n.st-stage-entry:hover .st-stage-details {\n  max-height: 100px;\n  padding: 0.7rem 1.5rem;\n}\n\n\/* Stage number *\/\n.st-num {\n  font-family: 'Galibier', sans-serif;\n  font-weight: 700;\n  font-size: 0.85rem;\n  color: #888;\n}\n\n.st-num.queen { color: #B8920A; }\n.st-num.rest { color: #ccc; }\n\n\/* Date *\/\n.st-date {\n  font-size: 0.75rem;\n  color: #666;\n  font-weight: 500;\n}\n\n\/* Start town *\/\n.st-town {\n  font-weight: 600;\n  color: #111;\n  font-size: 0.85rem;\n}\n\n\/* Type column with icon *\/\n.st-type {\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  font-size: 0.75rem;\n  font-weight: 500;\n  color: #1a1a1a;\n  white-space: nowrap;      \/* keep icon and text on one line *\/\n}\n\n.st-type-icon {\n  width: 20px;\n  height: 20px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n}\n\n.st-type-icon svg {\n  width: 16px;\n  height: 16px;\n}\n\n\/* Time cells *\/\n.st-time {\n  font-size: 0.75rem;\n  font-weight: 500;\n  color: #111;\n  text-align: center;\n}\n\n.st-time.cest-highlight {\n  background: #FFC72C;\n  color: #000;\n  border-radius: 4px;\n  padding: 2px 4px;\n  font-weight: 600;\n}\n\n.st-time.rest,\n.st-time.rest + .st-time {\n  color: #ccc;\n  font-weight: 400;\n}\n\n\/* Rest day special row *\/\n.st-row-rest .st-stage-row {\n  grid-template-columns: 40px 70px minmax(90px, 1fr) 120px 60px 60px 60px 60px 60px;\n}\n\n.st-rest-label {\n  grid-column: 3 \/ 10;\n  text-align: center;\n  font-size: 0.75rem;\n  font-weight: 600;\n  color: #aaa;\n  letter-spacing: 0.5px;\n}\n\n\/* Foot notes *\/\n.st-footnotes {\n  padding: 1rem 1.5rem;\n  font-size: 0.72rem;\n  color: #777;\n  line-height: 1.6;\n  border-top: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n}\n\n.st-footnotes p {\n  margin: 0 0 4px 0;\n}\n\n.st-footnotes strong {\n  color: #333;\n  font-weight: 600;\n}\n\n\/* Responsive refinements: still scrollable, but wider type column & minimum start town *\/\n@media (max-width: 768px) {\n  .st-columns,\n  .st-stage-row {\n    grid-template-columns: 35px 60px minmax(80px, 1fr) 90px 48px 48px 48px 48px 48px;\n    padding: 0.5rem 1rem;\n  }\n  .st-col-header {\n    font-size: 0.55rem;\n  }\n  .st-time {\n    font-size: 0.65rem;\n  }\n  .st-num {\n    font-size: 0.75rem;\n  }\n  .st-town {\n    font-size: 0.8rem;\n  }\n  .st-type {\n    font-size: 0.7rem;\n  }\n}\n\n@media (max-width: 480px) {\n  .st-columns,\n  .st-stage-row {\n    grid-template-columns: 30px 55px minmax(75px, 1fr) 85px 44px 44px 44px 44px 44px;\n    padding: 0.4rem 0.8rem;\n  }\n  .st-col-header {\n    font-size: 0.5rem;\n  }\n  .st-time {\n    font-size: 0.6rem;\n  }\n  .st-num {\n    font-size: 0.7rem;\n  }\n  .st-town {\n    font-size: 0.75rem;\n  }\n  .st-type {\n    font-size: 0.65rem;\n  }\n}\n<\/style>\n\n<div class=\"st-schedule-wrap\">\n  <div class=\"st-schedule-card\">\n    \n    <!-- Header -->\n    <div class=\"st-schedule-header\">\n      <h3 class=\"st-schedule-title\">Full Stage Schedule &#8211; Your local time<\/h3>\n      <span class=\"st-badge\">2026<\/span>\n    <\/div>\n\n    <!-- Legend with icons -->\n    <div class=\"st-legend\">\n      <div class=\"st-legend-item\">\n        <span class=\"st-legend-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"><\/line><polyline points=\"7 8 3 12 7 16\"><\/polyline><\/svg><\/span> Flat\n      <\/div>\n      <div class=\"st-legend-item\">\n        <span class=\"st-legend-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 17l6-6 4 4 8-8\"><\/path><circle cx=\"19\" cy=\"5\" r=\"1\"><\/circle><\/svg><\/span> Hilly\n      <\/div>\n      <div class=\"st-legend-item\">\n        <span class=\"st-legend-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"3 17 9 11 13 15 21 5\"><\/polyline><polyline points=\"15 5 21 5 21 11\"><\/polyline><\/svg><\/span> Mountain\n      <\/div>\n      <div class=\"st-legend-item\">\n        <span class=\"st-legend-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 21 12 17.77 5.82 21 7 14.14 2 9.27l6.91-1.01L12 2z\"><\/path><\/svg><\/span> Summit finish\n      <\/div>\n      <div class=\"st-legend-item\">\n        <span class=\"st-legend-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg><\/span> Time trial\n      <\/div>\n      <div class=\"st-legend-item\">\n        <span class=\"st-legend-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"><\/path><circle cx=\"9\" cy=\"7\" r=\"4\"><\/circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"><\/path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"><\/path><\/svg><\/span> TTT\n      <\/div>\n      <div class=\"st-legend-item\">\n        <span class=\"st-legend-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2 4l3 12h14l3-12-6 5-4-5-4 5-6-5z\"><\/path><\/svg><\/span> Queen stage\n      <\/div>\n      <div class=\"st-legend-item\">\n        <span class=\"st-legend-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><line x1=\"4.93\" y1=\"4.93\" x2=\"19.07\" y2=\"19.07\"><\/line><\/svg><\/span> Rest day\n      <\/div>\n    <\/div>\n\n    <!-- Scrollable table area -->\n    <div class=\"st-table-scroll\">\n      <!-- Column headers -->\n      <div class=\"st-columns\">\n        <div class=\"st-col-header\">#<\/div>\n        <div class=\"st-col-header\">Date<\/div>\n        <div class=\"st-col-header\">Start town<\/div>\n        <div class=\"st-col-header\">Type<\/div>\n        <div class=\"st-col-header\" style=\"color:#000;font-weight:700;\">CEST<\/div>\n        <div class=\"st-col-header\">BST<\/div>\n        <div class=\"st-col-header\">EDT<\/div>\n        <div class=\"st-col-header\">PDT<\/div>\n        <div class=\"st-col-header\">AEST<\/div>\n      <\/div>\n\n      <!-- Stage 1 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">1<\/div>\n          <div class=\"st-date\">Sat Jul 4<\/div>\n          <div class=\"st-town\">Barcelona<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"><\/path><circle cx=\"9\" cy=\"7\" r=\"4\"><\/circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"><\/path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"><\/path><\/svg><\/span> TTT\n          <\/div>\n          <div class=\"st-time cest-highlight\">17:05*<\/div>\n          <div class=\"st-time\">16:05<\/div>\n          <div class=\"st-time\">11:05<\/div>\n          <div class=\"st-time\">08:05<\/div>\n          <div class=\"st-time\">01:05<span style=\"font-size:0.6rem;color:#aaa;\"> +1<\/span><\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Team Time Trial<\/strong> \u00b7 Barcelona city circuit, 25 km. First team off at 17:05 CEST. GC contenders will test their squads early.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 2 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">2<\/div>\n          <div class=\"st-date\">Sun Jul 5<\/div>\n          <div class=\"st-town\">Tarragona<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 17l6-6 4 4 8-8\"><\/path><circle cx=\"19\" cy=\"5\" r=\"1\"><\/circle><\/svg><\/span> Hilly\n          <\/div>\n          <div class=\"st-time cest-highlight\">13:05<\/div>\n          <div class=\"st-time\">12:05<\/div>\n          <div class=\"st-time\">07:05<\/div>\n          <div class=\"st-time\">04:05<\/div>\n          <div class=\"st-time\">21:05<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Hilly<\/strong> stage through Catalonia. Several 3rd-category climbs before a flat finish. Opportunity for breakaway riders.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 3 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">3<\/div>\n          <div class=\"st-date\">Mon Jul 6<\/div>\n          <div class=\"st-town\">Granollers<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"3 17 9 11 13 15 21 5\"><\/polyline><polyline points=\"15 5 21 5 21 11\"><\/polyline><\/svg><\/span> Mountain\n          <\/div>\n          <div class=\"st-time cest-highlight\">12:15<\/div>\n          <div class=\"st-time\">11:15<\/div>\n          <div class=\"st-time\">06:15<\/div>\n          <div class=\"st-time\">03:15<\/div>\n          <div class=\"st-time\">20:15<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Mountain<\/strong> stage to the Pyrenean foothills. Two 2nd-category climbs. First GC selection possible.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 4 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">4<\/div>\n          <div class=\"st-date\">Tue Jul 7<\/div>\n          <div class=\"st-town\">Carcassonne<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 17l6-6 4 4 8-8\"><\/path><circle cx=\"19\" cy=\"5\" r=\"1\"><\/circle><\/svg><\/span> Hilly\n          <\/div>\n          <div class=\"st-time cest-highlight\">13:05<\/div>\n          <div class=\"st-time\">12:05<\/div>\n          <div class=\"st-time\">07:05<\/div>\n          <div class=\"st-time\">04:05<\/div>\n          <div class=\"st-time\">21:05<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Hilly<\/strong> with a punchy final 3km. Classic puncheur finish.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 5 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">5<\/div>\n          <div class=\"st-date\">Wed Jul 8<\/div>\n          <div class=\"st-town\">Lannemezan<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"><\/line><polyline points=\"7 8 3 12 7 16\"><\/polyline><\/svg><\/span> Flat\n          <\/div>\n          <div class=\"st-time cest-highlight\">13:05<\/div>\n          <div class=\"st-time\">12:05<\/div>\n          <div class=\"st-time\">07:05<\/div>\n          <div class=\"st-time\">04:05<\/div>\n          <div class=\"st-time\">21:05<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Flat<\/strong> stage for the sprinters. Long, straight roads, expected bunch finish.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 6 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">6<\/div>\n          <div class=\"st-date\">Thu Jul 9<\/div>\n          <div class=\"st-town\">Pau<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 21 12 17.77 5.82 21 7 14.14 2 9.27l6.91-1.01L12 2z\"><\/path><\/svg><\/span> Summit \u2b50\n          <\/div>\n          <div class=\"st-time cest-highlight\">12:15<\/div>\n          <div class=\"st-time\">11:15<\/div>\n          <div class=\"st-time\">06:15<\/div>\n          <div class=\"st-time\">03:15<\/div>\n          <div class=\"st-time\">20:15<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Summit finish<\/strong> in the Pyrenees. HC climb to the line. First major GC battle expected.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 7 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">7<\/div>\n          <div class=\"st-date\">Fri Jul 10<\/div>\n          <div class=\"st-town\">Hagetmau<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"><\/line><polyline points=\"7 8 3 12 7 16\"><\/polyline><\/svg><\/span> Flat\n          <\/div>\n          <div class=\"st-time cest-highlight\">13:05<\/div>\n          <div class=\"st-time\">12:05<\/div>\n          <div class=\"st-time\">07:05<\/div>\n          <div class=\"st-time\">04:05<\/div>\n          <div class=\"st-time\">21:05<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Flat<\/strong> transition stage. Another chance for the fast men.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 8 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">8<\/div>\n          <div class=\"st-date\">Sat Jul 11<\/div>\n          <div class=\"st-town\">P\u00e9rigueux<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"><\/line><polyline points=\"7 8 3 12 7 16\"><\/polyline><\/svg><\/span> Flat\n          <\/div>\n          <div class=\"st-time cest-highlight\">13:05<\/div>\n          <div class=\"st-time\">12:05<\/div>\n          <div class=\"st-time\">07:05<\/div>\n          <div class=\"st-time\">04:05<\/div>\n          <div class=\"st-time\">21:05<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Flat<\/strong> stage through Dordogne. Sprinters&#8217; teams will control the breakaway.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 9 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">9<\/div>\n          <div class=\"st-date\">Sun Jul 12<\/div>\n          <div class=\"st-town\">Malemort<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 17l6-6 4 4 8-8\"><\/path><circle cx=\"19\" cy=\"5\" r=\"1\"><\/circle><\/svg><\/span> Hilly\n          <\/div>\n          <div class=\"st-time cest-highlight\">13:05<\/div>\n          <div class=\"st-time\">12:05<\/div>\n          <div class=\"st-time\">07:05<\/div>\n          <div class=\"st-time\">04:05<\/div>\n          <div class=\"st-time\">21:05<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Hilly<\/strong> with short, steep climbs. Ideal for a late attack.\n        <\/div>\n      <\/div>\n\n      <!-- REST DAY 1 -->\n      <div class=\"st-stage-entry st-row-rest\">\n        <div class=\"st-stage-row\" style=\"grid-template-columns:40px 70px minmax(90px,1fr) 120px 60px 60px 60px 60px 60px;\">\n          <div class=\"st-num rest\">\u2014<\/div>\n          <div class=\"st-date rest\">Mon Jul 13<\/div>\n          <div class=\"st-rest-label\">REST DAY 1 \u00b7 Cantal<\/div>\n          <div class=\"st-time rest\">\u2014<\/div><div class=\"st-time rest\">\u2014<\/div><div class=\"st-time rest\">\u2014<\/div><div class=\"st-time rest\">\u2014<\/div><div class=\"st-time rest\">\u2014<\/div>\n        <\/div>\n        <div class=\"st-stage-details\" style=\"max-height:0;\"><\/div>\n      <\/div>\n\n      <!-- Stage 10 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">10<\/div>\n          <div class=\"st-date\">Tue Jul 14<\/div>\n          <div class=\"st-town\">Aurillac<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 21 12 17.77 5.82 21 7 14.14 2 9.27l6.91-1.01L12 2z\"><\/path><\/svg><\/span> Summit \u2b50\n          <\/div>\n          <div class=\"st-time cest-highlight\">12:15<\/div>\n          <div class=\"st-time\">11:15<\/div>\n          <div class=\"st-time\">06:15<\/div>\n          <div class=\"st-time\">03:15<\/div>\n          <div class=\"st-time\">20:15<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Bastille Day summit finish<\/strong>. HC climb to the line. Massive crowds expected.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 11 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">11<\/div>\n          <div class=\"st-date\">Wed Jul 15<\/div>\n          <div class=\"st-town\">Vichy<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"><\/line><polyline points=\"7 8 3 12 7 16\"><\/polyline><\/svg><\/span> Flat\n          <\/div>\n          <div class=\"st-time cest-highlight\">13:05<\/div>\n          <div class=\"st-time\">12:05<\/div>\n          <div class=\"st-time\">07:05<\/div>\n          <div class=\"st-time\">04:05<\/div>\n          <div class=\"st-time\">21:05<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Flat<\/strong> stage. Bunch sprint likely. Recovery day after the mountains.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 12 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">12<\/div>\n          <div class=\"st-date\">Thu Jul 16<\/div>\n          <div class=\"st-town\">Nevers<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"><\/line><polyline points=\"7 8 3 12 7 16\"><\/polyline><\/svg><\/span> Flat\n          <\/div>\n          <div class=\"st-time cest-highlight\">13:05<\/div>\n          <div class=\"st-time\">12:05<\/div>\n          <div class=\"st-time\">07:05<\/div>\n          <div class=\"st-time\">04:05<\/div>\n          <div class=\"st-time\">21:05<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Flat<\/strong> stage through Burgundy. Another sprinter&#8217;s day.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 13 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">13<\/div>\n          <div class=\"st-date\">Fri Jul 17<\/div>\n          <div class=\"st-town\">Dole<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 17l6-6 4 4 8-8\"><\/path><circle cx=\"19\" cy=\"5\" r=\"1\"><\/circle><\/svg><\/span> Hilly\n          <\/div>\n          <div class=\"st-time cest-highlight\">13:05<\/div>\n          <div class=\"st-time\">12:05<\/div>\n          <div class=\"st-time\">07:05<\/div>\n          <div class=\"st-time\">04:05<\/div>\n          <div class=\"st-time\">21:05<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Hilly<\/strong> terrain in the Jura foothills. Breakaway specialists will be active.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 14 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">14<\/div>\n          <div class=\"st-date\">Sat Jul 18<\/div>\n          <div class=\"st-town\">Mulhouse<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"3 17 9 11 13 15 21 5\"><\/polyline><polyline points=\"15 5 21 5 21 11\"><\/polyline><\/svg><\/span> Mountain\n          <\/div>\n          <div class=\"st-time cest-highlight\">12:15<\/div>\n          <div class=\"st-time\">11:15<\/div>\n          <div class=\"st-time\">06:15<\/div>\n          <div class=\"st-time\">03:15<\/div>\n          <div class=\"st-time\">20:15<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Mountain<\/strong> stage in the Vosges. Five categorised climbs. Key stage before the second rest day.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 15 -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">15<\/div>\n          <div class=\"st-date\">Sun Jul 19<\/div>\n          <div class=\"st-town\">Champagnole<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 21 12 17.77 5.82 21 7 14.14 2 9.27l6.91-1.01L12 2z\"><\/path><\/svg><\/span> Summit \u2b50\n          <\/div>\n          <div class=\"st-time cest-highlight\">12:15<\/div>\n          <div class=\"st-time\">11:15<\/div>\n          <div class=\"st-time\">06:15<\/div>\n          <div class=\"st-time\">03:15<\/div>\n          <div class=\"st-time\">20:15<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Summit finish<\/strong> in the Jura. Steep final climb. GC contenders can&#8217;t relax.\n        <\/div>\n      <\/div>\n\n      <!-- REST DAY 2 -->\n      <div class=\"st-stage-entry st-row-rest\">\n        <div class=\"st-stage-row\" style=\"grid-template-columns:40px 70px minmax(90px,1fr) 120px 60px 60px 60px 60px 60px;\">\n          <div class=\"st-num rest\">\u2014<\/div>\n          <div class=\"st-date rest\">Mon Jul 20<\/div>\n          <div class=\"st-rest-label\">REST DAY 2 \u00b7 Haute-Savoie<\/div>\n          <div class=\"st-time rest\">\u2014<\/div><div class=\"st-time rest\">\u2014<\/div><div class=\"st-time rest\">\u2014<\/div><div class=\"st-time rest\">\u2014<\/div><div class=\"st-time rest\">\u2014<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Stage 16 ITT -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">16<\/div>\n          <div class=\"st-date\">Tue Jul 21<\/div>\n          <div class=\"st-town\">\u00c9vian-les-Bains<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg><\/span> ITT\n          <\/div>\n          <div class=\"st-time cest-highlight\">12:30\u2020<\/div>\n          <div class=\"st-time\">11:30<\/div>\n          <div class=\"st-time\">06:30<\/div>\n          <div class=\"st-time\">03:30<\/div>\n          <div class=\"st-time\">20:30<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Individual Time Trial<\/strong> \u00b7 26 km around Lake Geneva. Rolling profile. First rider off at 12:30 CEST.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 17 (Flat) -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">17<\/div>\n          <div class=\"st-date\">Wed Jul 22<\/div>\n          <div class=\"st-town\">Chamb\u00e9ry<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"><\/line><polyline points=\"7 8 3 12 7 16\"><\/polyline><\/svg><\/span> Flat\n          <\/div>\n          <div class=\"st-time cest-highlight\">13:05<\/div>\n          <div class=\"st-time\">12:05<\/div>\n          <div class=\"st-time\">07:05<\/div>\n          <div class=\"st-time\">04:05<\/div>\n          <div class=\"st-time\">21:05<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Flat<\/strong> transition stage. Chamb\u00e9ry \u2192 Voiron, sprinters&#8217; chance before the Alps.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 18 (Hilly) -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">18<\/div>\n          <div class=\"st-date\">Thu Jul 23<\/div>\n          <div class=\"st-town\">Voiron<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 17l6-6 4 4 8-8\"><\/path><circle cx=\"19\" cy=\"5\" r=\"1\"><\/circle><\/svg><\/span> Hilly\n          <\/div>\n          <div class=\"st-time cest-highlight\">13:05<\/div>\n          <div class=\"st-time\">12:05<\/div>\n          <div class=\"st-time\">07:05<\/div>\n          <div class=\"st-time\">04:05<\/div>\n          <div class=\"st-time\">21:05<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Hilly<\/strong> \u2013 Voiron to Gap, 184 km. Not a summit finish, but lumpy enough for breakaways.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 19 Summit (Alpe d\u2019Huez Day 1) -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">19<\/div>\n          <div class=\"st-date\">Fri Jul 24<\/div>\n          <div class=\"st-town\">Gap<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 21 12 17.77 5.82 21 7 14.14 2 9.27l6.91-1.01L12 2z\"><\/path><\/svg><\/span> Summit \u2b50\n          <\/div>\n          <div class=\"st-time cest-highlight\">12:15<\/div>\n          <div class=\"st-time\">11:15<\/div>\n          <div class=\"st-time\">06:15<\/div>\n          <div class=\"st-time\">03:15<\/div>\n          <div class=\"st-time\">20:15<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Alpe d\u2019Huez \u2013 Day 1<\/strong> \u00b7 Gap \u2192 Alpe d\u2019Huez, 128 km. 13.8 km at 8.1%, the classic 21 hairpins.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 20 QUEEN -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num queen\">20<\/div>\n          <div class=\"st-date\">Sat Jul 25<\/div>\n          <div class=\"st-town\">Le Bourg-d&#8217;Oisans<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M2 4l3 12h14l3-12-6 5-4-5-4 5-6-5z\"><\/path><\/svg><\/span> Queen \u2b50\u2b50\n          <\/div>\n          <div class=\"st-time cest-highlight\">12:15<\/div>\n          <div class=\"st-time\">11:15<\/div>\n          <div class=\"st-time\">06:15<\/div>\n          <div class=\"st-time\">03:15<\/div>\n          <div class=\"st-time\">20:15<\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Queen stage<\/strong> \u00b7 171 km, 5,600 m climbing. Croix de Fer, T\u00e9l\u00e9graphe, Galibier (2,645 m), then Alpe d\u2019Huez. Decides the yellow jersey.\n        <\/div>\n      <\/div>\n\n      <!-- Stage 21 FINALE -->\n      <div class=\"st-stage-entry\">\n        <div class=\"st-stage-row\">\n          <div class=\"st-num\">21<\/div>\n          <div class=\"st-date\">Sun Jul 26<\/div>\n          <div class=\"st-town\">Thoiry<\/div>\n          <div class=\"st-type\">\n            <span class=\"st-type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"><\/line><polyline points=\"7 8 3 12 7 16\"><\/polyline><\/svg><\/span> Flat \/ Finale\n          <\/div>\n          <div class=\"st-time cest-highlight\">16:30<\/div>\n          <div class=\"st-time\">15:30<\/div>\n          <div class=\"st-time\">10:30<\/div>\n          <div class=\"st-time\">07:30<\/div>\n          <div class=\"st-time\">00:30<span style=\"font-size:0.6rem;color:#aaa;\"> +1<\/span><\/div>\n        <\/div>\n        <div class=\"st-stage-details\">\n          <strong>Paris finale<\/strong> \u00b7 130 km, three ascents of Montmartre, then sprint on the Champs-\u00c9lys\u00e9es.\n        <\/div>\n      <\/div>\n\n    <\/div><!-- \/st-table-scroll -->\n\n    <!-- Footnotes -->\n    <div class=\"st-footnotes\">\n      <p><strong>*<\/strong> Stage 1 TTT: first team off at 17:05 CEST. Last team departs 18:55 CEST.<\/p>\n      <p><strong>\u2020<\/strong> Stage 16 ITT: first rider off at 12:30 CEST. GC leaders start approximately 17:00\u201317:30 CEST.<\/p>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">What Time Do Stages Typically Finish?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Finish times depend on stage distance and terrain. The typical patterns for 2026:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Flat sprint stages (158\u2013205 km): finish approximately 17:00\u201317:30 CEST (15:00\u201315:30 BST \/ 11:00\u201311:30 EDT). Stage 13 at 205 km will run longest, likely finishing ~18:00 CEST.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mountain and summit stages (128\u2013196 km): finish approximately 17:30\u201318:30 CEST (15:30\u201316:30 BST \/ 11:30\u201312:30 EDT). Stage 20 at 171 km with 5,600m of climbing may not finish until 18:30\u201319:00 CEST.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 16 ITT (26 km): the final GC riders cross around 17:30\u201318:00 CEST. Specialists and lower-ranked riders start earlier; team leaders ride last.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 21 Paris: the Champs-\u00c9lys\u00e9es sprint finish lands around 19:30\u201320:00 CEST (17:30\u201318:00 BST \/ 13:30\u201314:00 EDT \/ 03:30\u201304:00 AEST the following morning).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For Australian viewers: most mountain stage finishes land between 01:30 and 02:30 AEST. SBS On Demand replays are available from approximately 06:00 AEST each morning \u2014 making it realistic to watch the full previous stage before the next one starts that evening.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_171526-8d .kt-block-spacer{height:45px;}.wp-block-kadence-spacer.kt-block-spacer-6943_171526-8d .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_171526-8d\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">How the Le Tour 2026 Schedule Breaks Down \u2014 Week by Week<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The 2026 Tour de France divides into three distinct weeks with different terrain, different characters, and different tactical questions. Understanding the week structure tells you more about this race than any stage-by-stage table.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">Week 1 Schedule \u2014 July 4 to July 12, Stages 1\u20139<\/h3>\n\n\n\n<style>\n\/* Week 1 Overview card \u2013 matches existing Tour design *\/\n.week1-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.week1-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.week1-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.week1-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.2rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.week1-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n.week1-body {\n  padding: 1.2rem 1.5rem 1.5rem;\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n}\n\n.week1-item {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n}\n\n.week1-icon {\n  width: 24px;\n  height: 24px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n  color: #27500A;\n  margin-top: 2px;\n}\n\n.week1-icon svg {\n  width: 18px;\n  height: 18px;\n  stroke: #27500A;\n}\n\n.week1-label {\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.7px;\n  color: #27500A;\n  margin: 0 0 3px 0;\n}\n\n.week1-text {\n  font-size: 0.85rem;\n  color: #1a1a1a;\n  line-height: 1.6;\n  margin: 0;\n}\n\n.week1-text strong {\n  font-weight: 600;\n  color: #000;\n}\n\n.week1-highlight {\n  background: #FFC72C;\n  color: #000;\n  padding: 0 6px;\n  border-radius: 4px;\n  font-weight: 600;\n  font-size: 0.78rem;\n}\n\n@media (max-width: 600px) {\n  .week1-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n}\n<\/style>\n\n<div class=\"week1-wrap\">\n  <div class=\"week1-card\">\n    \n    <div class=\"week1-header\">\n      <h3 class=\"week1-title\">Week 1 Overview<\/h3>\n      <span class=\"week1-badge\">Stages 1\u20139<\/span>\n    <\/div>\n\n    <div class=\"week1-body\">\n\n      <!-- Dates -->\n      <div class=\"week1-item\">\n        <div class=\"week1-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"><\/rect>\n            <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"><\/line>\n            <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"><\/line>\n            <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"><\/line>\n          <\/svg>\n        <\/div>\n        <div>\n          <p class=\"week1-label\">Dates<\/p>\n          <p class=\"week1-text\">Saturday <strong>July 4<\/strong> \u2192 Sunday <strong>July 12<\/strong><\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Route -->\n      <div class=\"week1-item\">\n        <div class=\"week1-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle>\n            <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"><\/line>\n            <path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"><\/path>\n          <\/svg>\n        <\/div>\n        <div>\n          <p class=\"week1-label\">Route<\/p>\n          <p class=\"week1-text\">\n            <strong>Spain<\/strong> (Stages 1\u20133) \u2192 <strong>Pyrenees<\/strong> \u2192 <strong>Southwest France<\/strong> (Bordeaux, P\u00e9rigueux, Corr\u00e8ze)\n          <\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Stage count -->\n      <div class=\"week1-item\">\n        <div class=\"week1-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <polyline points=\"3 17 9 11 13 15 21 5\"><\/polyline>\n            <polyline points=\"15 5 21 5 21 11\"><\/polyline>\n          <\/svg>\n        <\/div>\n        <div>\n          <p class=\"week1-label\">Stage count<\/p>\n          <p class=\"week1-text\"><span class=\"week1-highlight\">9 racing stages<\/span><\/p>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Week 1 opens unlike any Tour in 55 years. Stage 1 is a team time trial, the last time the Tour started with one was in 1971 in Mulhouse. From there, riders have no recovery period: Stage 3 already climbs into the Pyrenees toward Les Angles, and Stage 6 delivers the Tourmalet, followed by the new Gavarnie-G\u00e8dre summit finish. By the time Stage 9 rolls into Ussel on July 12, the GC battle will already have had one definitive verdict.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sprint opportunities exist on Stages 5, 7, and 8, but they are surrounded by danger. The first week is harder than it looks on paper. Three sprint stages sandwiched around two Pyrenean mountain stages means that any rider losing concentration on stages that \u201cshouldn\u2019t\u201d cost time will already be paying for it before the race reaches its second rest day.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Week 1 closing question: Who absorbed the TTT and the Tourmalet without losing time \u2014 and who is already in damage control?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Week 1 end date: Sunday, July 12, Ussel, Corr\u00e8ze.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Rest Day 1 \u2014 Monday, July 13, Cantal<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Rest days are not recovery days. Every team bus, every team truck, and the entire ASO race convoy transfers from the Corr\u00e8ze to the Cantal on July 13. Team leaders give press conferences. Directors sportifs run internal debriefs. Physiotherapists and doctors assess injuries. The day off is a 12-hour workday for everyone except the riders, who are still riding, typically 60\u201390 minutes at recovery pace to flush lactic acid. The timing of Rest Day 1, coming immediately before Stage 10 on Bastille Day, is deliberate. A rested peloton hitting a French national holiday summit finish is exactly what ASO\u2019s race directors want.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">Week 2 Schedule \u2014 July 14 to July 19, Stages 10\u201315<\/h3>\n\n\n\n<style>\n\/* Week 2 Overview card \u2013 matches existing Tour design *\/\n.week2-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.week2-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.week2-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.week2-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.2rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.week2-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n.week2-body {\n  padding: 1.2rem 1.5rem 1.5rem;\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n}\n\n.week2-item {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n}\n\n.week2-icon {\n  width: 24px;\n  height: 24px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n  color: #27500A;\n  margin-top: 2px;\n}\n\n.week2-icon svg {\n  width: 18px;\n  height: 18px;\n  stroke: #27500A;\n}\n\n.week2-label {\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.7px;\n  color: #27500A;\n  margin: 0 0 3px 0;\n}\n\n.week2-text {\n  font-size: 0.85rem;\n  color: #1a1a1a;\n  line-height: 1.6;\n  margin: 0;\n}\n\n.week2-text strong {\n  font-weight: 600;\n  color: #000;\n}\n\n.week2-highlight {\n  background: #FFC72C;\n  color: #000;\n  padding: 0 6px;\n  border-radius: 4px;\n  font-weight: 600;\n  font-size: 0.78rem;\n}\n\n@media (max-width: 600px) {\n  .week2-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n}\n<\/style>\n\n<div class=\"week2-wrap\">\n  <div class=\"week2-card\">\n    \n    <div class=\"week2-header\">\n      <h3 class=\"week2-title\">Week 2 Overview<\/h3>\n      <span class=\"week2-badge\">Stages 10\u201315<\/span>\n    <\/div>\n\n    <div class=\"week2-body\">\n\n      <!-- Dates -->\n      <div class=\"week2-item\">\n        <div class=\"week2-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"><\/rect>\n            <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"><\/line>\n            <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"><\/line>\n            <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"><\/line>\n          <\/svg>\n        <\/div>\n        <div>\n          <p class=\"week2-label\">Dates<\/p>\n          <p class=\"week2-text\">Tuesday <strong>July 14<\/strong> \u2192 Sunday <strong>July 19<\/strong><\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Route -->\n      <div class=\"week2-item\">\n        <div class=\"week2-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle>\n            <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"><\/line>\n            <path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"><\/path>\n          <\/svg>\n        <\/div>\n        <div>\n          <p class=\"week2-label\">Route<\/p>\n          <p class=\"week2-text\">\n            <strong>Massif Central<\/strong> (Aurillac, Vichy) \u2192 <strong>Loire Valley<\/strong> (Nevers, Chalon-sur-Sa\u00f4ne) \u2192 <strong>Jura<\/strong> (Dole, Belfort) \u2192 <strong>Vosges<\/strong> (Mulhouse, Le Markstein) \u2192 <strong>Alps<\/strong> (Champagnole \u2192 Solaison)\n          <\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Stage count -->\n      <div class=\"week2-item\">\n        <div class=\"week2-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <polyline points=\"3 17 9 11 13 15 21 5\"><\/polyline>\n            <polyline points=\"15 5 21 5 21 11\"><\/polyline>\n          <\/svg>\n        <\/div>\n        <div>\n          <p class=\"week2-label\">Stage count<\/p>\n          <p class=\"week2-text\"><span class=\"week2-highlight\">6 racing stages<\/span><\/p>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Week 2 start date: Tuesday, July 14. Week 2 finish date: Sunday, July 19, Plateau de Solaison.<br>Week 2 closing question: Who cracks on a climb they have never raced before?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Rest Day 2 \u2014 Monday, July 20, Haute-Savoie<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Rest Day 2 carries more tactical weight than any other day in the 2026 schedule. It falls immediately before Stage 16, the only individual time trial of the entire race. 26 km along Lake Geneva. The GC leaders have one night to decide whether they have enough to attack on the ITT or must sit in and limit damage. Vingegaard knows time trials. Evenepoel built his career on them. Poga\u010dar is strong but not dominant at 26 km, short enough to hurt a pure climber, long enough to hurt a climber who can\u2019t time-trial. On Rest Day 2, none of them will sleep particularly well.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">Week 3 Schedule \u2014 July 21 to July 26, Stages 16\u201321<\/h3>\n\n\n\n<style>\n\/* Week 3 Overview card \u2013 matches existing Tour design *\/\n.week3-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.week3-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.week3-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.week3-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.2rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.week3-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n.week3-body {\n  padding: 1.2rem 1.5rem 1.5rem;\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n}\n\n.week3-item {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n}\n\n.week3-icon {\n  width: 24px;\n  height: 24px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n  color: #27500A;\n  margin-top: 2px;\n}\n\n.week3-icon svg {\n  width: 18px;\n  height: 18px;\n  stroke: #27500A;\n}\n\n.week3-label {\n  font-size: 0.72rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.7px;\n  color: #27500A;\n  margin: 0 0 3px 0;\n}\n\n.week3-text {\n  font-size: 0.85rem;\n  color: #1a1a1a;\n  line-height: 1.6;\n  margin: 0;\n}\n\n.week3-text strong {\n  font-weight: 600;\n  color: #000;\n}\n\n.week3-highlight {\n  background: #FFC72C;\n  color: #000;\n  padding: 0 6px;\n  border-radius: 4px;\n  font-weight: 600;\n  font-size: 0.78rem;\n}\n\n@media (max-width: 600px) {\n  .week3-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n}\n<\/style>\n\n<div class=\"week3-wrap\">\n  <div class=\"week3-card\">\n    \n    <div class=\"week3-header\">\n      <h3 class=\"week3-title\">Week 3 Overview<\/h3>\n      <span class=\"week3-badge\">Stages 16\u201321<\/span>\n    <\/div>\n\n    <div class=\"week3-body\">\n\n      <!-- Dates -->\n      <div class=\"week3-item\">\n        <div class=\"week3-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"><\/rect>\n            <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"><\/line>\n            <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"><\/line>\n            <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"><\/line>\n          <\/svg>\n        <\/div>\n        <div>\n          <p class=\"week3-label\">Dates<\/p>\n          <p class=\"week3-text\">Tuesday <strong>July 21<\/strong> \u2192 Sunday <strong>July 26<\/strong><\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Route -->\n      <div class=\"week3-item\">\n        <div class=\"week3-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle>\n            <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"><\/line>\n            <path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"><\/path>\n          <\/svg>\n        <\/div>\n        <div>\n          <p class=\"week3-label\">Route<\/p>\n          <p class=\"week3-text\">\n            <strong>Lake Geneva<\/strong> (\u00c9vian\u2013Thonon ITT) \u2192 <strong>Chamb\u00e9ry<\/strong> \u2192 <strong>Voiron<\/strong> \u2192 <strong>Alps<\/strong> (Orci\u00e8res-Merlette, Alpe d\u2019Huez \u00d72) \u2192 <strong>Paris<\/strong>\n          <\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Stage count -->\n      <div class=\"week3-item\">\n        <div class=\"week3-icon\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <polyline points=\"3 17 9 11 13 15 21 5\"><\/polyline>\n            <polyline points=\"15 5 21 5 21 11\"><\/polyline>\n          <\/svg>\n        <\/div>\n        <div>\n          <p class=\"week3-label\">Stage count<\/p>\n          <p class=\"week3-text\"><span class=\"week3-highlight\">6 racing stages<\/span><\/p>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Week 3 is the most concentrated block of mountain racing in the modern Tour. After the 26 km ITT on Stage 16 and one transition flat stage to Voiron (Stage 17), four consecutive days decide the race: Stage 18 at Orci\u00e8res-Merlette, Stage 19 at Alpe d\u2019Huez, Stage 20 at Alpe d\u2019Huez again via the Galibier and Sarenne, and Stage 21 in Paris.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The structure is unprecedented. No Grand Tour has ever finished on the same mountain on consecutive days. Whoever holds yellow after Stage 20 on Alpe d\u2019Huez wins the 2026 Tour de France. Stage 21 to Paris is a procession for the GC leaders and a sprint for everyone else.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Week 3 start date: Tuesday, July 21. Week 3 end date\/race finish: Sunday, July 26, Paris Champs-\u00c9lys\u00e9es.<br>Week 3 closing question: There is only one question left \u2014 Poga\u010dar or Vingegaard?<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_9b8e0e-1b .kt-block-spacer{height:42px;}.wp-block-kadence-spacer.kt-block-spacer-6943_9b8e0e-1b .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_9b8e0e-1b\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">All 21 Stages \u2014 Full Schedule with Analysis<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 1 \u2014 Barcelona \u203a Barcelona | 19.7 km | Team Time Trial | Saturday July 4<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tour de France 2026 begins at 17:05 CEST on July 4 in Barcelona, and it begins differently from any edition in 55 years. Stage 1 is a 19.7 km team time trial, the <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-stage-1\/\">first stage-opening TTT<\/a> since Mulhouse 1971, when Eddy Merckx\u2019s Molteni squad launched the race. But the format has evolved. Unlike a conventional team time trial, where the team\u2019s time is taken on the fourth rider across the line, every rider in 2026 receives their own individual finish time, a format ASO first trialled at Paris-Nice 2023 and now imports to the Tour for the first time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The course threads through central Barcelona before two ascents of Montju\u00efc, the hill above the city that hosted the 1992 Olympic cycling events. The flat opening section through the Gothic Quarter suits pure speed and tight formation riding. The Montju\u00efc ramps, approximately 3 km each, break the peloton\u2019s aerodynamic line and force GC leaders into a decision: stay with the team, or ride ahead solo? Finishing on Avinguda Diagonal, the course rewards teams that manage transitions between flat speed and climb management.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">UAE Team Emirates-XRG (Poga\u010dar), Visma-Lease a Bike (Vingegaard), and Red Bull-BORA-hansgrohe (Evenepoel) are the three most feared TTT units. A 30\u201350 second gap between GC leaders at the end of Stage 1 is realistic. At this level of mountain racing, that gap carries consequences for three weeks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First team rolls out: 17:05 CEST. Last team: 18:55 CEST. Estimated all done: 19:15 CEST.<br>New road: Avinguda Diagonal finish circuit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">&nbsp;Stage 2 \u2014 Tarragona \u203a Barcelona | 178 km | Hilly | Sunday July 5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/franceletour.com\/tour-de-france-2026-stage-2\/\">Stage 2<\/a> is historic before a pedal stroke is turned. For the first time in Tour de France history, a city hosts both Stage 1 and Stage 2 finishes, both ending in Barcelona, the second via the Montju\u00efc finishing circuit used the day before. Riders start in Tarragona, a city whose 2,000-year-old Roman amphitheatre overlooks the Mediterranean, and spend the first 100 km on open Catalan roads before the route rises.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The new C\u00f4te de Begues brings the first unclassified climb of the stage approximately 40 km from the finish. Then the Montju\u00efc circuit, the same ramps as Stage 1, but now approached after 160 km in the legs rather than fresh. That changes everything. Puncheur specialists and breakaway riders who came through the TTT with minimal effort will be targeting this finish. The 2,400m of total climbing makes Stage 2 genuinely hard, not a transition day, not a gift to the sprinters. GC teams will watch carefully for any riders already showing stress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 13:05 CEST from Tarragona. Finish: Montju\u00efc circuit, Barcelona.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 3 \u2014 Granollers \u203a Les Angles | 196 km | Mountain | Monday July 6<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 3 leaves Catalonia and enters the Pyrenees and the Tour leaves Spain for France. The stage starts in Granollers, a Catalan industrial city 30 km northeast of Barcelona, and immediately starts climbing. The Port de la Bonaigua at 2,072m is the first major summit of the 2026 race. The Col de la Quillane follows at 1,714m before the descent into the Les Angles ski station on French territory for the first mountain-top finish of the race.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 3 is where the 2026 Tour actually begins for the GC contenders. Anyone who coasted through the TTT knowing their team would lose time has no more cover. Three weeks of racing stretch ahead, and the first Pyrenean sorting has started. Riders who are already compromised, through injury, illness, or a bad TTT, will find Stage 3 ruthless. Les Angles is not a famous summit, but it carries the weight of being the first.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 12:15 CEST from Granollers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 4 \u2014 Carcassonne \u203a Foix | 182 km | Hilly | Tuesday July 7<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 4 is the transition between Pyrenean warfare and the next phase of the race, but \u201ctransition\u201d in 2026 means something different than it did a decade ago. The peloton no longer coasts through hilly stages. Stage 4 from Carcassonne to Foix covers the rolling terrain between two famous Tour towns, and GC teams will be testing legs with 40 km to go at minimum. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Carcassonne\u2019s 12th-century fortified citadel, a UNESCO World Heritage site, provides the start. Foix, a regular Tour de France stage town beneath its triple-towered castle, provides the finish. No classified climbs of note, but enough undulation to keep the day honest and the sprint chances incomplete.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 13:05 CEST from Carcassonne.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 5 \u2014 Lannemezan \u203a Pau | 158 km | Flat | Wednesday July 8<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sprinters\u2019 last chance before the Pyrenees fully take over. Stage 5 runs 158 km from Lannemezan, a market town at the foot of the Hautes-Pyr\u00e9n\u00e9es, down into Pau, a city with as long a Tour history as almost any in France, first hosting the race in 1930. The route is genuinely flat across the Gascony plain and offers no late surprises. Jasper Philipsen, Olav Kooij, and Biniam Girmay will have been waiting for this since Stage 1. Two intermediate sprints along the route add early points-jersey calculation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 13:05 CEST from Lannemezan.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 6 \u2014 Pau \u203a Gavarnie-G\u00e8dre | 186 km | High Mountain Summit | Thursday July 9<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 6 is the first genuine verdict of the 2026 Tour de France.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The route leaves Pau, where Stage 5 finished the day before, and climbs south into the high Pyrenees for one of the hardest single-day profiles of the entire race. The Col d\u2019Aspin (1,490m, 74th Tour appearance) comes first, a mid-stage climb that has historically been used to soften legs before larger tests. Then the Col du Tourmalet \u2014 2,115m, 91st Tour de France appearance, the most-used high-mountain pass in race history. From Luz-Saint-Sauveur, the Tourmalet rises 18.7 km at 7.3% average. At the top, the sky opens and the Pyrenean panorama becomes total.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After the Tourmalet descent, the stage arrives at a new finish: Mont\u00e9e de Gavarnie-G\u00e8dre, a new Tour de France summit at the entrance of the Cirque de Gavarnie, one of the most spectacular natural amphitheatres in all of Europe. The final ascent is 18.7 km at 4% average, gentle by Pyrenean standards, but the gradient conceals difficulty after 180 km and the Tourmalet in the legs. Total climbing on Stage 6: 4,650 metres.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This stage produces the first real GC time gaps on the road. Whoever finishes the Gavarnie-G\u00e8dre summit in yellow on July 9 has delivered their first genuine statement of the race.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 12:15 CEST from Pau.<br>New summit: Mont\u00e9e de Gavarnie-G\u00e8dre \u2014 first Tour de France summit finish.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 7 \u2014 Hagetmau \u203a Bordeaux | 175 km | Flat | Friday July 10<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 7 is recovery in racing disguise. After the Pyrenean warfare of Stage 6, the race travels northwest from Hagetmau, making its first-ever Tour de France appearance as a stage town; it is known as a stop on the Camino Franc\u00e9s route of the Camino de Santiago, to Bordeaux across the flat agricultural lowlands of the Landes. Bordeaux is a deeply familiar Tour sprint town. The fast, straight run into the city favours big lead-out trains and pure top-end speed. Philipsen targets this one. Kooij targets this one. Two intermediate sprints dot the route for points-jersey positioning. GC riders spin the legs and save the watts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 13:05 CEST from Hagetmau.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 8 \u2014 P\u00e9rigueux \u203a Bergerac | 182 km | Flat | Saturday July 11<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The second flat sprint in succession. Stage 8 runs 182 km through the Dordogne valley from P\u00e9rigueux, the capital of the P\u00e9rigord, famous for its truffles and medieval towers, to Bergerac. Two intermediate sprints confirm the day\u2019s purpose: points. The fast run-in to Bergerac, a town known internationally as the setting of Rostand\u2019s Cyrano, offers little scope for a late tactical surprise. Sprint trains will control the final 30 km. For the GC riders: 182 km at minimal effort before Stage 9 closes the first week with something harder.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 13:05 CEST from P\u00e9rigueux.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 9 \u2014 Malemort \u203a Ussel | 185 km | Hilly | Sunday July 12<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 9 closes Week 1 with no gentle exit. The route from Malemort to Ussel runs through the Corr\u00e8ze d\u00e9partement, 185 km of continuous rolling terrain with approximately 3,400m of cumulative climbing and barely a flat metre anywhere. There is no summit finish, no categorised HC climb, but the constant up-and-down is exhausting and the stage rewards riders who can push pace on the final 30 km of repeated punchy rises toward Ussel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the modern Tour, pre-rest-day stages are not neutral. GC teams probe. Directeurs sportifs test rivals for signs of fatigue after six days of racing. A rest day follows immediately after Stage 9, which means the rider who attacks with 20 km to go is risking everything, and the rider who covers that attack is spending watts they won\u2019t recover until July 14. Stage 9 will decide who arrives at Bastille Day strongest.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 13:05 CEST from Malemort.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 10 \u2014 Aurillac \u203a Le Lioran | 167 km | Mountain Summit | Tuesday July 14<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bastille Day. July 14. France\u2019s national holiday and the race\u2019s most charged emotional date.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 10 leaves Aurillac, the largest city in the Cantal d\u00e9partement, and climbs into the ancient volcanic landscape of the Massif Central. The new Col de la Griffoul is the day\u2019s first ascent, a classified climb that has never featured in the Tour. Then the Puy Mary (1,589m), a summit in the heart of the Auvergne volcanoes and one of the most striking geological backdrops in French cycling. The stage finishes at Le Lioran ski station.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Bastille Day factor is real and documented. French crowds on July 14 are the loudest, most dense, and most partisan audiences of the race year. French riders attack earlier than logic dictates. Non-French riders respond to the pressure with unplanned aggression. Historically, Bastille Day stages produce the most unpredictable GC results of any single race day. Whatever happened on the Tourmalet and Gavarnie in Week 1, Stage 10 writes a new chapter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 12:15 CEST from Aurillac.<br>New climb: Col de la Griffoul \u2014 first Tour de France appearance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 11 \u2014 Vichy \u203a Nevers | 161 km | Flat | Wednesday July 15<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 11 is the first of two consecutive flat stages through the Loire Valley, the cleanest sprint opportunity of the second week. Vichy, the Art Deco thermal spa town on the Allier river, starts the day. Nevers, 161 km north through open agricultural land, finishes it. Wind exposure on the Allier plain creates the genuine danger: crosswinds can split a peloton in the final 30 km, creating time gaps that nobody planned for. Sprint teams control, but they must control the wind too.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 13:05 CEST from Vichy.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 12 \u2014 Nevers Magny-Cours \u203a Chalon-sur-Sa\u00f4ne | 181 km | Flat | Thursday July 16<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 12 starts adjacent to the Circuit de Nevers Magny-Cours, the motor racing venue famous for hosting the French Formula 1 Grand Prix, and runs 181 km north through Burgundy to Chalon-sur-Sa\u00f4ne, appearing in the Tour de France for the first time. The Burgundy plateau is open and wind-exposed; echelon danger exists if directional crosswinds develop in the afternoon. For most riders, Stage 12 is a controllable day. For sprinters, it is points. For GC teams, it is watts saved.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 13:05 CEST from Nevers Magny-Cours.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 13 \u2014 Dole \u203a Belfort | 205 km | Hilly | Friday July 17<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The longest stage of the 2026 Tour de France at 205 km from Dole, a former French capital in the Jura, birthplace of Louis Pasteur, to Belfort, a city famous for its giant Lion of Belfort stone sculpture and its position where the Jura meets the Vosges. The Jura hills produce rolling climbs without a classified summit, but 205 km of cumulative undulation generates genuine fatigue. Breakaway specialists will try to go from distance. GC teams can afford to control and let the break go. A strong puncheur could get over the final bumps first if the break is caught.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 13:05 CEST from Dole.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 14 \u2014 Mulhouse \u203a Le Markstein | 155 km | Mountain | Saturday July 18<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 14 enters the Vosges, France\u2019s oldest mountain range and one of the most underestimated stages of the 2026 race. The route leaves Mulhouse, Alsace\u2019s largest city and the home of the famous Cit\u00e9 de l\u2019Automobile museum, and climbs immediately into the southern Vosges on roads that top out consistently above 1,000m.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Two new climbs appear: the Col du Page and the Col du Haag, both categorised, both previously unseen in Tour de France competition. The Grand Ballon (1,424m), the highest point in the Vosges range, appears mid-stage. Le Markstein Fellering is the summit finish at 1,250m, reached after six rated climbs compressed into 155 km. The Vosges stages are historically underestimated. Narrow, shaded roads with sharp ramps and unpredictable weather conditions make them harder than profile comparisons with the Alps suggest. Stage 14 is where a dark-horse GC result is most likely in Week 2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 12:15 CEST from Mulhouse.<br>New climbs: Col du Page, Col du Haag \u2014 first Tour de France appearances.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 15 \u2014 Champagnole \u203a Plateau de Solaison | 184 km | Summit Finish | Sunday July 19<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 15 closes Week 2 and may well decide the race before the Alps have officially spoken.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The route from Champagnole in the Jura runs 184 km to the Plateau de Solaison, a summit that has never before appeared in Tour de France competition. Solaison sits at 1,471m in the Haute-Savoie, reached via a final 9.1 km ramp that averages 9.3% and faces north, staying cold, shadowed, and wet deep into July. The road is not a famous name. That is the point. Riders who have memorised every gradient of Alpe d\u2019Huez and the Tourmalet arrive on Solaison with no advantage over a rival who has studied it obsessively, because nobody has studied it obsessively. The climb separates by watts and willpower alone.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 15 finishes the day before Rest Day 2. Any GC time lost on Solaison on July 19 cannot be recovered before the critical Stage 16 ITT on July 21. A 90-second gap on Solaison means carrying that deficit into the time trial and the final three Alpine stages. Stage 15 is where the 2026 Tour could be lost before most spectators believe it has properly started.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 12:15 CEST from Champagnole.<br>New summit finish: Plateau de Solaison \u2014 first Tour de France summit appearance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 16 \u2014 \u00c9vian-les-Bains \u203a Thonon-les-Bains | 26 km | Individual Time Trial | Tuesday July 21<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The only individual time trial of the Tour de France 2026. 26 km along the southern shore of Lake Geneva from \u00c9vian-les-Bains, the spa town famous for its mineral water, to Thonon-les-Bains. The first 9 km climb steadily from the lakeside before a fast, flat run into Thonon.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At 26 km, this ITT is short by historical standards. It is too short for a pure time-trialist to gain 3 minutes on a mountain specialist. It is long enough for Evenepoel to put 90\u2013120 seconds into a climber who cannot hold specialist pace for half an hour. At Poga\u010dar\u2019s speeds, the short ITT barely registers as a time-trial; his gap over pure climbers across similar distances has historically been under 45 seconds. For Vingegaard, who time-trialled his way to victory in 2022 and 2023, this 26 km is a critical weapon.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GC leaders start last. The first rider rolls out at approximately 12:30 CEST. The yellow jersey contenders will launch around 17:00\u201317:30 CEST. Watch the split times at the summit of the early climb; they tell you everything about who peaked for this moment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 12:30 CEST (first rider). GC leaders: ~17:00\u201317:30 CEST.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 17 \u2014 Chamb\u00e9ry \u203a Voiron | 175 km | Flat | Wednesday July 22<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 17 is the last flat stage of the 2026 Tour de France. The route runs 175 km from Chamb\u00e9ry, the ancient capital of Savoy, through the Is\u00e8re valley to Voiron, a day after the ITT and a day before the Alpine stages begin in earnest. GC teams manage watts. Domestiques fight for intermediate sprint bonuses. Sprint specialists target their final realistic stage win. The peloton arrives in Voiron knowing that from the following morning, everything changes. For 175 km on July 22, almost nothing happens, and that is the point.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 13:05 CEST from Chamb\u00e9ry.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 18 \u2014 Voiron \u203a Orci\u00e8res-Merlette | 185 km | Mountain Summit | Thursday July 23<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 18 begins the three-stage Alpine finale. The route runs 185 km from Voiron through the Is\u00e8re and Hautes-Alpes to Orci\u00e8res-Merlette, a ski resort perched at 1,838m that last featured in the Tour de France in 2001, when Jan Ullrich attacked Joseba Beloki to take yellow. The 2003 descent off Orci\u00e8res-Merlette produced one of the race\u2019s most notorious moments when Lance Armstrong cut across a farmer\u2019s field to avoid a crash. The ghost of that history adds atmosphere to a climb that stands on its own technical merits regardless.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Col du Manse (Cat 1) precedes the final ascent, softening legs for the uphill finish. Stage 18 is frequently described as the warm-up before the Alpe d\u2019Huez double \u2014 but 185 km with a Category 1 pass and a 1,838m summit finish is not a warm-up. It is a full effort that will leave residual fatigue in the legs that need to climb Alpe d\u2019Huez the next two days.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 12:15 CEST from Voiron.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 19 \u2014 Gap \u203a Alpe d\u2019Huez | 128 km | Mountain Summit | Friday July 24<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 19 is the first of the historic back-to-back Alpe d\u2019Huez summit finishes, and it is short. At 128 km from Gap to the summit of the 21 hairpins, Stage 19 has the fewest kilometres and the highest intensity-per-kilometre ratio of any GC stage in the 2026 race. The Col du Glandon (HC, 1,924m) appears 40 km from the finish: 22 km of climbing at 5.4% average, reaching the watershed between the Arc and the Romanche valleys. From the Glandon summit, riders descend into Le Bourg-d\u2019Oisans before turning left and beginning the canonical Alpe d\u2019Huez ascent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alpe d\u2019Huez: 13.9 km at 8.1% average. Twenty-one numbered hairpins running from Hairpin 21 at the bottom (near La Garde) to Hairpin 1 at the summit. The road narrows as it climbs. The gradient is relentless but never extreme, peaking at approximately 13% on the lower slopes before settling into a grinding 8% for the mid and upper sections. At this point in the race, after the ITT, after Orci\u00e8res-Merlette, after 19 stages, 8% at altitude feels different from what it does on paper.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On July 24, whoever crosses the Alpe d\u2019Huez summit in the yellow jersey faces a singular question: can they do it again tomorrow?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 12:15 CEST from Gap.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 20 \u2014 Le Bourg-d\u2019Oisans \u203a Alpe d\u2019Huez | 171 km | QUEEN STAGE | Saturday July 25<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 20 is the defining stage of the Tour de France 2026. It is the hardest day of racing, the most historically unprecedented finish, and the moment that will be replayed for decades, regardless of who crosses the line first.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The route: 171 km from Le Bourg-d\u2019Oisans, the small alpine town at the foot of Alpe d\u2019Huez, routed away from the mountain entirely for 150 km before returning to the same summit via a completely different approach. The Col de la Croix de Fer (2,067m) comes first, one of the great alpine passes, 22.5 km at 5.2%. Then the Col du T\u00e9l\u00e9graphe (1,566m) links to the Col du Galibier, at 2,642m, the highest point of the entire 2026 Tour de France. The Galibier descent drops riders into the Romanche valley and toward the Col de Sarenne: the route\u2019s most controversial decision.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Col de Sarenne runs via its south-eastern flank, a road that ASO used once in 2013 and that a French newspaper described at the time as \u201cthe most stupid descent in modern Tour history\u201d due to its narrow, unstable surface. ASO has since paved it. The Sarenne ascent from the eastern side is 7.4 km at 8.1% before a descent to the Romanche valley, and then Alpe d\u2019Huez begins again from the bottom. The same 21 hairpins. The same gradient. The same crowd. But now on legs that have already climbed the Croix de Fer, the Galibier, and the Sarenne after 150 km.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Total climbing on Stage 20: 5,600m+. No stage in recent Tour history has asked for more in a single day.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is the decisive stage of the 2026 Tour de France. It is the last mountain finish before Paris. Whatever gap exists at the top of Alpe d\u2019Huez on July 25 is the gap that reaches the Champs-\u00c9lys\u00e9es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start: 12:15 CEST from Le Bourg-d\u2019Oisans.<br>New route element: Col de Sarenne via south-eastern flank \u2014 paved specifically for 2026.<br>Historical first: back-to-back summit finishes on Alpe d\u2019Huez \u2014 never before achieved in a Grand Tour.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Stage 21 \u2014 Thoiry \u203a Paris Champs-\u00c9lys\u00e9es | 130 km | Flat | Sunday July 26<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The 2026 Tour de France ends where it always ends, on the Champs-\u00c9lys\u00e9es, under the Arc de Triomphe, in the last light of a July evening. Stage 21 starts in Thoiry, a small \u00cele-de-France commune, and rolls 130 km toward Paris. Three ascents of Montmartre, the Rue Lepic climb that featured in 2025\u2019s electric finale, appear with 15 km remaining before the stage opens onto the broad boulevard of the Champs-\u00c9lys\u00e9es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Montmartre is not symbolic. It is genuinely difficult: the slope reaches 13% on the Rue Lepic wall. Three ascents mean riders will crest it at 135 km, 125 km, and 15 km from the finish. For the GC leaders, convention protects them: no attacks are launched on the final stage, and yellow arrives in Paris with the margin established on Alpe d\u2019Huez. For the sprinters, the Montmartre-to-Champs combination is the most technically demanding finale in modern Tour history, a pure sprinter who can\u2019t get over Montmartre three times has no realistic shot at stage 21.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The final sprint on the Champs-\u00c9lys\u00e9es covers approximately 600m on a wide, slightly uphill boulevard between two parallel rows of spectators and the greatest crowd in professional cycling. It is the perfect ending to the most dramatic month in sport.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 21 start: 16:30 CEST from Thoiry.<br>Estimated finish: 19:30\u201320:00 CEST, Paris Champs-\u00c9lys\u00e9es.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_72205b-ab .kt-block-spacer{height:46px;}.wp-block-kadence-spacer.kt-block-spacer-6943_72205b-ab .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_72205b-ab\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">The Key Climbs of the 2026 Schedule \u2014 Where the TDF is Decided<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">New Climbs in Tour de France 2026 \u2014 First-Time Appearances<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Six climbs appear in the Tour de France 2026 for the first time, or via a route variant that is new to the race. Each one reshapes the usual calculus of who holds an advantage where.<\/p>\n\n\n<style>.wp-block-kadence-iconlist.kt-svg-icon-list-items6943_3a3403-fd:not(.this-stops-third-party-issues){margin-top:0px;margin-bottom:0px;}.wp-block-kadence-iconlist.kt-svg-icon-list-items6943_3a3403-fd ul.kt-svg-icon-list:not(.this-prevents-issues):not(.this-stops-third-party-issues):not(.tijsloc){margin-top:0px;margin-right:0px;margin-bottom:var(--global-kb-spacing-sm, 1.5rem);margin-left:0px;}.wp-block-kadence-iconlist.kt-svg-icon-list-items6943_3a3403-fd ul.kt-svg-icon-list{grid-row-gap:10px;}.wp-block-kadence-iconlist.kt-svg-icon-list-items6943_3a3403-fd ul.kt-svg-icon-list .kt-svg-icon-list-item-wrap .kt-svg-icon-list-single{margin-right:10px;}.kt-svg-icon-list-items6943_3a3403-fd ul.kt-svg-icon-list .kt-svg-icon-list-level-0 .kt-svg-icon-list-single svg{font-size:20px;}<\/style>\n<div class=\"wp-block-kadence-iconlist kt-svg-icon-list-items kt-svg-icon-list-items6943_3a3403-fd kt-svg-icon-list-columns-1 alignnone kt-list-icon-aligntop\"><ul class=\"kt-svg-icon-list\"><style>.kt-svg-icon-list-item-6943_845d9d-aa .kt-svg-icon-list-text mark.kt-highlight{background-color:unset;font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}<\/style>\n<li class=\"wp-block-kadence-listitem kt-svg-icon-list-item-wrap kt-svg-icon-list-item-6943_845d9d-aa\"><span class=\"kb-svg-icon-wrap kb-svg-icon-ic_play kt-svg-icon-list-single\"><svg viewBox=\"0 0 8 8\"  fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"  aria-hidden=\"true\"><path d=\"M0 0v6l6-3-6-3z\" transform=\"translate(1 1)\"\/><\/svg><\/span><span class=\"kt-svg-icon-list-text\"><strong>C\u00f4te de Begues<\/strong> (Stage 2, unclassified): A modest mid-stage climb on the approach to the Barcelona finishing circuit. Unclassified but positioned to disrupt sprint lead-out formations in the closing 40 km.<\/span><\/li>\n\n\n<style>.kt-svg-icon-list-item-6943_df63a3-4d .kt-svg-icon-list-text mark.kt-highlight{background-color:unset;font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}<\/style>\n<li class=\"wp-block-kadence-listitem kt-svg-icon-list-item-wrap kt-svg-icon-list-item-6943_df63a3-4d\"><span class=\"kb-svg-icon-wrap kb-svg-icon-ic_play kt-svg-icon-list-single\"><svg viewBox=\"0 0 8 8\"  fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"  aria-hidden=\"true\"><path d=\"M0 0v6l6-3-6-3z\" transform=\"translate(1 1)\"\/><\/svg><\/span><span class=\"kt-svg-icon-list-text\"><strong>Mont\u00e9e de Gavarnie-G\u00e8dre<\/strong> (Stage 6, ~18.7 km at 4%): The Stage 6 summit finish at the entrance to the Cirque de Gavarnie. The average gradient understates its difficulty after the Tourmalet. A new name on the Tour\u2019s climb roster but an immediate GC reference point.<\/span><\/li>\n\n\n<style>.kt-svg-icon-list-item-6943_0793f9-af .kt-svg-icon-list-text mark.kt-highlight{background-color:unset;font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}<\/style>\n<li class=\"wp-block-kadence-listitem kt-svg-icon-list-item-wrap kt-svg-icon-list-item-6943_0793f9-af\"><span class=\"kb-svg-icon-wrap kb-svg-icon-ic_play kt-svg-icon-list-single\"><svg viewBox=\"0 0 8 8\"  fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"  aria-hidden=\"true\"><path d=\"M0 0v6l6-3-6-3z\" transform=\"translate(1 1)\"\/><\/svg><\/span><span class=\"kt-svg-icon-list-text\"><strong>Col de la Griffoul<\/strong> (Stage 10, categorised): Mid-stage climb on Bastille Day before the Puy Mary. Appears in competition for the first time. Will serve as an early-shake point before the summit finish at Le Lioran.<\/span><\/li>\n\n\n<style>.kt-svg-icon-list-item-6943_ada07b-a7 .kt-svg-icon-list-text mark.kt-highlight{background-color:unset;font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}<\/style>\n<li class=\"wp-block-kadence-listitem kt-svg-icon-list-item-wrap kt-svg-icon-list-item-6943_ada07b-a7\"><span class=\"kb-svg-icon-wrap kb-svg-icon-ic_play kt-svg-icon-list-single\"><svg viewBox=\"0 0 8 8\"  fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"  aria-hidden=\"true\"><path d=\"M0 0v6l6-3-6-3z\" transform=\"translate(1 1)\"\/><\/svg><\/span><span class=\"kt-svg-icon-list-text\"><strong>Col du Page and Col du Haag<\/strong> (Stage 14, categorised): Both new to the Tour, both in the Vosges, both on Stage 14. Together they add approximately 800m of cumulative climbing to a stage that already carries six rated ascents in 155 km.<\/span><\/li>\n\n\n<style>.kt-svg-icon-list-item-6943_b90803-54 .kt-svg-icon-list-text mark.kt-highlight{background-color:unset;font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}<\/style>\n<li class=\"wp-block-kadence-listitem kt-svg-icon-list-item-wrap kt-svg-icon-list-item-6943_b90803-54\"><span class=\"kb-svg-icon-wrap kb-svg-icon-ic_play kt-svg-icon-list-single\"><svg viewBox=\"0 0 8 8\"  fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"  aria-hidden=\"true\"><path d=\"M0 0v6l6-3-6-3z\" transform=\"translate(1 1)\"\/><\/svg><\/span><span class=\"kt-svg-icon-list-text\"><strong>Plateau de Solaison<\/strong> (Stage 15, 9.1 km at 9.3%): The most significant new arrival. A summit finish that has never featured in the Tour, on a road with no prior competitive precedent at this level, positioned as the last stage before Rest Day 2. The most dangerous new climb in the 2026 schedule.<\/span><\/li>\n\n\n<style>.kt-svg-icon-list-item-6943_100c1b-c5 .kt-svg-icon-list-text mark.kt-highlight{background-color:unset;font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}<\/style>\n<li class=\"wp-block-kadence-listitem kt-svg-icon-list-item-wrap kt-svg-icon-list-item-6943_100c1b-c5\"><span class=\"kb-svg-icon-wrap kb-svg-icon-ic_play kt-svg-icon-list-single\"><svg viewBox=\"0 0 8 8\"  fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"  aria-hidden=\"true\"><path d=\"M0 0v6l6-3-6-3z\" transform=\"translate(1 1)\"\/><\/svg><\/span><span class=\"kt-svg-icon-list-text\"><strong>Col de Sarenne via south-eastern flank<\/strong> (Stage 20): The original 2013 route used the Sarenne\u2019s unstable eastern track. ASO has paved it. The 2026 Stage 20 uses it as a loop \u2014 climbing to the Sarenne, descending its eastern side into the Romanche valley, then ascending Alpe d\u2019Huez for the second time. Historic and technically demanding.<\/span><\/li>\n<\/ul><\/div>\n\n\n\n<style>\n.new-climbs-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.new-climbs-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.new-climbs-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.new-climbs-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.2rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.new-climbs-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n.table-wrapper {\n  padding: 1rem 1.5rem 1.5rem;\n  overflow-x: auto;\n}\n\n.climbs-table {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.climbs-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n  text-align: left;\n  padding: 0.6rem 0.75rem;\n  background: rgba(234,243,222,0.6);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.climbs-table tbody td {\n  padding: 0.75rem 0.75rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n}\n\n.climbs-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.climbs-table tbody tr:hover {\n  background: rgba(234,243,222,0.4);\n}\n\n.climb-name {\n  font-weight: 700;\n  color: #000;\n  font-size: 0.88rem;\n}\n\n.climb-stage {\n  font-weight: 500;\n  white-space: nowrap;\n}\n\n.climb-cat {\n  font-size: 0.78rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  color: #27500A;\n}\n\n.climb-desc {\n  line-height: 1.5;\n}\n\n.climb-desc strong {\n  color: #111;\n}\n\n.climbs-footnote {\n  padding: 0.8rem 1.5rem 1.2rem;\n  border-top: 1px solid rgba(99,153,34,0.15);\n  font-size: 0.78rem;\n  color: #555;\n  line-height: 1.5;\n  background: rgba(255,255,255,0.3);\n}\n\n@media (max-width: 600px) {\n  .climbs-table thead th,\n  .climbs-table tbody td {\n    padding: 0.5rem 0.5rem;\n    font-size: 0.78rem;\n  }\n  .climb-name {\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"new-climbs-wrap\">\n  <div class=\"new-climbs-card\">\n    \n    <div class=\"new-climbs-header\">\n      <h3 class=\"new-climbs-title\">New Climbs 2026<\/h3>\n      <span class=\"new-climbs-badge\">First appearances<\/span>\n    <\/div>\n\n    <div class=\"table-wrapper\">\n      <table class=\"climbs-table\">\n        <thead>\n          <tr>\n            <th>Climb<\/th>\n            <th>Stage<\/th>\n            <th>Category<\/th>\n            <th>Details<\/th>\n          <\/tr>\n        <\/thead>\n        <tbody>\n          <tr>\n            <td class=\"climb-name\">C\u00f4te de Begues<\/td>\n            <td class=\"climb-stage\">Stage 2<\/td>\n            <td class=\"climb-cat\">Unclassified<\/td>\n            <td class=\"climb-desc\">Modest mid\u2011stage climb on the approach to the Barcelona finishing circuit. Disrupts sprint lead\u2011outs in the final 40 km.<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"climb-name\">Mont\u00e9e de Gavarnie\u2011G\u00e8dre<\/td>\n            <td class=\"climb-stage\">Stage 6<\/td>\n            <td class=\"climb-cat\">Summit finish<\/td>\n            <td class=\"climb-desc\"><strong>~18.7 km at 4%<\/strong> \u2014 the new summit finish after the Tourmalet. Gradient understates its difficulty. Immediate GC reference point.<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"climb-name\">Col de la Griffoul<\/td>\n            <td class=\"climb-stage\">Stage 10<\/td>\n            <td class=\"climb-cat\">Categorised<\/td>\n            <td class=\"climb-desc\">Mid\u2011stage climb on Bastille Day before Puy Mary. First competitive appearance. Early shake\u2011point before the summit finish at Le Lioran.<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"climb-name\">Col du Page &amp; Col du Haag<\/td>\n            <td class=\"climb-stage\">Stage 14<\/td>\n            <td class=\"climb-cat\">Categorised<\/td>\n            <td class=\"climb-desc\">Both new to the Tour, both in the Vosges. Together add ~800 m of climbing to a stage already carrying six rated ascents in 155 km.<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"climb-name\">Plateau de Solaison<\/td>\n            <td class=\"climb-stage\">Stage 15<\/td>\n            <td class=\"climb-cat\">Summit finish<\/td>\n            <td class=\"climb-desc\"><strong>9.1 km at 9.3%<\/strong> \u2014 the most significant new arrival. Never featured before. Last stage before Rest Day 2. Extremely dangerous.<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"climb-name\">Col de Sarenne (south\u2011east flank)<\/td>\n            <td class=\"climb-stage\">Stage 20<\/td>\n            <td class=\"climb-cat\">New route variant<\/td>\n            <td class=\"climb-desc\">Original 2013 unstable track now paved. Used as a loop: climb to Sarenne, descend to Romanche valley, then ascend Alpe d\u2019Huez again. Technically demanding.<\/td>\n          <\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n\n    <div class=\"climbs-footnote\">\n      <strong>Six climbs<\/strong> appear in the Tour de France 2026 for the first time, or via a route variant that is new to the race. Each one reshapes the usual calculus of who holds an advantage where.\n    <\/div>\n\n  <\/div>\n<\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_92969e-e9 .kt-block-spacer{height:41px;}.wp-block-kadence-spacer.kt-block-spacer-6943_92969e-e9 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_92969e-e9\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Familiar Climbs Returning in 2026<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The 2026 Tour also brings back some of the most recognised climbs in the sport.<\/p>\n\n\n<style>.wp-block-kadence-iconlist.kt-svg-icon-list-items6943_433b54-97:not(.this-stops-third-party-issues){margin-top:0px;margin-bottom:0px;}.wp-block-kadence-iconlist.kt-svg-icon-list-items6943_433b54-97 ul.kt-svg-icon-list:not(.this-prevents-issues):not(.this-stops-third-party-issues):not(.tijsloc){margin-top:0px;margin-right:0px;margin-bottom:var(--global-kb-spacing-sm, 1.5rem);margin-left:0px;}.wp-block-kadence-iconlist.kt-svg-icon-list-items6943_433b54-97 ul.kt-svg-icon-list{grid-row-gap:10px;}.wp-block-kadence-iconlist.kt-svg-icon-list-items6943_433b54-97 ul.kt-svg-icon-list .kt-svg-icon-list-item-wrap .kt-svg-icon-list-single{margin-right:10px;}.kt-svg-icon-list-items6943_433b54-97 ul.kt-svg-icon-list .kt-svg-icon-list-level-0 .kt-svg-icon-list-single svg{font-size:20px;}<\/style>\n<div class=\"wp-block-kadence-iconlist kt-svg-icon-list-items kt-svg-icon-list-items6943_433b54-97 kt-svg-icon-list-columns-1 alignnone kt-list-icon-aligntop\"><ul class=\"kt-svg-icon-list\"><style>.kt-svg-icon-list-item-6943_c7142d-28 .kt-svg-icon-list-text mark.kt-highlight{background-color:unset;font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}<\/style>\n<li class=\"wp-block-kadence-listitem kt-svg-icon-list-item-wrap kt-svg-icon-list-item-6943_c7142d-28\"><span class=\"kb-svg-icon-wrap kb-svg-icon-ic_play kt-svg-icon-list-single\"><svg viewBox=\"0 0 8 8\"  fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"  aria-hidden=\"true\"><path d=\"M0 0v6l6-3-6-3z\" transform=\"translate(1 1)\"\/><\/svg><\/span><span class=\"kt-svg-icon-list-text\"><strong>Col du Tourmalet<\/strong> (Stage 6): 91st Tour de France appearance. 2,115m. The most-used high-mountain climb in race history, from Luz-Saint-Sauveur: 18.7 km at 7.3%.<\/span><\/li>\n\n\n<style>.kt-svg-icon-list-item-6943_9658fa-df .kt-svg-icon-list-text mark.kt-highlight{background-color:unset;font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}<\/style>\n<li class=\"wp-block-kadence-listitem kt-svg-icon-list-item-wrap kt-svg-icon-list-item-6943_9658fa-df\"><span class=\"kb-svg-icon-wrap kb-svg-icon-ic_play kt-svg-icon-list-single\"><svg viewBox=\"0 0 8 8\"  fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"  aria-hidden=\"true\"><path d=\"M0 0v6l6-3-6-3z\" transform=\"translate(1 1)\"\/><\/svg><\/span><span class=\"kt-svg-icon-list-text\"><strong>Col d\u2019Aspin<\/strong> (Stage 6): 74th Tour de France appearance. 1,490m. A reliable stage-setter that softens legs before bigger tests.<\/span><\/li>\n\n\n<style>.kt-svg-icon-list-item-6943_a9ab35-69 .kt-svg-icon-list-text mark.kt-highlight{background-color:unset;font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}<\/style>\n<li class=\"wp-block-kadence-listitem kt-svg-icon-list-item-wrap kt-svg-icon-list-item-6943_a9ab35-69\"><span class=\"kb-svg-icon-wrap kb-svg-icon-ic_play kt-svg-icon-list-single\"><svg viewBox=\"0 0 8 8\"  fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"  aria-hidden=\"true\"><path d=\"M0 0v6l6-3-6-3z\" transform=\"translate(1 1)\"\/><\/svg><\/span><span class=\"kt-svg-icon-list-text\"><strong>Puy Mary<\/strong> (Stage 10): Last featured 2021. 1,589m. The volcanic Massif Central at its most distinctive.<\/span><\/li>\n\n\n<style>.kt-svg-icon-list-item-6943_afa57d-b9 .kt-svg-icon-list-text mark.kt-highlight{background-color:unset;font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}<\/style>\n<li class=\"wp-block-kadence-listitem kt-svg-icon-list-item-wrap kt-svg-icon-list-item-6943_afa57d-b9\"><span class=\"kb-svg-icon-wrap kb-svg-icon-ic_play kt-svg-icon-list-single\"><svg viewBox=\"0 0 8 8\"  fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"  aria-hidden=\"true\"><path d=\"M0 0v6l6-3-6-3z\" transform=\"translate(1 1)\"\/><\/svg><\/span><span class=\"kt-svg-icon-list-text\"><strong>Grand Ballon<\/strong> (Stage 14): The highest point in the Vosges at 1,424m. Returns after a gap of several years.<\/span><\/li>\n\n\n<style>.kt-svg-icon-list-item-6943_dc1b07-b6 .kt-svg-icon-list-text mark.kt-highlight{background-color:unset;font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}<\/style>\n<li class=\"wp-block-kadence-listitem kt-svg-icon-list-item-wrap kt-svg-icon-list-item-6943_dc1b07-b6\"><span class=\"kb-svg-icon-wrap kb-svg-icon-ic_play kt-svg-icon-list-single\"><svg viewBox=\"0 0 8 8\"  fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"  aria-hidden=\"true\"><path d=\"M0 0v6l6-3-6-3z\" transform=\"translate(1 1)\"\/><\/svg><\/span><span class=\"kt-svg-icon-list-text\"><strong>Col du Galibier<\/strong> (Stage 20): 2,642m \u2014 the roof of the 2026 Tour. One of the most demanding descents in professional cycling after the summit.<\/span><\/li>\n\n\n<style>.kt-svg-icon-list-item-6943_fb74b0-65 .kt-svg-icon-list-text mark.kt-highlight{background-color:unset;font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}<\/style>\n<li class=\"wp-block-kadence-listitem kt-svg-icon-list-item-wrap kt-svg-icon-list-item-6943_fb74b0-65\"><span class=\"kb-svg-icon-wrap kb-svg-icon-ic_play kt-svg-icon-list-single\"><svg viewBox=\"0 0 8 8\"  fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"  aria-hidden=\"true\"><path d=\"M0 0v6l6-3-6-3z\" transform=\"translate(1 1)\"\/><\/svg><\/span><span class=\"kt-svg-icon-list-text\"><strong>Col du T\u00e9l\u00e9graphe<\/strong> (Stage 20): 1,566m. Traditionally the gateway climb before the Galibier \u2014 ridden on the same day in 2026.<\/span><\/li>\n\n\n<style>.kt-svg-icon-list-item-6943_0e61f0-f3 .kt-svg-icon-list-text mark.kt-highlight{background-color:unset;font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}<\/style>\n<li class=\"wp-block-kadence-listitem kt-svg-icon-list-item-wrap kt-svg-icon-list-item-6943_0e61f0-f3\"><span class=\"kb-svg-icon-wrap kb-svg-icon-ic_play kt-svg-icon-list-single\"><svg viewBox=\"0 0 8 8\"  fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"  aria-hidden=\"true\"><path d=\"M0 0v6l6-3-6-3z\" transform=\"translate(1 1)\"\/><\/svg><\/span><span class=\"kt-svg-icon-list-text\"><strong>Alpe d\u2019Huez<\/strong> (Stages 19 and 20): Returns to the Tour for the first time since 2022. 1,850m summit, 21 hairpins, 13.9 km at 8.1%. Appearing twice in consecutive days for the first time in Grand Tour history.<\/span><\/li>\n<\/ul><\/div>\n\n\n\n<style>\n.familiar-climbs-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.familiar-climbs-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.familiar-climbs-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.familiar-climbs-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.2rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.familiar-climbs-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n.familiar-table-wrapper {\n  padding: 1rem 1.5rem 1.5rem;\n  overflow-x: auto;\n}\n\n.familiar-table {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n}\n\n.familiar-table thead th {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.72rem;\n  text-transform: uppercase;\n  letter-spacing: 0.6px;\n  color: #27500A;\n  text-align: left;\n  padding: 0.6rem 0.75rem;\n  background: rgba(234,243,222,0.6);\n  border-bottom: 1px solid rgba(99,153,34,0.2);\n  white-space: nowrap;\n}\n\n.familiar-table tbody td {\n  padding: 0.75rem 0.75rem;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  vertical-align: top;\n}\n\n.familiar-table tbody tr:last-child td {\n  border-bottom: none;\n}\n\n.familiar-table tbody tr:hover {\n  background: rgba(234,243,222,0.4);\n}\n\n.climb-name-col {\n  font-weight: 700;\n  color: #000;\n  font-size: 0.88rem;\n}\n\n.climb-stage-col {\n  font-weight: 500;\n  white-space: nowrap;\n}\n\n.climb-alt {\n  font-weight: 500;\n  white-space: nowrap;\n}\n\n.climb-details-col {\n  line-height: 1.5;\n}\n\n.climb-details-col strong {\n  color: #111;\n}\n\n.climb-note {\n  padding: 0.8rem 1.5rem 1.2rem;\n  border-top: 1px solid rgba(99,153,34,0.15);\n  font-size: 0.78rem;\n  color: #555;\n  line-height: 1.5;\n  background: rgba(255,255,255,0.3);\n}\n\n@media (max-width: 600px) {\n  .familiar-table thead th,\n  .familiar-table tbody td {\n    padding: 0.5rem 0.5rem;\n    font-size: 0.78rem;\n  }\n  .climb-name-col {\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"familiar-climbs-wrap\">\n  <div class=\"familiar-climbs-card\">\n    \n    <div class=\"familiar-climbs-header\">\n      <h3 class=\"familiar-climbs-title\">Familiar Climbs<\/h3>\n      <span class=\"familiar-climbs-badge\">Returning classics<\/span>\n    <\/div>\n\n    <div class=\"familiar-table-wrapper\">\n      <table class=\"familiar-table\">\n        <thead>\n          <tr>\n            <th>Climb<\/th>\n            <th>Stage<\/th>\n            <th>Altitude<\/th>\n            <th>Details<\/th>\n          <\/tr>\n        <\/thead>\n        <tbody>\n          <tr>\n            <td class=\"climb-name-col\">Col du Tourmalet<\/td>\n            <td class=\"climb-stage-col\">Stage 6<\/td>\n            <td class=\"climb-alt\">2,115 m<\/td>\n            <td class=\"climb-details-col\">91st appearance \u2014 the most\u2011used high\u2011mountain climb in Tour history. From Luz\u2011Saint\u2011Sauveur: <strong>18.7 km at 7.3%<\/strong>.<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"climb-name-col\">Col d\u2019Aspin<\/td>\n            <td class=\"climb-stage-col\">Stage 6<\/td>\n            <td class=\"climb-alt\">1,490 m<\/td>\n            <td class=\"climb-details-col\">74th appearance. Reliable stage\u2011setter that softens legs before bigger tests.<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"climb-name-col\">Puy Mary<\/td>\n            <td class=\"climb-stage-col\">Stage 10<\/td>\n            <td class=\"climb-alt\">1,589 m<\/td>\n            <td class=\"climb-details-col\">Last featured 2021. The volcanic Massif Central at its most distinctive.<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"climb-name-col\">Grand Ballon<\/td>\n            <td class=\"climb-stage-col\">Stage 14<\/td>\n            <td class=\"climb-alt\">1,424 m<\/td>\n            <td class=\"climb-details-col\">Highest point of the Vosges. Returns after an absence of several years.<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"climb-name-col\">Col du Galibier<\/td>\n            <td class=\"climb-stage-col\">Stage 20<\/td>\n            <td class=\"climb-alt\">2,642 m<\/td>\n            <td class=\"climb-details-col\">The <strong>roof of the 2026 Tour<\/strong>. One of the most demanding descents in professional cycling.<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"climb-name-col\">Col du T\u00e9l\u00e9graphe<\/td>\n            <td class=\"climb-stage-col\">Stage 20<\/td>\n            <td class=\"climb-alt\">1,566 m<\/td>\n            <td class=\"climb-details-col\">Traditional gateway before the Galibier \u2014 both ridden on the same day in 2026.<\/td>\n          <\/tr>\n          <tr>\n            <td class=\"climb-name-col\">Alpe d\u2019Huez<\/td>\n            <td class=\"climb-stage-col\">Stages 19 &amp; 20<\/td>\n            <td class=\"climb-alt\">1,850 m<\/td>\n            <td class=\"climb-details-col\">Returns after 2022. <strong>21 hairpins, 13.9 km at 8.1%<\/strong>. Appearing twice on consecutive days for the first time in Grand Tour history.<\/td>\n          <\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n\n    <div class=\"climb-note\">\n      <strong>Seven legendary ascents<\/strong> define the 2026 route. Every one of them has written a chapter in Tour de France history \u2014 and together they promise another.\n    <\/div>\n\n  <\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">The 5 Decisive Stages \u2014 Circle These in Your Calendar<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Not all 21 stages carry equal GC weight. These five stages will determine who wears yellow in Paris.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 20 \u2014 Queen Stage, Alpe d\u2019Huez (July 25): The race within the race. 5,600m of climbing, the Galibier, the Sarenne, and Alpe d\u2019Huez on back-to-back days. The 2026 Tour winner will be decided here.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 6 \u2014 Tourmalet + Gavarnie-G\u00e8dre (July 9): The first real GC verdict. 4,650m of climbing in Week 1 when race fatigue has not yet accumulated. Whoever attacks here sets the psychological framing for three weeks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 16 \u2014 Individual Time Trial (July 21): 26 km is short \u2014 but it is the only ITT in 2026. Evenepoel built his career on this distance. Vingegaard won the Tour twice by time-trialling into yellow. On a course this short, 60 seconds is a realistic gap; 2 minutes is not.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 15 \u2014 Plateau de Solaison (July 19): The sleeper stage. An unfamiliar summit, a brutal final gradient, and the worst possible timing \u2014 the night before Rest Day 2. Any major loss here cascades through the ITT and into the Alpine finale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 19 \u2014 Alpe d\u2019Huez Day 1 (July 24): The first back-to-back Alpe d\u2019Huez summit. Whoever goes into Stage 20 with a deficit already knows they must attack on a mountain they climbed the day before.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Col du Galibier \u2014 The Roof of the 2026 Tour (2,642m)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Col du Galibier is the highest point of Tour de France 2026, crested during Stage 20 at 2,642m above sea level. It is one of the most demanding high-mountain passes in professional cycling \u2014 not for its gradient, which averages 5.5% over 18 km from the southern approach, but for its altitude. Above 2,400m, oxygen availability is measurably reduced, recovery between efforts is slower, and the margin between a controlled effort and a complete implosion narrows dramatically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Galibier also produces one of the most technically demanding descents in the race. At 2,642m, wind conditions are unpredictable and surface temperatures drop sharply in shadows. Riders who cannot descend quickly lose 30\u201360 seconds on more aggressive descenders on a single pass. On Stage 20, losing 45 seconds on the Galibier descent before the Sarenne and Alpe d\u2019Huez begin would be race-ending.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Col de Sarenne backstory: in 2013, ASO routed the Tour over the Sarenne\u2019s eastern flank for the first time and received sharp criticism for the road\u2019s condition \u2014 narrow, partially unpaved, prone to washouts. ASO has since paved and widened the critical sections. In 2026, the Sarenne functions as the route\u2019s most creative design choice: a loop that forces riders to descend from Alpe d\u2019Huez via the back road before climbing the canonical front face a second time. It has never been done before.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_81bf40-da .kt-block-spacer{height:46px;}.wp-block-kadence-spacer.kt-block-spacer-6943_81bf40-da .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_81bf40-da\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Time Bonuses and Intermediate Sprints \u2014 The Hidden Schedule<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Stage Finish Bonuses \u2014 10, 6, and 4 Seconds<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tour de France 2026 awards time bonuses at the finish of every stage: 10 seconds for the stage winner, 6 seconds for second place, 4 seconds for third. This rule changes GC tactics in ways that are easy to underestimate. A GC leader who wins Stage 6 on Gavarnie-G\u00e8dre gains 10 bonus seconds, the equivalent of a 10-second head start in the Stage 16 ITT before a wheel has turned. Across 21 stages, a rider who wins three stages and finishes second twice has accumulated 42 seconds in bonuses alone. At the level of racing Poga\u010dar and Vingegaard operate, 42 seconds is a Tour-deciding margin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is why GC leaders sprint for stage wins even on days their teams do not need to control. Every flat sprint stage in 2026 carries a 10-second bonus that the yellow jersey contenders, if positioned correctly in the final 500m, can collect without expending significant mountain energy.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Intermediate Sprints \u2014 Two Per Stage (First Time Since 2010)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tour de France 2026 features two intermediate sprints per stage, the first time since the 2010 edition that the Tour has included multiple intermediate sprints on a routine basis. Intermediate sprints award points toward the green jersey (points classification) but do not award time bonuses. They change race dynamics on flat stages by creating two mid-stage acceleration points where sprinters\u2019 teams burn energy to position for what are ultimately low-point bonuses.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the GC battle, intermediate sprints are mostly irrelevant, but they create disruption. A lead-out train burning matches for an intermediate sprint at kilometre 90 has less in reserve at kilometre 180. For fantasy cycling players: stages with two intermediate sprints mean stages with higher aggregate points for active sprinters, regardless of the stage-finish result. Budget picks who target intermediate sprints across 21 stages can quietly accumulate significant points classification positions.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_2714e3-50 .kt-block-spacer{height:42px;}.wp-block-kadence-spacer.kt-block-spacer-6943_2714e3-50 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_2714e3-50\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Tour de France 2026 Schedule by Stage Type<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Flat Sprint Stages \u2014 7 Stages, 1,132 km<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Stage 5: Lannemezan \u2192 Pau, 158 km \/ 98 mi, July 8<\/li>\n\n\n\n<li>Stage 7: Hagetmau \u2192 Bordeaux, 175 km \/ 109 mi, July 10<\/li>\n\n\n\n<li>Stage 8: P\u00e9rigueux \u2192 Bergerac, 182 km \/ 113 mi, July 11<\/li>\n\n\n\n<li>Stage 11: Vichy \u2192 Nevers, 161 km \/ 100 mi, July 15<\/li>\n\n\n\n<li>Stage 12: Nevers \u2192 Chalon-sur-Sa\u00f4ne, 181 km \/ 112 mi, July 16<\/li>\n\n\n\n<li>Stage 17: Chamb\u00e9ry \u2192 Voiron, 175 km \/ 109 mi, July 22<\/li>\n\n\n\n<li>Stage 21: Thoiry \u2192 Paris, 130 km \/ 81 mi, July 26<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Sprinters\u2019 primary target stages: 5, 7, 8, 11, 12. Stage 17 is transitional with some late danger. Stage 21 includes three Montmartre climbs \u2014 classified as flat but the hardest finale of any sprint stage in the race.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Primary sprint contenders: Jasper Philipsen (Alpecin-Premier Tech), Olav Kooij (Decathlon CMA CGM), Biniam Girmay (NSN Cycling Team).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hilly Stages \u2014 4 Stages, 727 km<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Stage 2: <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-stage-2\/\">Tarragona \u2192 Barcelona, 168.5 km \/ 110 mi, July 5<\/a><\/li>\n\n\n\n<li>Stage 4: Carcassonne \u2192 Foix, 182 km \/ 113 mi, July 7<\/li>\n\n\n\n<li>Stage 9: Malemort \u2192 Ussel, 185 km \/ 115 mi, July 12<\/li>\n\n\n\n<li>Stage 13: Dole \u2192 Belfort, 205 km \/ 127 mi, July 17<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Hilly stages reward breakaway specialists, puncheurs, and all-rounders. The longest single stage of the 2026 Tour, Stage 13 at 205 km, is classified here. GC teams typically control hilly stages but rarely without incident.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mountain Stages and Summit Finishes \u2014 8 Stages, 1,377 km, 5 Summits<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Stage 3: Granollers \u2192 Les Angles, 196 km \/ 122 mi, July 6 (mountain, no summit finish)<\/li>\n\n\n\n<li style=\"padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">Stage 6: Pau \u2192 Gavarnie-G\u00e8dre, 186 km \/ 116 mi, July 9 \u2b50 SUMMIT<\/li>\n\n\n\n<li>Stage 10: Aurillac \u2192 Le Lioran, 167 km \/ 104 mi, July 14 \u2b50 SUMMIT<\/li>\n\n\n\n<li style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)\">Stage 14: Mulhouse \u2192 Le Markstein, 155 km \/ 96 mi, July 18 (mountain, no summit finish)<\/li>\n\n\n\n<li>Stage 15: Champagnole \u2192 Plateau de Solaison, 184 km \/ 114 mi, July 19 \u2b50 SUMMIT<\/li>\n\n\n\n<li style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)\">Stage 18: Voiron \u2192 Orci\u00e8res-Merlette, 185 km \/ 115 mi, July 23 \u2b50 SUMMIT<\/li>\n\n\n\n<li>Stage 19: Gap \u2192 Alpe d\u2019Huez, 128 km \/ 80 mi, July 24 \u2b50 SUMMIT<\/li>\n\n\n\n<li style=\"margin-top:var(--wp--preset--spacing--20)\">Stage 20: Le Bourg-d\u2019Oisans \u2192 Alpe d\u2019Huez, 171 km \/ 106 mi, July 25 \u2b50 SUMMIT<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The 5 summit finishes: Gavarnie-G\u00e8dre (Stage 6), Le Lioran (Stage 10), Plateau de Solaison (Stage 15), Orci\u00e8res-Merlette (Stage 18), Alpe d\u2019Huez (Stages 19 and 20).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Time Trials \u2014 TTT and ITT Schedule<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 1 \u2014 <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-stage-1\/\">Team Time Trial, Barcelona, 19.7 km \/ 12.2 mi (July 4)<\/a>:<br>Format: individual finish times recorded per rider \u2014 not group time. First rider off 17:05 CEST. Last team departs 18:55 CEST. The first stage-opening TTT since 1971.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 16 \u2014 Individual Time Trial, \u00c9vian-les-Bains \u2192 Thonon-les-Bains, 26 km \/ 16 mi (July 21):<br>The only solo ITT in 2026. First rider off ~12:30 CEST. GC leaders launch ~17:00\u201317:30 CEST. Profile: 9 km climbing exit from \u00c9vian before a flat run along Lake Geneva into Thonon. Total ITT distance in 2026: 26 km \u2014 the shortest combined TT distance in the Tour since 2020.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_e69f49-53 .kt-block-spacer{height:44px;}.wp-block-kadence-spacer.kt-block-spacer-6943_e69f49-53 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_e69f49-53\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">The Grand D\u00e9part Barcelona 2026 \u2014 Why Spain?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Barcelona is the third Spanish Grand D\u00e9part in Tour de France history. The first was San Sebasti\u00e1n in 1992, the year Barcelona hosted the Olympic Games and cycling captured a moment in global sport. The second was Bilbao in 2023, where Jonas Vingegaard launched his second successive title defence from the Basque Country. Barcelona 2026 continues a pattern of the ASO taking the race\u2019s opening act to countries and cities that can deliver the kind of international commercial stage the race now requires to maintain its global position.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Christian Prudhomme confirmed the Barcelona selection in June 2024, saying: \u201cBarcelona is a prestigious city and it is a city of sport.\u201d He was not wrong. Barcelona has hosted Olympic Games, World Cups, Formula 1, and more world championship events than almost any city of comparable size. The Sagrada Fam\u00edlia, Gaud\u00ed\u2019s unfinished masterpiece under construction since 1882, is scheduled to receive its final tower completions during 2026, giving the Tour an architectural backdrop that no other Grand D\u00e9part city can match.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The July 4 start date is not accidental. It overlaps with America\u2019s Independence Day weekend, widening NBC\u2019s promotional window in the United States and positioning Stage 1 as the most globally televised opening of any Tour in recent memory. Peacock\u2019s exclusive US streaming deal through 2029 makes the Barcelona TTT the first stage of a commercial relationship worth hundreds of millions of dollars over its lifetime.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Two complete stages and the start of Stage 3 take place in Catalonia, making 2026 the edition with the most Spanish road kilometres since the 2023 Bilbao Grand D\u00e9part. The race leaves Spain after 196 km of Stage 3 as it crosses into France and enters the Pyrenees toward Les Angles.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_dac5bf-49 .kt-block-spacer{height:44px;}.wp-block-kadence-spacer.kt-block-spacer-6943_dac5bf-49 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_dac5bf-49\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Tour de France 2026 Schedule by Region \u2014 Spain and France<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Spain Schedule (Stages 1\u20133, July 4\u20136)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Three stages on Spanish soil. Start city: Barcelona. <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-stage-1\/\">Stage 1<\/a> and <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-stage-2\/\">Stage 2<\/a> both finish in Barcelona. Stage 3 starts in Granollers (30 km northeast of Barcelona) and crosses into France during the stage, finishing at Les Angles on French territory.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Host cities: Barcelona (Stage 1 and 2 finish \/ Stage 1 start), Tarragona (Stage 2 start), Granollers (Stage 3 start).<br>Terrain: urban time trial, hilly coastal circuit, Pyrenean mountain stage.<br>Spain schedule dates: Saturday, July 4 through Monday, July 6.<\/p>\n\n\n\n<style>\n.spanish-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.spanish-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.spanish-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.spanish-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.2rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.spanish-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n.spanish-body {\n  padding: 1.2rem 1.5rem 1.5rem;\n}\n\n.spanish-overview {\n  font-size: 0.9rem;\n  color: #1a1a1a;\n  line-height: 1.6;\n  margin: 0 0 1.2rem 0;\n}\n\n.spanish-overview strong {\n  color: #000;\n  font-weight: 600;\n}\n\n\/* Stage rows *\/\n.spanish-stage {\n  display: flex;\n  align-items: flex-start;\n  gap: 12px;\n  padding: 0.8rem 1rem;\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.12);\n  margin-bottom: 0.75rem;\n}\n\n.spanish-stage:last-child {\n  margin-bottom: 0;\n}\n\n.spanish-stage-num {\n  flex-shrink: 0;\n  width: 32px;\n  height: 32px;\n  border-radius: 8px;\n  background: #EAF3DE;\n  color: #27500A;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.9rem;\n  font-weight: 700;\n  border: 1px solid rgba(99,153,34,0.3);\n  margin-top: 2px;\n}\n\n.spanish-stage-info {\n  flex: 1;\n  min-width: 0;\n}\n\n.spanish-stage-route {\n  font-weight: 600;\n  color: #000;\n  font-size: 0.85rem;\n  margin: 0 0 3px 0;\n}\n\n.spanish-stage-date {\n  font-size: 0.72rem;\n  color: #666;\n  margin: 0 0 4px 0;\n}\n\n.spanish-stage-desc {\n  font-size: 0.82rem;\n  color: #1a1a1a;\n  line-height: 1.5;\n  margin: 0;\n}\n\n.spanish-stage-type {\n  display: inline-flex;\n  align-items: center;\n  gap: 4px;\n  font-size: 0.7rem;\n  font-weight: 600;\n  color: #27500A;\n  background: #EAF3DE;\n  padding: 2px 8px;\n  border-radius: 12px;\n  margin-bottom: 6px;\n}\n\n.spanish-stage-type svg {\n  width: 14px;\n  height: 14px;\n  stroke: #27500A;\n}\n\n.spanish-footer {\n  margin-top: 1rem;\n  padding-top: 1rem;\n  border-top: 1px solid rgba(99,153,34,0.15);\n  font-size: 0.8rem;\n  color: #444;\n  line-height: 1.5;\n}\n\n.spanish-footer strong {\n  color: #000;\n}\n\n@media (max-width: 600px) {\n  .spanish-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n}\n<\/style>\n\n<div class=\"spanish-wrap\">\n  <div class=\"spanish-card\">\n    \n    <div class=\"spanish-header\">\n      <h3 class=\"spanish-title\">Spanish Stages Schedule<\/h3>\n      <span class=\"spanish-badge\">Grand D\u00e9part<\/span>\n    <\/div>\n\n    <div class=\"spanish-body\">\n      <p class=\"spanish-overview\">\n        <strong>Three stages on Spanish soil.<\/strong> Start city: <strong>Barcelona<\/strong>. Stage 1 and Stage 2 both finish in Barcelona. Stage 3 starts in <strong>Granollers<\/strong> (30 km northeast of Barcelona) and crosses into France during the stage, finishing at <strong>Les Angles<\/strong> on French territory.\n      <\/p>\n\n      <!-- Stage 1 -->\n      <div class=\"spanish-stage\">\n        <div class=\"spanish-stage-num\">1<\/div>\n        <div class=\"spanish-stage-info\">\n          <div class=\"spanish-stage-type\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/>\n            <\/svg>\n            Team Time Trial\n          <\/div>\n          <p class=\"spanish-stage-route\">Barcelona \u2192 Barcelona<\/p>\n          <p class=\"spanish-stage-date\">Sat July 4<\/p>\n          <p class=\"spanish-stage-desc\">Urban TTT, 19.7 km. Montju\u00efc circuit \u00d72.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Stage 2 -->\n      <div class=\"spanish-stage\">\n        <div class=\"spanish-stage-num\">2<\/div>\n        <div class=\"spanish-stage-info\">\n          <div class=\"spanish-stage-type\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M3 17l6-6 4 4 8-8\"\/><circle cx=\"19\" cy=\"5\" r=\"1\"\/>\n            <\/svg>\n            Hilly\n          <\/div>\n          <p class=\"spanish-stage-route\">Tarragona \u2192 Barcelona<\/p>\n          <p class=\"spanish-stage-date\">Sun July 5<\/p>\n          <p class=\"spanish-stage-desc\">Coastal circuit, C\u00f4te de Begues* before the Montju\u00efc finale. 178 km.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Stage 3 -->\n      <div class=\"spanish-stage\">\n        <div class=\"spanish-stage-num\">3<\/div>\n        <div class=\"spanish-stage-info\">\n          <div class=\"spanish-stage-type\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <polyline points=\"3 17 9 11 13 15 21 5\"\/><polyline points=\"15 5 21 5 21 11\"\/>\n            <\/svg>\n            Mountain\n          <\/div>\n          <p class=\"spanish-stage-route\">Granollers \u2192 Les Angles (France)<\/p>\n          <p class=\"spanish-stage-date\">Mon July 6<\/p>\n          <p class=\"spanish-stage-desc\">Pyrenean stage crossing the border. Port de la Bonaigua, Col de la Quillane. 196 km.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"spanish-footer\">\n        <strong>Host cities:<\/strong> Barcelona (Stages 1 &amp; 2 start\/finish), Tarragona (Stage 2 start), Granollers (Stage 3 start).<br>\n        <strong>Schedule:<\/strong> Saturday July 4 \u2192 Monday July 6.\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">France Schedule (Stages 3\u201321, July 6\u201326)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">France receives the race from Stage 3 onwards and hosts every finish from Les Angles on July 6 to the Champs-\u00c9lys\u00e9es on July 26.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Week 1 in France: Pyrenees (Les Angles, Foix, Pau, Gavarnie-G\u00e8dre) \u2192 Southwest (Bordeaux, Bergerac, Ussel).<br>Week 2 in France: Massif Central (Aurillac, Le Lioran) \u2192 Loire\/Burgundy (Vichy, Nevers, Chalon-sur-Sa\u00f4ne) \u2192 Franche-Comt\u00e9\/Jura (Dole, Belfort, Mulhouse) \u2192 Alps (Champagnole, Solaison).<br>Week 3 in France: Alps (\u00c9vian, Thonon, Voiron, Orci\u00e8res-Merlette, Alpe d\u2019Huez) \u2192 \u00cele-de-France \u2192 Paris.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Notable new French start towns: Hagetmau (Stage 7 \u2014 first Tour appearance), Chalon-sur-Sa\u00f4ne (Stage 12 finish \u2014 first Tour appearance), Voiron (Stage 18 start \u2014 returns to Tour rotation).<\/p>\n\n\n\n<style>\n.french-schedule-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.french-schedule-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.french-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.french-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.2rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.french-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n.french-body {\n  padding: 1.2rem 1.5rem 1.5rem;\n}\n\n\/* Week blocks *\/\n.week-block {\n  background: rgba(255,255,255,0.5);\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.12);\n  margin-bottom: 1rem;\n  overflow: hidden;\n}\n\n.week-block:last-child {\n  margin-bottom: 0;\n}\n\n.week-head {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 0.75rem 1rem;\n  background: rgba(234,243,222,0.5);\n  border-bottom: 1px solid rgba(99,153,34,0.1);\n}\n\n.week-head-icon {\n  width: 20px;\n  height: 20px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n}\n\n.week-head-icon svg {\n  width: 16px;\n  height: 16px;\n  stroke: #27500A;\n}\n\n.week-head-title {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.85rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  color: #27500A;\n}\n\n.week-content {\n  padding: 0.75rem 1rem;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n  line-height: 1.6;\n}\n\n.week-content strong {\n  color: #000;\n  font-weight: 600;\n}\n\n\/* Notable towns section *\/\n.notable-section {\n  margin-top: 1.5rem;\n  padding-top: 1.2rem;\n  border-top: 1px solid rgba(99,153,34,0.15);\n}\n\n.notable-title {\n  font-family: 'Galibier', sans-serif;\n  font-size: 0.9rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  color: #27500A;\n  margin: 0 0 0.75rem 0;\n}\n\n.notable-list {\n  list-style: none;\n  padding: 0;\n  margin: 0;\n  display: flex;\n  flex-direction: column;\n  gap: 0.6rem;\n}\n\n.notable-item {\n  display: flex;\n  align-items: baseline;\n  gap: 6px;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n  line-height: 1.5;\n}\n\n.notable-dot {\n  width: 6px;\n  height: 6px;\n  background: #FFC72C;\n  border-radius: 50%;\n  flex-shrink: 0;\n  margin-top: 6px;\n}\n\n.notable-item strong {\n  font-weight: 600;\n  color: #000;\n}\n\n@media (max-width: 600px) {\n  .french-body {\n    padding: 1rem 1.2rem 1.2rem;\n  }\n  .week-content {\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"french-schedule-wrap\">\n  <div class=\"french-schedule-card\">\n    \n    <div class=\"french-header\">\n      <h3 class=\"french-title\">French Stages Schedule<\/h3>\n      <span class=\"french-badge\">Stages 3\u201321<\/span>\n    <\/div>\n\n    <div class=\"french-body\">\n\n      <!-- Week 1 in France -->\n      <div class=\"week-block\">\n        <div class=\"week-head\">\n          <div class=\"week-head-icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle>\n              <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"><\/line>\n              <path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"><\/path>\n            <\/svg>\n          <\/div>\n          <div class=\"week-head-title\">Week 1 in France<\/div>\n        <\/div>\n        <div class=\"week-content\">\n          <strong>Pyrenees<\/strong> (Les Angles, Foix, Pau, Gavarnie\u2011G\u00e8dre) \u2192 <strong>Southwest<\/strong> (Bordeaux, Bergerac, Ussel)\n        <\/div>\n      <\/div>\n\n      <!-- Week 2 in France -->\n      <div class=\"week-block\">\n        <div class=\"week-head\">\n          <div class=\"week-head-icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle>\n              <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"><\/line>\n              <path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"><\/path>\n            <\/svg>\n          <\/div>\n          <div class=\"week-head-title\">Week 2 in France<\/div>\n        <\/div>\n        <div class=\"week-content\">\n          <strong>Massif Central<\/strong> (Aurillac, Le Lioran) \u2192 <strong>Loire\/Burgundy<\/strong> (Vichy, Nevers, Chalon\u2011sur\u2011Sa\u00f4ne) \u2192 <strong>Franche\u2011Comt\u00e9\/Jura<\/strong> (Dole, Belfort, Mulhouse) \u2192 <strong>Alps<\/strong> (Champagnole, Solaison)\n        <\/div>\n      <\/div>\n\n      <!-- Week 3 in France -->\n      <div class=\"week-block\">\n        <div class=\"week-head\">\n          <div class=\"week-head-icon\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle>\n              <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"><\/line>\n              <path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"><\/path>\n            <\/svg>\n          <\/div>\n          <div class=\"week-head-title\">Week 3 in France<\/div>\n        <\/div>\n        <div class=\"week-content\">\n          <strong>Alps<\/strong> (\u00c9vian, Thonon, Voiron, Orci\u00e8res\u2011Merlette, Alpe d\u2019Huez) \u2192 <strong>\u00cele\u2011de\u2011France<\/strong> \u2192 <strong>Paris<\/strong>\n        <\/div>\n      <\/div>\n\n      <!-- Notable new French start towns -->\n      <div class=\"notable-section\">\n        <h4 class=\"notable-title\">Notable new French start towns<\/h4>\n        <ul class=\"notable-list\">\n          <li class=\"notable-item\">\n            <span class=\"notable-dot\"><\/span>\n            <span><strong>Hagetmau<\/strong> (Stage 7) \u2014 first Tour appearance<\/span>\n          <\/li>\n          <li class=\"notable-item\">\n            <span class=\"notable-dot\"><\/span>\n            <span><strong>Chalon\u2011sur\u2011Sa\u00f4ne<\/strong> (Stage 12 finish) \u2014 first Tour appearance<\/span>\n          <\/li>\n          <li class=\"notable-item\">\n            <span class=\"notable-dot\"><\/span>\n            <span><strong>Voiron<\/strong> (Stage 18 start) \u2014 returns to Tour rotation<\/span>\n          <\/li>\n        <\/ul>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_8f5334-76 .kt-block-spacer{height:44px;}.wp-block-kadence-spacer.kt-block-spacer-6943_8f5334-76 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_8f5334-76\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Tour de France 2026 \u2014 History, Storylines and What Makes This Edition Different<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Is This the Boldest Tour Route in Years?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The critical analysis says yes. The 2026 route is the most concentrated mountain Tour since 2018, the most time-trial-light edition since 2020, and the first Grand Tour in history to deliver back-to-back summit finishes on the same mountain. Rouleur described it as a route that \u201csuits Poga\u010dar \u2014 the Slovenian can do everything.\u201d Cyclist described it as \u201cripe for breakaways.\u201d Both are correct and both are in some tension: a route that suits the best all-rounder in the world while simultaneously providing multiple opportunities for breakaway specialists suggests that the ASO is trying to produce both dominant performances and wild-card results from the same schedule.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The total TT distance in 2026 is 45.7 km (19.7 km TTT + 26 km ITT). This is among the lowest in the modern era. For context: Tour 2023 had 93 km of time trials. Tour 2022 had 72 km. In 2026, pure time-trial specialists cannot gain 3 minutes on a mountain climber. The race is decided on climbs, and specifically on new climbs the entire field is discovering for the first time together.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The GC Storylines Driving the 2026 Schedule<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tadej Poga\u010dar<\/strong> (UAE Team Emirates-XRG) starts as the overwhelming favourite, but chasing a fifth Tour de France title that would place him alongside only Bernard Hinault, Eddy Merckx, Jacques Anquetil, and Miguel Indurain in the five-wins club. He won the 2025 Tour, the 2025 Giro-Tour double, and arrived at 2026 having barely been troubled in the spring. The schedule, with its emphasis on summit finishes and minimal time trial, suits his profile precisely.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Jonas Vingegaard<\/strong> (Visma-Lease a Bike) is attempting a Giro d\u2019Italia and Tour de France double in the same year, a feat achieved only by Fausto Coppi (1949), Eddy Merckx (three times), and Marco Pantani (1998). He won the Giro in June and arrives in Barcelona with between five and six weeks of recovery before Stage 1. His team has publicly committed to the Tour as the primary objective. Whether his body can produce two Grand Tour-winning performances in 60 days is the defining question of 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Remco Evenepoel<\/strong> (Red Bull-BORA-hansgrohe) would become the first Belgian to win the Tour de France since Lucien Van Impe in 1976 if he stands on the top step of the Paris podium. He moved to Red Bull-BORA-hansgrohe from Quick-Step in 2026 with the explicit ambition of winning the Tour. The 26 km ITT is built for him. The Stage 20 Queen Stage is not, but Evenepoel has shown repeatedly that what logic says should eliminate him, often does not.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paul Seixas<\/strong> (Decathlon CMA CGM) is 19 years old and confirmed to start for his team in Barcelona. He won the Itzulia Basque Country in April and finished second at Li\u00e8ge-Bastogne-Li\u00e8ge. He is not expected to win the Tour de France in 2026 by anyone except possibly himself. The white jersey \u2014 best young rider \u2014 is his to lose. A podium finish at 19 would make him the most talked-about rider in the sport by July 26.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_4d4c58-77 .kt-block-spacer{height:46px;}.wp-block-kadence-spacer.kt-block-spacer-6943_4d4c58-77 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_4d4c58-77\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">What This Schedule Means for the General Classification<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">How the Schedule Favours Poga\u010dar \u2014 and Where Vingegaard Can Win<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The 2026 schedule tilts toward Poga\u010dar on paper. Five summit finishes reward explosive climbing. A 26 km ITT is short enough to limit time-trial specialist advantages. The TTT on Stage 1, where Poga\u010dar\u2019s UAE squad is one of the strongest units in professional cycling, creates an immediate head start before a mountain has been climbed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But the schedule also gives Vingegaard specific windows. Stage 3\u2019s early Pyrenean summit at Les Angles is exactly the kind of diesel-paced, sustained-gradient finish that rewards Vingegaard\u2019s ability to control tempo over long ascents. Stage 15 at Solaison, 9.1 km at 9.3% on an unfamiliar road, suits a rider whose climbing is characterised by mechanical consistency rather than explosive acceleration. The 26 km ITT on Stage 16 is, objectively, closer to Vingegaard\u2019s profile than Poga\u010dar\u2019s: at distances above 20 km, Vingegaard\u2019s power curve holds an advantage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The schedule is more balanced than initial reactions suggested. ASO built a route with five GC stages that could each produce a different leader. The Tour de France 2026 is not written in advance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why the Schedule Structure Suits an All-Rounder<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The 26 km ITT is too short for a pure time-trialist to gain 3+ minutes on a mountain specialist. Eight mountain stages are too many for a pure climber to avoid losing time on descents, transitions, and the occasional undulating trap stage. The route needs a complete rider, someone who can time-trial, climb explosively, descend technically, and manage three weeks of race pressure without a single bad day.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In 2026, that description fits three riders: Poga\u010dar, Vingegaard, and Evenepoel. It partly fits Seixas and Lipowitz. For everyone else, the schedule is a set of specific problems rather than a general opportunity. The Tour de France 2026 will be decided by a rider who has no weaknesses. That is, by definition, the most competitive race format possible.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_dce449-15 .kt-block-spacer{height:44px;}.wp-block-kadence-spacer.kt-block-spacer-6943_dce449-15 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_dce449-15\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Watching the 2026 Schedule in Person \u2014 Stage-by-Stage Spectator Guide<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tour de France 2026 is free to watch from the roadside at every stage. No tickets, no barriers, no gates. The race passes through open public roads and any spectator can position themselves anywhere along the route.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Barcelona Stages 1 and 2 \u2014 Fan Zones, Routes, and Access<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Barcelona\u2019s Grand D\u00e9part is the most internationally attended opening in recent Tour history. For Stage 1 on July 4, the Montju\u00efc finishing circuit is the best viewing location, teams pass the same section twice, giving spectators two views for the price of one position. The Metro\u2019s Line 2 (purple) reaches the Montju\u00efc base at Paral\u00b7lel station in 15 minutes from the Gothic Quarter. Road closures on the Montju\u00efc access roads begin at 15:00 CEST on July 4; arrive before that time by public transport.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The team presentation on July 1 at Pla\u00e7a de Catalunya is free to attend. Arrive early: the square fills quickly and the viewing area around the stage fills from 16:00 CEST for an 18:00 CEST start.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For Stage 2 on July 5, the same Montju\u00efc circuit applies. The difference: riders arrive after 160 km rather than fresh. Positioning at the top of the Montju\u00efc ascent on Stage 2 gives the most dramatic views; you can see the GC leaders\u2019 faces as they cross the summit with 3 km remaining and see who is fighting and who is comfortable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Luggage storage in Barcelona fills quickly during the Tour week. Book in advance at Pla\u00e7a de Catalunya, Sants station, and the Barceloneta waterfront.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Alpe d\u2019Huez Stages 19 and 20 \u2014 The Back-to-Back Experience<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stages 19 and 20 finish on Alpe d\u2019Huez on consecutive days \u2014 an experience with no precedent in professional cycling history. Spectators who camp on the mountain from July 23 can watch both stages without descending.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Road closures on Alpe d\u2019Huez begin at 08:00 CEST on both July 24 and July 25. No private vehicles are permitted above Le Bourg-d\u2019Oisans after that time. Access is by bicycle, on foot, or via the official spectator shuttles from Le Bourg-d\u2019Oisans town centre. Shuttles operate from 07:00 CEST and typically stop running by 10:00 CEST as demand peaks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The 21 numbered hairpins are the most famous spectator positions in cycling. Hairpin 7, Dutch Corner, is the densest section, historically occupied by thousands of Dutch fans who camp from days in advance. Hairpin 21 at the bottom gives the first view of riders exiting the valley. Hairpin 1 near the summit gives the sprint finish view.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On Stage 20, the Tour Caravan passes approximately 2 hours before the riders. Temperature at the Alpe d\u2019Huez summit (1,850m) drops to 8\u00b0C\u201312\u00b0C in the evening of late July, bring a warm layer, waterproof outer shell, enough food and water for a full day, and sunscreen for the midday hours when the sun sits directly above the open hairpins.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Best Stages for First-Time Spectators<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you are attending the Tour de France for the first time, the three stage types offer the best combination of accessibility and experience.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Flat sprint stages (Stages 5, 7, 8, 11, 12): The easiest option. Find a position in the final 3 km of the route, arrive 60\u201390 minutes before the expected finish, and watch 176 riders pass in a 30-second wall of speed and noise. The Tour Caravan precedes them by 90\u2013120 minutes and distributes free merchandise. Flat stage towns are generally well-served by transport and accommodation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 16 Individual Time Trial (July 21, \u00c9vian \u2192 Thonon, 26 km): The ITT is unique in that every GC rider passes your position individually, at 2-minute intervals, for 2\u20133 hours. You can see the difference in position, style, and expression between a specialist on their best day and a climber who is merely surviving the clock. The Lake Geneva backdrop makes the TTT one of the most photogenic stages of the race.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mountain summit stages (choose one): If you only attend one mountain stage, Stage 6 (Gavarnie-G\u00e8dre) is more accessible than Alpe d\u2019Huez \u2014 the Cirque de Gavarnie setting is exceptional, the road is less congested than the Alps in early July, and you are closer to Pyrenean accommodation bases. For the Alps, Stage 18 to Orci\u00e8res-Merlette is the least crowded of the three consecutive Alpine summit finishes.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_83982c-ed .kt-block-spacer{height:41px;}.wp-block-kadence-spacer.kt-block-spacer-6943_83982c-ed .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_83982c-ed\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Tour de France Femmes 2026 \u2014 Schedule Overview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Tour de France Femmes avec Zwift runs immediately after the men\u2019s race, from August 1 to August 9, 2026 \u2014 nine stages with its own complete race narrative, broadcast schedule, and GC battle. The 2026 edition starts in Switzerland and finishes in Nice after a decisive Stage 7 summit finish on Mont Ventoux on August 7.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the USA, Peacock carries all nine stages live from start to finish, the same subscription that covers the men\u2019s Tour runs through August 9, making it one month of racing for one subscription price. In Australia, SBS On Demand covers the women\u2019s race with the same English-language commentary team. In the UK, TNT Sports and Discovery+ carry both races under the same rights agreement. In France, France TV broadcasts the Femmes race free to air.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Tour de France Femmes has grown its global audience by 40% over the past three seasons. It is not a secondary event. The women\u2019s peloton races the same roads, the same mountains, and the same Champs-\u00c9lys\u00e9es. If you follow the men\u2019s race to Paris, staying through to August 9 for Nice costs only attention.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_66c62c-35 .kt-block-spacer{height:42px;}.wp-block-kadence-spacer.kt-block-spacer-6943_66c62c-35 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_66c62c-35\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\" style=\"text-transform:uppercase\">Tour de France 2026 Schedule \u2014 Frequently Asked Questions<\/h2>\n\n\n\n<style>\n\/* FAQ Accordion \u2013 matching Tour card style *\/\n.faq-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.faq-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.faq-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 1.2rem 1.5rem 0.9rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.faq-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.2rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.faq-badge {\n  font-size: 0.65rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  background: #EAF3DE;\n  color: #27500A;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid rgba(99,153,34,0.3);\n  white-space: nowrap;\n}\n\n.faq-list {\n  padding: 0.8rem 1.5rem 1.5rem;\n  display: flex;\n  flex-direction: column;\n  gap: 0.6rem;\n}\n\n.faq-item {\n  background: rgba(255,255,255,0.45);\n  border: 1px solid rgba(99,153,34,0.12);\n  border-radius: 12px;\n  overflow: hidden;\n  transition: background 0.15s ease;\n}\n\n.faq-question {\n  width: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 1rem;\n  background: none;\n  border: none;\n  padding: 1rem 1.2rem;\n  cursor: pointer;\n  font-family: 'DM Sans', sans-serif;\n  font-size: 0.9rem;\n  font-weight: 600;\n  color: #111;\n  text-align: left;\n  line-height: 1.4;\n  transition: background 0.15s ease;\n}\n\n.faq-question:hover {\n  background: rgba(234,243,222,0.4);\n}\n\n.faq-question-text {\n  flex: 1;\n  min-width: 0;\n}\n\n.faq-icon {\n  width: 22px;\n  height: 22px;\n  flex-shrink: 0;\n  transition: transform 0.25s ease;\n  stroke: #27500A;\n}\n\n.faq-item.open .faq-icon {\n  transform: rotate(45deg);\n}\n\n.faq-answer {\n  max-height: 0;\n  overflow: hidden;\n  transition: max-height 0.35s ease, padding 0.35s ease;\n  padding: 0 1.2rem;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n  line-height: 1.6;\n  background: rgba(255,255,255,0.25);\n  border-top: 1px solid rgba(99,153,34,0.08);\n}\n\n.faq-item.open .faq-answer {\n  max-height: 600px;\n  padding: 0.9rem 1.2rem 1.1rem;\n}\n\n.faq-answer p {\n  margin: 0 0 0.75rem 0;\n}\n\n.faq-answer p:last-child {\n  margin-bottom: 0;\n}\n\n.faq-answer strong {\n  color: #000;\n}\n\n@media (max-width: 600px) {\n  .faq-list {\n    padding: 0.6rem 1rem 1.2rem;\n  }\n  .faq-question {\n    padding: 0.9rem 1rem;\n    font-size: 0.85rem;\n  }\n  .faq-answer {\n    padding: 0 1rem;\n    font-size: 0.8rem;\n  }\n}\n<\/style>\n\n<div class=\"faq-wrap\">\n  <div class=\"faq-card\">\n    \n    <div class=\"faq-header\">\n      <h3 class=\"faq-title\">Frequently Asked Questions<\/h3>\n      <span class=\"faq-badge\">2026<\/span>\n    <\/div>\n\n    <div class=\"faq-list\" id=\"faqAccordion\">\n\n      <!-- Question 1 (open by default) -->\n      <div class=\"faq-item open\">\n        <button class=\"faq-question\" aria-expanded=\"true\">\n          <span class=\"faq-question-text\">When does the Tour de France 2026 start &amp; finish?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>Tour de France 2026 starts on <strong>Saturday, July 4, 2026<\/strong>, with a 19.7 km team time trial in Barcelona, Spain. The first team rolls out at 17:05 CEST. This is the 113th edition of the race and the first to open with a stage\u2011one TTT since Mulhouse 1971.<\/p>\n          <p>Tour de France 2026 finishes on <strong>Sunday, July 26, 2026<\/strong>, on the Champs\u2011\u00c9lys\u00e9es in Paris. Stage 21 starts from Thoiry at approximately 16:30 CEST, with the Paris sprint finish expected around 19:30\u201320:00 CEST.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 2 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">What is the Grand D\u00e9part in Tour de France 2026?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>The Grand D\u00e9part is <strong>Barcelona, Spain<\/strong> \u2014 the third time in Tour de France history the race has started in Spain, after San Sebasti\u00e1n in 1992 and Bilbao in 2023. Stage 1 (July 4) and Stage 2 (July 5) both finish in Barcelona, with Stage 3 starting in Granollers before crossing into France.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 3 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">What time do Tour de France 2026 stages start?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>Flat and hilly stages start at approximately <strong>13:05 CEST<\/strong> (12:05 BST \/ 07:05 EDT \/ 04:05 PDT \/ 21:05 AEST). Mountain stages start at approximately <strong>12:15 CEST<\/strong>. Stage 1 TTT: first team off at 17:05 CEST. Stage 16 ITT: first rider off at ~12:30 CEST. Stage 21 Paris: approximately <strong>16:30 CEST<\/strong>.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 4 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">What is the queen stage of Tour de France 2026?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p><strong>Stage 20 on July 25<\/strong> is the queen stage \u2014 171 km from Le Bourg\u2011d\u2019Oisans to Alpe d\u2019Huez via the Col de la Croix de Fer, Col du T\u00e9l\u00e9graphe, Col du Galibier (2,642m), Col de Sarenne, and a second ascent of Alpe d\u2019Huez. Over 5,600 metres of climbing. It is the hardest single stage and the one most likely to determine the overall winner.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 5 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">Does Tour de France 2026 finish on Alpe d\u2019Huez twice?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>Yes. Stage 19 (July 24) and Stage 20 (July 25) both finish at Alpe d\u2019Huez \u2014 the <strong>first time in Grand Tour history<\/strong> a race has delivered back\u2011to\u2011back summit finishes on the same mountain. Stage 20 uses the Col de Sarenne loop to approach the summit from a different direction before the canonical 21\u2011hairpin final ascent.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 6 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">When are the rest days in Tour de France 2026?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p><strong>Rest Day 1<\/strong> is on Monday July 13, following Stage 9 in the Cantal region. <strong>Rest Day 2<\/strong> is on Monday July 20, in Haute\u2011Savoie, immediately before the Stage 16 individual time trial on July 21.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 7 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">What is the longest stage in Tour de France 2026?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>Stage 13 (Dole \u2192 Belfort, July 17) is the longest stage of the 2026 Tour at <strong>205 km \/ 127 miles<\/strong> through the Jura hills between Franche\u2011Comt\u00e9 and Alsace.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 8 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">What is the shortest stage in Tour de France 2026?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>Stage 16 \u2014 the individual time trial from \u00c9vian\u2011les\u2011Bains to Thonon\u2011les\u2011Bains \u2014 is the shortest stage at <strong>26 km \/ 16 miles<\/strong>. Stage 1 TTT in Barcelona is shorter at 19.7 km but is a team format rather than a road stage.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 9 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">How many km is Tour de France 2026?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>The total race distance is <strong>3,333 km \/ 2,071 miles<\/strong> across 21 stages. Total elevation gain: 54,450 metres. The race covers parts of Spain (stages 1\u20133) and France (stages 3\u201321).<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 10 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">What are the new climbs in Tour de France 2026?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>Six climbs appear for the first time: C\u00f4te de Begues (Stage 2), Mont\u00e9e de Gavarnie\u2011G\u00e8dre (Stage 6 \u2014 new summit finish), Col de la Griffoul (Stage 10), Col du Page and Col du Haag (Stage 14), Plateau de Solaison (Stage 15 \u2014 new summit finish), and the Col de Sarenne via its south\u2011eastern flank (Stage 20). The Galibier at 2,642m is the highest point of the race.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 11 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">What time does Stage 1 start in the USA?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>Stage 1 TTT (July 4): first team rolls out at <strong>11:05 EDT \/ 08:05 PDT<\/strong>. Last team departs at 12:55 EDT \/ 09:55 PDT. Coverage on Peacock. Flat\/hilly stages start ~07:05 EDT \/ 04:05 PDT. Mountain stages ~06:15 EDT \/ 03:15 PDT.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 12 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">What time does Tour de France 2026 start in the UK?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>Stage 1 TTT (July 4): first team off at <strong>16:05 BST<\/strong>. Flat\/hilly: ~12:05 BST. Mountain: ~11:15 BST. Paris finale: ~15:30 BST. All coverage on TNT Sports via Discovery+ (\u00a330.99\/month) \u2014 ITV\u2019s rights ended after the 2025 Tour.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 13 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">What time does Tour de France 2026 start in Australia?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>Stage 1 TTT (July 4): first team off at <strong>01:05 AEST<\/strong> the following morning (July 5). Flat\/hilly: ~21:05 AEST. Mountain: ~20:15 AEST. Paris finale: ~00:30 AEST (July 27). SBS On Demand airs all stages live for free, with full\u2011stage replays from ~06:00 AEST.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 14 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">Is Montmartre on the 2026 Tour de France route?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>Yes. Stage 21 (July 26, Thoiry \u2192 Paris) includes <strong>three ascents of Montmartre<\/strong>, with the final ascent ~15 km before the Champs\u2011\u00c9lys\u00e9es finish. Montmartre returns after featuring in 2025.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 15 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">Where can I follow live stage results for Tour de France 2026?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>Live stage results, GC standings, and classification updates are published on this site within <strong>10 minutes of each stage finish<\/strong>. During the stage, our live blog updates at key moments \u2014 attacks, summit passages, time gaps. Real\u2011time GPS tracking and interim standings are also available.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 16 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">Where can I find climb profiles for each stage?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>Detailed climb profiles \u2014 gradient charts, summit altitudes, category information \u2014 are available in our Stage Profiles section. Individual stage previews publish <strong>48 hours before each stage<\/strong> with full tactical breakdown.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 17 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">How do I follow the race if I\u2019m in a different timezone?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>The timezone table in this article converts all stage start times to CET, BST, EDT, PDT, and AEST. For SBS On Demand users in Australia, full\u2011stage replays appear ~2\u20133 hours after each finish \u2014 making it possible to watch the complete previous stage before the next one begins each evening. Our stage summaries are published within <strong>30 minutes<\/strong> of each finish for non\u2011live followers.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Question 18 -->\n      <div class=\"faq-item\">\n        <button class=\"faq-question\" aria-expanded=\"false\">\n          <span class=\"faq-question-text\">How often do you update GC standings and results during each stage?<\/span>\n          <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"faq-answer\">\n          <p>Live GC standings and time gaps update during each stage on our Live Coverage page, with major alerts at key summits. Classification tables (yellow, green, polka dot, white jerseys) are published in full within <strong>30 minutes<\/strong> of the official podium ceremony each race day.<\/p>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  const accordion = document.getElementById('faqAccordion');\n  if (!accordion) return;\n\n  accordion.addEventListener('click', function(e) {\n    const button = e.target.closest('.faq-question');\n    if (!button) return;\n\n    const currentItem = button.closest('.faq-item');\n    const isOpen = currentItem.classList.contains('open');\n\n    \/\/ Close all items\n    accordion.querySelectorAll('.faq-item').forEach(item => {\n      item.classList.remove('open');\n      item.querySelector('.faq-question').setAttribute('aria-expanded', 'false');\n    });\n\n    \/\/ Open clicked item only if it wasn't already open\n    if (!isOpen) {\n      currentItem.classList.add('open');\n      button.setAttribute('aria-expanded', 'true');\n    }\n  });\n})();\n<\/script>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_c3252e-87 .kt-block-spacer{height:38px;}.wp-block-kadence-spacer.kt-block-spacer-6943_c3252e-87 .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_c3252e-87\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Tour de France 2026 \u2014 Where to Watch Live by Territory<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For the complete broadcaster guide with platform links, VPN access, and free streaming options, see our full <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-live\/\" data-type=\"page\" data-id=\"6926\">Tour de France 2026 Live Streaming Guide<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Quick reference:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>USA: Peacock, $10.99\/month \u2014 all 21 stages, start to finish. NBC: Grand D\u00e9part (July 4) and Paris finale (July 26) free to air.<\/li>\n\n\n\n<li>UK: TNT Sports \/ Discovery+, \u00a330.99\/month \u2014 all 21 stages. ITV\u2019s rights ended after 2025. S4C free (Welsh). TG4 free (Irish).<\/li>\n\n\n\n<li>Australia: SBS \/ SBS On Demand \u2014 free, all 21 stages, English commentary with Matt Keenan. Registration required for the app.<\/li>\n\n\n\n<li>France: France T\u00e9l\u00e9visions \/ France.tv \u2014 free, all 21 stages, French commentary.<\/li>\n\n\n\n<li>Germany: ARD \/ ARD Mediathek \u2014 free, all 21 stages.<\/li>\n\n\n\n<li>Spain: RTVE \/ RTVE Play \u2014 free, all 21 stages.<\/li>\n\n\n\n<li>Netherlands: NOS \u2014 free, all 21 stages, rights confirmed through 2030.<\/li>\n\n\n\n<li>Belgium: RTBF (French) + Sporza\/VRT (Flemish) \u2014 free, all 21 stages.<\/li>\n\n\n\n<li>Canada: FloBikes, CAD$49.99\/month \u2014 all 21 stages, no confirmed free option.<\/li>\n<\/ul>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6943_5b9fbd-eb .kt-block-spacer{height:42px;}.wp-block-kadence-spacer.kt-block-spacer-6943_5b9fbd-eb .kt-divider{border-top-width:1px;height:1px;border-top-color:#eee;width:80%;border-top-style:solid;}<\/style>\n<div class=\"wp-block-kadence-spacer aligncenter kt-block-spacer-6943_5b9fbd-eb\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">Ready for July 4? The 2026 Tour de France Starts in Barcelona.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">21 stages. 3,333 km. A team time trial on a Mediterranean evening, two Pyrenean summits, a Bastille Day mountain finish, a new Alpine climb nobody knows, and back-to-back Alpe d\u2019Huez finishes that have never happened before in Grand Tour history. The schedule is set. The route is confirmed. Everything else starts at 17:05 CEST on July 4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tour de France 2026 Schedule: All 21 Stages, Dates, &amp; Start Times in your time zone This is the complete Tour de France 2026 stage schedule \u2014 every stage, every date, every confirmed start time converted to your timezone, from the Barcelona Grand D\u00e9part on July 4 to the Paris Champs-\u00c9lys\u00e9es finale on July 26&#8230;.<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-6943","page","type-page","status-publish","hentry"],"taxonomy_info":[],"featured_image_src_large":false,"author_info":{"display_name":"Gautier Durfort","author_link":"https:\/\/franceletour.com\/fr\/author\/gautier-durfort\/"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/pages\/6943","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/comments?post=6943"}],"version-history":[{"count":21,"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/pages\/6943\/revisions"}],"predecessor-version":[{"id":7069,"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/pages\/6943\/revisions\/7069"}],"wp:attachment":[{"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/media?parent=6943"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}