{"id":6926,"date":"2026-06-03T15:56:46","date_gmt":"2026-06-03T13:56:46","guid":{"rendered":"https:\/\/franceletour.com\/?page_id=6926"},"modified":"2026-06-13T17:58:07","modified_gmt":"2026-06-13T15:58:07","slug":"tour-de-france-2026-live","status":"publish","type":"page","link":"https:\/\/franceletour.com\/fr\/","title":{"rendered":"Tour de France 2026 Live: Watch Every Stage Online, on TV &amp; Worldwide"},"content":{"rendered":"<style>.wp-block-kadence-advancedheading.kt-adv-heading6926_145216-15, .wp-block-kadence-advancedheading.kt-adv-heading6926_145216-15[data-kb-block=\"kb-adv-heading6926_145216-15\"]{font-style:normal;text-transform:uppercase;}.wp-block-kadence-advancedheading.kt-adv-heading6926_145216-15 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading6926_145216-15[data-kb-block=\"kb-adv-heading6926_145216-15\"] 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-heading6926_145216-15 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading6926_145216-15[data-kb-block=\"kb-adv-heading6926_145216-15\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h1 class=\"kt-adv-heading6926_145216-15 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading6926_145216-15\">Tour de France 2026 Live: Watch Every Stage Online, on TV &amp; Worldwide Free<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">This is the complete guide to watching Tour de France 2026 live \u2014 every stage, every broadcaster, every country, from the <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-stage-1\/\">Barcelona Grand D\u00e9part<\/a> on July 4 to the Champs-\u00c9lys\u00e9es finish on July 26. Whether you want the free option in your country, a streaming platform with full start-to-finish coverage, or a way to access the race from abroad, this page gives you the confirmed, verified answer.<\/p>\n\n\n<style>.kb-row-layout-id6926_20fad8-ad > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id6926_20fad8-ad > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id6926_20fad8-ad > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-right:0px;padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:0px;grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id6926_20fad8-ad > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id6926_20fad8-ad > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id6926_20fad8-ad > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id6926_20fad8-ad alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column6926_186bf5-5b > .kt-inside-inner-col,.kadence-column6926_186bf5-5b > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column6926_186bf5-5b > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column6926_186bf5-5b > .kt-inside-inner-col{flex-direction:column;}.kadence-column6926_186bf5-5b > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column6926_186bf5-5b > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column6926_186bf5-5b{position:relative;}@media all and (max-width: 1024px){.kadence-column6926_186bf5-5b > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column6926_186bf5-5b > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column6926_186bf5-5b\"><div class=\"kt-inside-inner-col\"><style>.kb-image6926_ca8c55-05 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image6926_ca8c55-05\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"536\" src=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/watch-tour-de-france-2026-live-1024x536.png\" alt=\"Watch Le Tour 2026 Live Stages\" class=\"kb-img wp-image-7006\" title=\"\" srcset=\"https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/watch-tour-de-france-2026-live-1024x536.png 1024w, https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/watch-tour-de-france-2026-live-300x157.png 300w, https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/watch-tour-de-france-2026-live-768x402.png 768w, https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/watch-tour-de-france-2026-live-1536x803.png 1536w, https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/watch-tour-de-france-2026-live.png 1734w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n<\/div><\/div>\n\n<\/div><\/div>\n\n\n<p class=\"wp-block-paragraph\">Tour de France 2026 is the 113th edition of the race. It spans 3,333 kilometres across 21 stages over 23 days, opening with a team time trial in Barcelona, the first at the Tour since 1971, and closing on the Champs-\u00c9lys\u00e9es in Paris. The <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-route\/\" data-type=\"page\" data-id=\"6973\">Tour de France 2026 route<\/a> includes <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-mountain-stages\/\">8 mountain stages<\/a>, 5 summit finishes, a 26 km individual time trial, and two consecutive Alpe d\u2019Huez summit finishes on Stages 19 and 20. The GC battle centres on Tadej Poga\u010dar, Jonas Vingegaard, Remco Evenepoel, and 19-year-old Paul Seixas. The race is broadcast in 190+ countries across free-to-air and subscription platforms \u2014 and in 14 of those countries, it costs nothing to watch every stage live.<\/p>\n\n\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,400&display=swap');\n\n.tldr-wrap {\n  max-width: 680px;\n  margin: 0 auto;\n  font-family: 'DM Sans', sans-serif;\n}\n.tldr-header {\n  display: flex;\n  align-items: baseline;\n  gap: 12px;\n  margin-bottom: 1.25rem;\n  padding-bottom: 0.9rem;\n  border-bottom: 1px solid rgba(0,0,0,0.08);\n}\n.tldr-kicker {\n  font-family: 'Bebas Neue', sans-serif;\n  font-size: 1.1rem;\n  letter-spacing: 1.5px;\n  color: #FFC72C;\n  background: #000;\n  padding: 2px 10px;\n  border-radius: 4px;\n  line-height: 1.4;\n}\n.tldr-heading {\n  font-family: 'Bebas Neue', sans-serif;\n  font-size: 1.9rem;\n  color: #111;\n  letter-spacing: 0.5px;\n  line-height: 1;\n  margin: 0;\n}\n.tldr-item {\n  display: flex;\n  gap: 12px;\n  align-items: flex-start;\n  padding: 0.85rem 0.9rem;\n  border-radius: 8px;\n  margin-bottom: 6px;\n  border: 1px solid rgba(0,0,0,0.07);\n  background: #ffffff;\n}\n.tldr-item.highlight {\n  border-color: #FFC72C;\n  background: #fffbef;\n}\n.tldr-icon {\n  width: 32px;\n  height: 32px;\n  border-radius: 8px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n  font-size: 16px;\n}\n.tldr-icon svg { display: block; }\n.tldr-icon.yellow { background: #FFC72C; color: #000; }\n.tldr-icon.blue   { background: #E6F1FB; color: #0C447C; }\n.tldr-icon.red    { background: #FCEBEB; color: #791F1F; }\n.tldr-icon.green  { background: #EAF3DE; color: #27500A; }\n.tldr-icon.purple { background: #EEEDFE; color: #3C3489; }\n.tldr-icon.gray   { background: #f4f4f4;  color: #555; }\n.tldr-content { flex: 1; min-width: 0; }\n.tldr-label {\n  font-size: 0.65rem;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 1px;\n  color: #999;\n  margin-bottom: 3px;\n}\n.tldr-text {\n  font-size: 0.85rem;\n  color: #1a1a1a;\n  line-height: 1.55;\n  margin: 0;\n}\n.tldr-text strong { font-weight: 500; }\n.pill {\n  display: inline-block;\n  font-size: 0.62rem;\n  font-weight: 600;\n  padding: 1px 7px;\n  border-radius: 10px;\n  vertical-align: middle;\n  margin-left: 3px;\n  letter-spacing: 0.4px;\n}\n.pill-free   { background: #EAF3DE; color: #27500A; }\n.pill-paid   { background: #FAECE7; color: #712B13; }\n.pill-tip    { background: #FFC72C; color: #000; }\n.tldr-tz {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 6px;\n  margin-top: 6px;\n}\n.tz-chip {\n  font-size: 0.72rem;\n  font-weight: 500;\n  padding: 3px 9px;\n  border-radius: 20px;\n  border: 1px solid rgba(0,0,0,0.1);\n  color: #1a1a1a;\n  white-space: nowrap;\n}\n.tz-chip span {\n  color: #999;\n  font-weight: 400;\n  font-size: 0.68rem;\n  margin-left: 2px;\n}\n.free-row {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 6px;\n  margin-top: 6px;\n}\n.country-tag {\n  font-size: 0.72rem;\n  font-weight: 500;\n  padding: 3px 9px;\n  background: #f4f4f4;\n  border-radius: 20px;\n  color: #1a1a1a;\n  white-space: nowrap;\n}\n\n@media (max-width: 480px) {\n  .tldr-heading { font-size: 1.4rem; }\n  .tldr-item { padding: 0.75rem; }\n}\n<\/style>\n\n<div class=\"tldr-wrap\">\n\n  <div class=\"tldr-header\">\n    <div class=\"tldr-kicker\">TL;DR<\/div>\n    <p class=\"tldr-heading\">Everything you need at a glance<\/p>\n  <\/div>\n\n  <div class=\"tldr-item highlight\">\n    <div class=\"tldr-icon yellow\">\n      <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"><\/rect><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"><\/line><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"><\/line><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"><\/line><\/svg>\n    <\/div>\n    <div class=\"tldr-content\">\n      <div class=\"tldr-label\">The race<\/div>\n      <p class=\"tldr-text\"><strong>July 4\u201326, 2026<\/strong> \u00b7 21 stages \u00b7 3,333 km \u00b7 Grand D\u00e9part in <strong>Barcelona<\/strong> \u00b7 Final stage: <strong>Paris, Champs-\u00c9lys\u00e9es<\/strong><\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"tldr-item\">\n    <div class=\"tldr-icon blue\">\n      <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"2\" y=\"7\" width=\"20\" height=\"15\" rx=\"2\"><\/rect><polyline points=\"17 2 12 7 7 2\"><\/polyline><\/svg>\n    <\/div>\n    <div class=\"tldr-content\">\n      <div class=\"tldr-label\">USA <span class=\"pill pill-paid\">Paid<\/span><\/div>\n      <p class=\"tldr-text\"><strong>Peacock<\/strong> \u2014 $10.99\/month, all 21 stages live. <strong>NBC<\/strong> broadcasts Stage 1 (July 4) and Stage 21 (July 26) free-to-air.<\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"tldr-item\">\n    <div class=\"tldr-icon red\">\n      <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"2\" y=\"7\" width=\"20\" height=\"15\" rx=\"2\"><\/rect><polyline points=\"17 2 12 7 7 2\"><\/polyline><\/svg>\n    <\/div>\n    <div class=\"tldr-content\">\n      <div class=\"tldr-label\">UK <span class=\"pill pill-paid\">Paid<\/span><\/div>\n      <p class=\"tldr-text\"><strong>ITV is gone from 2026.<\/strong> TNT Sports via Discovery+ at \u00a330.99\/month is the only full English-language option. S4C is free in Welsh \u00b7 TG4 free in Irish.<\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"tldr-item\">\n    <div class=\"tldr-icon green\">\n      <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"><\/line><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><\/svg>\n    <\/div>\n    <div class=\"tldr-content\">\n      <div class=\"tldr-label\">Free in Europe <span class=\"pill pill-free\">Free<\/span><\/div>\n      <div class=\"free-row\">\n        <span class=\"country-tag\">France TV<\/span>\n        <span class=\"country-tag\">ARD (Germany)<\/span>\n        <span class=\"country-tag\">RTVE (Spain)<\/span>\n        <span class=\"country-tag\">NOS (Netherlands)<\/span>\n        <span class=\"country-tag\">RTBF \/ Sporza (Belgium)<\/span>\n        <span class=\"country-tag\">RAI Sport (Italy)<\/span>\n        <span class=\"country-tag\">TG4 (Ireland)<\/span>\n        <span class=\"country-tag\">SRG-SSR (Switzerland)<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"tldr-item\">\n    <div class=\"tldr-icon purple\">\n      <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"><\/path><circle cx=\"12\" cy=\"10\" r=\"3\"><\/circle><\/svg>\n    <\/div>\n    <div class=\"tldr-content\">\n      <div class=\"tldr-label\">Live GPS tracking<\/div>\n      <p class=\"tldr-text\"><strong>franceletour.com<\/strong> \u2014 updates every few seconds. Real-time peloton positions, time gaps, and rider data.<\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"tldr-item\">\n    <div class=\"tldr-icon gray\">\n      <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n    <\/div>\n    <div class=\"tldr-content\">\n      <div class=\"tldr-label\">Stage start times<\/div>\n      <p class=\"tldr-text\">Most stages depart <strong>12:30\u201313:00 CET<\/strong><\/p>\n      <div class=\"tldr-tz\">\n        <div class=\"tz-chip\">06:30 ET <span>USA East<\/span><\/div>\n        <div class=\"tz-chip\">03:30 PT <span>USA West<\/span><\/div>\n        <div class=\"tz-chip\">11:30 BST <span>UK<\/span><\/div>\n        <div class=\"tz-chip\">20:30 AEST <span>Australia<\/span><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"tldr-item highlight\">\n    <div class=\"tldr-icon green\">\n      <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"><\/polygon><\/svg>\n    <\/div>\n    <div class=\"tldr-content\">\n      <div class=\"tldr-label\">Best free English option globally <span class=\"pill pill-tip\">Pro tip<\/span><\/div>\n      <p class=\"tldr-text\"><strong>SBS On Demand<\/strong> (Australia) \u2014 all 21 stages live, full HD, free with registration. Use NordVPN if outside Australia.<\/p>\n    <\/div>\n  <\/div>\n\n<\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6926_204743-d8 .kt-block-spacer{height:48px;}.wp-block-kadence-spacer.kt-block-spacer-6926_204743-d8 .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-6926_204743-d8\"><div class=\"kt-block-spacer kt-block-spacer-halign-center\"><hr class=\"kt-divider\"\/><\/div><\/div>\n\n\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,400&display=swap');\n\n.tdf-card {\n  max-width: 680px;\n  margin: 0 auto;\n  background: #ffffff;\n  border: 1px solid rgba(0,0,0,0.07);\n  border-radius: 16px;\n  overflow: hidden;\n  font-family: 'DM Sans', sans-serif;\n  box-shadow: 0 8px 32px rgba(0,0,0,0.06);\n}\n\n.tdf-header {\n  background: #FFC72C;\n  padding: 2rem 2rem 1.6rem;\n  position: relative;\n  overflow: hidden;\n}\n\n.tdf-header::before {\n  content: '';\n  position: absolute;\n  top: -30px; right: -30px;\n  width: 180px; height: 180px;\n  background: rgba(0,0,0,0.06);\n  border-radius: 50%;\n}\n\n.tdf-header::after {\n  content: '';\n  position: absolute;\n  bottom: -50px; right: 60px;\n  width: 120px; height: 120px;\n  background: rgba(0,0,0,0.04);\n  border-radius: 50%;\n}\n\n.tdf-badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  background: #000;\n  color: #FFC72C;\n  padding: 4px 14px;\n  border-radius: 40px;\n  font-size: 0.7rem;\n  font-weight: 600;\n  letter-spacing: 1.2px;\n  text-transform: uppercase;\n  font-family: 'DM Sans', sans-serif;\n  margin-bottom: 1rem;\n}\n\n.tdf-title {\n  font-family: 'Bebas Neue', sans-serif;\n  font-size: 3.8rem;\n  line-height: 0.9;\n  color: #000;\n  letter-spacing: 1px;\n  margin: 0 0 0.4rem 0;\n}\n\n.tdf-subtitle {\n  font-size: 0.82rem;\n  color: rgba(0,0,0,0.6);\n  font-weight: 400;\n  letter-spacing: 0.3px;\n  margin: 0;\n}\n\n\/* ---------- IMPROVED COUNTDOWN TIMER ---------- *\/\n.countdown-widget {\n  position: absolute;\n  top: 1rem;\n  right: 1.5rem;\n  background: rgba(0, 0, 0, 0.8);\n  backdrop-filter: blur(10px);\n  -webkit-backdrop-filter: blur(10px);\n  border: 1px solid rgba(255, 199, 44, 0.5);\n  border-radius: 16px;\n  padding: 0.75rem 1.25rem 0.65rem;\n  text-align: center;\n  min-width: 160px;\n  box-shadow: 0 4px 16px rgba(0,0,0,0.2), 0 0 12px rgba(255, 199, 44, 0.15);\n  z-index: 2;\n  transition: transform 0.2s ease;\n}\n\n.countdown-widget:hover {\n  transform: scale(1.02);\n}\n\n.countdown-label {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 5px;\n  font-family: 'DM Sans', sans-serif;\n  font-size: 0.55rem;\n  font-weight: 700;\n  letter-spacing: 1.5px;\n  text-transform: uppercase;\n  color: #FFC72C;\n  margin-bottom: 0.45rem;\n  opacity: 0.9;\n}\n\n.countdown-label svg {\n  width: 12px;\n  height: 12px;\n  stroke: #FFC72C;\n  flex-shrink: 0;\n}\n\n.countdown-digits {\n  display: flex;\n  justify-content: center;\n  align-items: baseline;\n  gap: 2px;\n  font-family: 'Bebas Neue', sans-serif;\n  font-size: 1.7rem;\n  line-height: 1;\n  color: #FFC72C;\n}\n\n.countdown-digits .unit {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  min-width: 40px;\n}\n\n.countdown-digits .number {\n  font-size: 1.8rem;\n  font-weight: 400;\n  letter-spacing: 1px;\n  text-shadow: 0 0 6px rgba(255, 199, 44, 0.4);\n}\n\n.countdown-digits .small {\n  font-size: 0.55rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  color: #FFC72C;\n  opacity: 0.85;\n  letter-spacing: 0.5px;\n  margin-top: -3px;\n}\n\n.countdown-digits .sep {\n  font-size: 1.4rem;\n  color: #FFC72C;\n  opacity: 0.6;\n  margin: 0 1px;\n}\n\/* ----------------------------------------------- *\/\n\n.tdf-body {\n  padding: 1.75rem 2rem;\n}\n\n.tdf-stat-strip {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  border: 1px solid rgba(0,0,0,0.07);\n  border-radius: 10px;\n  margin-bottom: 1.5rem;\n  overflow: hidden;\n}\n\n.tdf-stat {\n  padding: 1rem 0.75rem;\n  text-align: center;\n  border-right: 1px solid rgba(0,0,0,0.07);\n}\n\n.tdf-stat:last-child { border-right: none; }\n\n.tdf-stat-num {\n  font-family: 'Bebas Neue', sans-serif;\n  font-size: 2.2rem;\n  color: #111;\n  line-height: 1;\n  letter-spacing: 0.5px;\n}\n\n.tdf-stat-label {\n  font-size: 0.65rem;\n  text-transform: uppercase;\n  letter-spacing: 0.9px;\n  color: #888;\n  margin-top: 3px;\n  font-weight: 500;\n}\n\n.tdf-row {\n  display: flex;\n  align-items: baseline;\n  padding: 0.8rem 0;\n  border-bottom: 1px solid rgba(0,0,0,0.06);\n  gap: 1rem;\n}\n\n.tdf-row:last-child { border-bottom: none; }\n\n.tdf-label {\n  font-size: 0.68rem;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 1px;\n  color: #999;\n  min-width: 90px;\n  flex-shrink: 0;\n}\n\n.tdf-value {\n  font-size: 0.92rem;\n  color: #1a1a1a;\n  font-weight: 400;\n  flex: 1;\n}\n\n.tdf-value strong {\n  font-weight: 500;\n}\n\n.tdf-accent {\n  display: inline-block;\n  background: #FFC72C;\n  color: #000;\n  font-size: 0.65rem;\n  font-weight: 700;\n  padding: 2px 7px;\n  border-radius: 4px;\n  letter-spacing: 0.5px;\n  vertical-align: middle;\n  margin-left: 4px;\n}\n\n.tdf-section-label {\n  font-size: 0.65rem;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 1.2px;\n  color: #bbb;\n  margin-bottom: 0.5rem;\n}\n\n.tdf-riders {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n}\n\n.tdf-rider {\n  font-size: 0.78rem;\n  font-weight: 500;\n  font-style: italic;\n  padding: 3px 12px;\n  border-radius: 20px;\n  border: 1px solid rgba(0,0,0,0.12);\n  color: #222;\n}\n\n.tdf-footer {\n  background: #fafafa;\n  padding: 1rem 2rem;\n  border-top: 1px solid rgba(0,0,0,0.06);\n  display: flex;\n  align-items: center;\n  gap: 10px;\n}\n\n.tdf-jersey-dot {\n  width: 10px;\n  height: 10px;\n  background: #FFC72C;\n  border-radius: 50%;\n  flex-shrink: 0;\n}\n\n.tdf-footer-text {\n  font-size: 0.75rem;\n  color: #777;\n  line-height: 1.5;\n}\n\n.tdf-footer-text strong {\n  color: #111;\n  font-weight: 500;\n}\n\n@media (max-width: 480px) {\n  .tdf-title { font-size: 2.8rem; }\n  .tdf-body { padding: 1.25rem 1.25rem; }\n  .tdf-header { padding: 1.5rem 1.25rem 1.25rem; }\n  .tdf-footer { padding: 0.9rem 1.25rem; }\n  .tdf-stat-num { font-size: 1.8rem; }\n  .countdown-widget {\n    top: 0.6rem;\n    right: 0.6rem;\n    padding: 0.5rem 0.8rem;\n    min-width: 130px;\n    border-radius: 12px;\n  }\n  .countdown-digits { font-size: 1.4rem; }\n  .countdown-digits .number { font-size: 1.5rem; }\n}\n<\/style>\n\n<div class=\"tdf-card\">\n  <div class=\"tdf-header\">\n\n    <!-- \ud83d\ude80 Improved Countdown Timer -->\n    <div class=\"countdown-widget\" id=\"stage1-countdown\">\n      <div class=\"countdown-label\">\n        <!-- Tiny bicycle wheel 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          <circle cx=\"12\" cy=\"12\" r=\"6\"><\/circle>\n          <circle cx=\"12\" cy=\"12\" r=\"2\"><\/circle>\n        <\/svg>\n        Stage 1 begins in\n      <\/div>\n      <div class=\"countdown-digits\">\n        <div class=\"unit\"><span class=\"number\" id=\"cd-days\">00<\/span><span class=\"small\">D<\/span><\/div>\n        <span class=\"sep\">:<\/span>\n        <div class=\"unit\"><span class=\"number\" id=\"cd-hours\">00<\/span><span class=\"small\">H<\/span><\/div>\n        <span class=\"sep\">:<\/span>\n        <div class=\"unit\"><span class=\"number\" id=\"cd-minutes\">00<\/span><span class=\"small\">M<\/span><\/div>\n        <span class=\"sep\">:<\/span>\n        <div class=\"unit\"><span class=\"number\" id=\"cd-seconds\">00<\/span><span class=\"small\">S<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"tdf-badge\">\n      <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n        <circle cx=\"5\" cy=\"5\" r=\"5\" fill=\"#002395\"><\/circle>\n        <rect x=\"0\" y=\"3.3\" width=\"10\" height=\"3.4\" fill=\"#fff\"><\/rect>\n        <rect x=\"6.6\" y=\"0\" width=\"3.4\" height=\"10\" fill=\"#ED2939\"><\/rect>\n      <\/svg>\n      Tour de France 2026\n    <\/div>\n    <p class=\"tdf-title\">Race at<br>a Glance<\/p>\n    <p class=\"tdf-subtitle\">113th edition &nbsp;\u00b7&nbsp; 4\u201326 July 2026<\/p>\n  <\/div>\n\n  <div class=\"tdf-body\">\n\n    <div class=\"tdf-stat-strip\">\n      <div class=\"tdf-stat\">\n        <div class=\"tdf-stat-num\">21<\/div>\n        <div class=\"tdf-stat-label\">Stages<\/div>\n      <\/div>\n      <div class=\"tdf-stat\">\n        <div class=\"tdf-stat-num\">3,333<\/div>\n        <div class=\"tdf-stat-label\">Kilometres<\/div>\n      <\/div>\n      <div class=\"tdf-stat\">\n        <div class=\"tdf-stat-num\">54K<\/div>\n        <div class=\"tdf-stat-label\">Metres climbed<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"tdf-row\">\n      <div class=\"tdf-label\">Start<\/div>\n      <div class=\"tdf-value\"><strong>Barcelona, Spain<\/strong> \u2014 Team Time Trial <span class=\"tdf-accent\">TTT<\/span><\/div>\n    <\/div>\n    <div class=\"tdf-row\">\n      <div class=\"tdf-label\">Finish<\/div>\n      <div class=\"tdf-value\"><strong>Paris<\/strong>, Champs-\u00c9lys\u00e9es<\/div>\n    <\/div>\n    <div class=\"tdf-row\">\n      <div class=\"tdf-label\">Duration<\/div>\n      <div class=\"tdf-value\">23 days &nbsp;\u00b7&nbsp; 2 rest days<\/div>\n    <\/div>\n    <div class=\"tdf-row\">\n      <div class=\"tdf-label\">Rest Days<\/div>\n      <div class=\"tdf-value\">July 13 (Cantal) &nbsp;\u00b7&nbsp; July 20 (Haute-Savoie)<\/div>\n    <\/div>\n    <div class=\"tdf-row\">\n      <div class=\"tdf-label\">Teams<\/div>\n      <div class=\"tdf-value\">23 teams \u2014 all 18 UCI WorldTeams<\/div>\n    <\/div>\n    <div class=\"tdf-row\" style=\"align-items:flex-start; border-bottom:none; padding-bottom:0;\">\n      <div class=\"tdf-label\" style=\"padding-top:2px;\">GC Battle<\/div>\n      <div class=\"tdf-value\">\n        <div class=\"tdf-section-label\">Contenders to watch<\/div>\n        <div class=\"tdf-riders\">\n          <span class=\"tdf-rider\">Poga\u010dar<\/span>\n          <span class=\"tdf-rider\">Vingegaard<\/span>\n          <span class=\"tdf-rider\">Evenepoel<\/span>\n          <span class=\"tdf-rider\">Seixas<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n\n  <\/div>\n\n  <div class=\"tdf-footer\">\n    <div class=\"tdf-jersey-dot\" aria-hidden=\"true\"><\/div>\n    <div class=\"tdf-footer-text\">\n      <strong>The Yellow Jersey awaits.<\/strong> First Grand D\u00e9part on Spanish soil since 1992.\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- Countdown JavaScript (unchanged) -->\n<script>\n(function() {\n  const targetDate = new Date(\"2026-07-04T17:05:00+02:00\");\n\n  const daysEl = document.getElementById('cd-days');\n  const hoursEl = document.getElementById('cd-hours');\n  const minutesEl = document.getElementById('cd-minutes');\n  const secondsEl = document.getElementById('cd-seconds');\n\n  function updateCountdown() {\n    const now = new Date();\n    const diff = targetDate - now;\n\n    if (diff <= 0) {\n      daysEl.textContent = '00';\n      hoursEl.textContent = '00';\n      minutesEl.textContent = '00';\n      secondsEl.textContent = '00';\n      return;\n    }\n\n    const days = Math.floor(diff \/ (1000 * 60 * 60 * 24));\n    const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) \/ (1000 * 60 * 60));\n    const minutes = Math.floor((diff % (1000 * 60 * 60)) \/ (1000 * 60));\n    const seconds = Math.floor((diff % (1000 * 60)) \/ 1000);\n\n    daysEl.textContent = String(days).padStart(2, '0');\n    hoursEl.textContent = String(hours).padStart(2, '0');\n    minutesEl.textContent = String(minutes).padStart(2, '0');\n    secondsEl.textContent = String(seconds).padStart(2, '0');\n  }\n\n  updateCountdown();\n  setInterval(updateCountdown, 1000);\n})();\n<\/script>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6926_b31e76-f0 .kt-block-spacer{height:49px;}.wp-block-kadence-spacer.kt-block-spacer-6926_b31e76-f0 .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-6926_b31e76-f0\"><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-heading6926_2542ba-43, .wp-block-kadence-advancedheading.kt-adv-heading6926_2542ba-43[data-kb-block=\"kb-adv-heading6926_2542ba-43\"]{text-align:center;font-style:normal;text-transform:uppercase;}.wp-block-kadence-advancedheading.kt-adv-heading6926_2542ba-43 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading6926_2542ba-43[data-kb-block=\"kb-adv-heading6926_2542ba-43\"] 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-heading6926_2542ba-43 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading6926_2542ba-43[data-kb-block=\"kb-adv-heading6926_2542ba-43\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading6926_2542ba-43 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading6926_2542ba-43\">How to Watch Tour de France 2026 Live<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tour de France 2026 is broadcast in 190+ countries. Your best option depends on where you are and whether you want free or paid coverage. The table below gives the fastest answer \u2014 full region breakdowns follow.<\/p>\n\n\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue&family=DM+Sans:wght@400;500&display=swap');\n\n.bt-wrap { font-family: 'DM Sans', sans-serif; max-width: 680px; margin: 0 auto; }\n\n.bt-header { display: flex; align-items: baseline; gap: 12px; margin-bottom: 1.25rem; padding-bottom: 0.9rem; border-bottom: 1px solid rgba(0,0,0,0.08); }\n.bt-kicker { font-family: 'Bebas Neue', sans-serif; font-size: 1.1rem; letter-spacing: 1.5px; color: #FFC72C; background: #000; padding: 2px 10px; border-radius: 4px; line-height: 1.4; }\n.bt-heading { font-family: 'Bebas Neue', sans-serif; font-size: 1.9rem; color: #111; letter-spacing: 0.5px; line-height: 1; margin: 0; }\n\n.bt-col-heads { display: flex; gap: 10px; padding: 0 0.9rem 0.5rem; }\n.bt-ch { font-size: 0.6rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.9px; color: #aaa; }\n.bt-ch.country { min-width: 126px; flex-shrink: 0; }\n.bt-ch.broadcaster { flex: 1; }\n.bt-ch.cost { min-width: 90px; text-align: right; flex-shrink: 0; }\n.bt-ch.stages { min-width: 56px; text-align: right; flex-shrink: 0; }\n\n.bt-section-label { font-size: 0.62rem; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: #999; padding: 0.9rem 0 0.4rem 0.2rem; }\n\n.bt-row { display: flex; gap: 10px; align-items: center; padding: 0.72rem 0.9rem; border-radius: 8px; margin-bottom: 5px; border: 1px solid rgba(0,0,0,0.07); background: #fff; }\n.bt-row.free { border-color: rgba(99,153,34,0.3); background: #f6fbee; }\n.bt-row.paid { border-color: rgba(186,117,23,0.25); background: #fffbf2; }\n.bt-row.sub  { border-color: rgba(0,0,0,0.06); background: #fafafa; }\n.bt-row.global { border: 1.5px solid #FFC72C; background: #fffbef; }\n\n.bt-flag { font-size: 1.2rem; width: 26px; text-align: center; flex-shrink: 0; }\n\n.bt-country { font-size: 0.78rem; font-weight: 500; color: #111; min-width: 100px; flex-shrink: 0; }\n.bt-country.bold { font-weight: 600; }\n\n.bt-broadcaster { font-size: 0.78rem; color: #1a1a1a; flex: 1; min-width: 0; }\n.bt-broadcaster a { color: #185FA5; text-decoration: none; font-weight: 500; }\n.bt-broadcaster a:hover { text-decoration: underline; }\n.bt-platform { font-size: 0.68rem; color: #999; margin-top: 1px; }\n\n.bt-cost { font-size: 0.75rem; font-weight: 600; min-width: 90px; text-align: right; flex-shrink: 0; }\n.bt-cost.free-text { color: #3B6D11; }\n.bt-cost.paid-text { color: #854F0B; }\n.bt-cost.sub-text  { color: #888; }\n\n.bt-check { min-width: 56px; text-align: right; flex-shrink: 0; }\n.check-full { font-size: 0.68rem; font-weight: 600; color: #3B6D11; background: #EAF3DE; padding: 2px 7px; border-radius: 10px; white-space: nowrap; }\n.check-sel  { font-size: 0.68rem; font-weight: 600; color: #854F0B; background: #FAEEDA; padding: 2px 7px; border-radius: 10px; white-space: nowrap; }\n\n@media (max-width: 480px) {\n  .bt-cost { min-width: 72px; font-size: 0.7rem; }\n  .bt-country { min-width: 80px; }\n  .bt-check { min-width: 46px; }\n  .bt-heading { font-size: 1.4rem; }\n}\n<\/style>\n\n<div class=\"bt-wrap\">\n\n  <div class=\"bt-header\">\n    <div class=\"bt-kicker\">2026<\/div>\n    <p class=\"bt-heading\">Global Broadcaster Decision Guide<\/p>\n  <\/div>\n\n  <div class=\"bt-col-heads\">\n    <span class=\"bt-ch country\">Country<\/span>\n    <span class=\"bt-ch broadcaster\">Broadcaster<\/span>\n    <span class=\"bt-ch cost\">Cost<\/span>\n    <span class=\"bt-ch stages\">Stages<\/span>\n  <\/div>\n\n  <p class=\"bt-section-label\">Free to air<\/p>\n\n  <div class=\"bt-row free\">\n    <div class=\"bt-flag\">\ud83c\udde6\ud83c\uddfa<\/div>\n    <div class=\"bt-country\">Australia<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.sbs.com.au\/ondemand\" target=\"_blank\" rel=\"nofollow noopener\">SBS On Demand<\/a><div class=\"bt-platform\">TV + App<\/div><\/div>\n    <div class=\"bt-cost free-text\">FREE<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n  <div class=\"bt-row free\">\n    <div class=\"bt-flag\">\ud83c\uddeb\ud83c\uddf7<\/div>\n    <div class=\"bt-country\">France<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.france.tv\" target=\"_blank\" rel=\"nofollow noopener\">France.tv<\/a><div class=\"bt-platform\">TV + App<\/div><\/div>\n    <div class=\"bt-cost free-text\">FREE<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n  <div class=\"bt-row free\">\n    <div class=\"bt-flag\">\ud83c\udde9\ud83c\uddea<\/div>\n    <div class=\"bt-country\">Germany<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.ardmediathek.de\" target=\"_blank\" rel=\"nofollow noopener\">ARD Mediathek<\/a><div class=\"bt-platform\">TV + App<\/div><\/div>\n    <div class=\"bt-cost free-text\">FREE<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n  <div class=\"bt-row free\">\n    <div class=\"bt-flag\">\ud83c\uddea\ud83c\uddf8<\/div>\n    <div class=\"bt-country\">Spain<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.rtve.es\/play\" target=\"_blank\" rel=\"nofollow noopener\">RTVE Play<\/a><div class=\"bt-platform\">TV + App<\/div><\/div>\n    <div class=\"bt-cost free-text\">FREE<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n  <div class=\"bt-row free\">\n    <div class=\"bt-flag\">\ud83c\uddf3\ud83c\uddf1<\/div>\n    <div class=\"bt-country\">Netherlands<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.nos.nl\" target=\"_blank\" rel=\"nofollow noopener\">NOS.nl<\/a><div class=\"bt-platform\">TV + App<\/div><\/div>\n    <div class=\"bt-cost free-text\">FREE<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n  <div class=\"bt-row free\">\n    <div class=\"bt-flag\">\ud83c\udde7\ud83c\uddea<\/div>\n    <div class=\"bt-country\">Belgium<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.rtbf.be\/auvio\" target=\"_blank\" rel=\"nofollow noopener\">RTBF Auvio<\/a> \u00b7 <a href=\"https:\/\/www.vrt.be\/vrtmax\" target=\"_blank\" rel=\"nofollow noopener\">VRT Max<\/a><div class=\"bt-platform\">TV + App<\/div><\/div>\n    <div class=\"bt-cost free-text\">FREE<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n  <div class=\"bt-row free\">\n    <div class=\"bt-flag\">\ud83c\uddee\ud83c\uddf9<\/div>\n    <div class=\"bt-country\">Italy<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.raiplay.it\" target=\"_blank\" rel=\"nofollow noopener\">RaiPlay<\/a><div class=\"bt-platform\">TV + App<\/div><\/div>\n    <div class=\"bt-cost free-text\">FREE<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n  <div class=\"bt-row free\">\n    <div class=\"bt-flag\">\ud83c\uddee\ud83c\uddea<\/div>\n    <div class=\"bt-country\">Ireland<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.tg4.ie\/en\/player\" target=\"_blank\" rel=\"nofollow noopener\">TG4 Player<\/a><div class=\"bt-platform\">TV + App \u00b7 Irish lang<\/div><\/div>\n    <div class=\"bt-cost free-text\">FREE<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n  <div class=\"bt-row free\">\n    <div class=\"bt-flag\">\ud83c\udde8\ud83c\udded<\/div>\n    <div class=\"bt-country\">Switzerland<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.playsuisse.ch\" target=\"_blank\" rel=\"nofollow noopener\">Play Suisse<\/a><div class=\"bt-platform\">TV + App (RTS \u00b7 RSI)<\/div><\/div>\n    <div class=\"bt-cost free-text\">FREE<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n  <div class=\"bt-row free\">\n    <div class=\"bt-flag\">\ud83c\uddf5\ud83c\uddf9<\/div>\n    <div class=\"bt-country\">Portugal<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.rtp.pt\/play\" target=\"_blank\" rel=\"nofollow noopener\">RTP Play<\/a><div class=\"bt-platform\">TV + App<\/div><\/div>\n    <div class=\"bt-cost free-text\">FREE<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n  <p class=\"bt-section-label\">Paid subscription<\/p>\n\n  <div class=\"bt-row paid\">\n    <div class=\"bt-flag\">\ud83c\uddfa\ud83c\uddf8<\/div>\n    <div class=\"bt-country\">USA<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.peacocktv.com\" target=\"_blank\" rel=\"nofollow noopener\">Peacock<\/a> \u00b7 NBC Sports<div class=\"bt-platform\">Stream + TV<\/div><\/div>\n    <div class=\"bt-cost paid-text\">$10.99\/mo<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n  <div class=\"bt-row paid\">\n    <div class=\"bt-flag\">\ud83c\uddec\ud83c\udde7<\/div>\n    <div class=\"bt-country\">UK<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.discoveryplus.com\/gb\" target=\"_blank\" rel=\"nofollow noopener\">Discovery+<\/a> \u00b7 TNT Sports<div class=\"bt-platform\">TV + Stream<\/div><\/div>\n    <div class=\"bt-cost paid-text\">\u00a330.99\/mo<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n  <div class=\"bt-row paid\">\n    <div class=\"bt-flag\">\ud83c\udde8\ud83c\udde6<\/div>\n    <div class=\"bt-country\">Canada<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.flobikes.com\" target=\"_blank\" rel=\"nofollow noopener\">FloBikes<\/a><div class=\"bt-platform\">Stream only<\/div><\/div>\n    <div class=\"bt-cost paid-text\">CAD$49.99\/mo<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n  <div class=\"bt-row paid\">\n    <div class=\"bt-flag\">\ud83c\uddef\ud83c\uddf5<\/div>\n    <div class=\"bt-country\">Japan<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.jsports.co.jp\" target=\"_blank\" rel=\"nofollow noopener\">J Sports<\/a><div class=\"bt-platform\">TV + Stream<\/div><\/div>\n    <div class=\"bt-cost paid-text\">Subscription<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n  <p class=\"bt-section-label\">Regional \/ limited coverage<\/p>\n\n  <div class=\"bt-row sub\">\n    <div class=\"bt-flag\">\ud83c\udf0d<\/div>\n    <div class=\"bt-country\">Africa<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/supersport.com\" target=\"_blank\" rel=\"nofollow noopener\">SuperSport<\/a><div class=\"bt-platform\">TV + Stream<\/div><\/div>\n    <div class=\"bt-cost sub-text\">Subscription<\/div>\n    <div class=\"bt-check\"><span class=\"check-sel\">Select<\/span><\/div>\n  <\/div>\n\n  <div class=\"bt-row sub\">\n    <div class=\"bt-flag\">\ud83c\udf0f<\/div>\n    <div class=\"bt-country\">Middle East<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.adtv.ae\" target=\"_blank\" rel=\"nofollow noopener\">Abu Dhabi Sports<\/a><div class=\"bt-platform\">TV<\/div><\/div>\n    <div class=\"bt-cost sub-text\">Subscription<\/div>\n    <div class=\"bt-check\"><span class=\"check-sel\">Select<\/span><\/div>\n  <\/div>\n\n  <div class=\"bt-row global\">\n    <div class=\"bt-flag\">\ud83c\udf10<\/div>\n    <div class=\"bt-country bold\">Global fallback<\/div>\n    <div class=\"bt-broadcaster\"><a href=\"https:\/\/www.globalcyclingnetwork.com\/plus\" target=\"_blank\" rel=\"nofollow noopener\">GCN+<\/a><div class=\"bt-platform\">Stream \u00b7 anywhere<\/div><\/div>\n    <div class=\"bt-cost paid-text\">$9.99\/mo<\/div>\n    <div class=\"bt-check\"><span class=\"check-full\">All 21<\/span><\/div>\n  <\/div>\n\n<\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6926_9eec84-15 .kt-block-spacer{height:50px;}.wp-block-kadence-spacer.kt-block-spacer-6926_9eec84-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-6926_9eec84-15\"><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 has-text-align-center\">Live Streaming vs. TV Coverage \u2014 The Real Difference<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The distinction matters more than most guides admit. TV coverage is&nbsp;<strong>windowed<\/strong>&nbsp;\u2014 NBC picks up roughly 90 minutes before the finish and cuts after the podium. You miss the early breakaway, the mid-race peloton politics, and the tactical chess that determines who attacks and when. Streaming platforms like Peacock and SBS On Demand carry&nbsp;<strong>start-to-finish<\/strong>&nbsp;coverage \u2014 the flag drops at 12:30 CET and the stream runs for four to six hours until the final rider finishes. Casual viewers can work with a windowed TV. Anyone who wants to understand how a stage was actually won needs the full stream.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">Best Apps to Watch Tour de France 2026 Live<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Peacock&nbsp;(iOS\/Android) is the cleanest US option, with a persistent live sports tab and immediate on-demand replay after each stage.&nbsp;SBS On Demand&nbsp;(iOS\/Android) supports Chromecast and Apple TV \u2014 take the race from phone to screen without a cable.&nbsp;Discovery+&nbsp;carries UK TNT Sports coverage and supports four simultaneous streams on a single account.&nbsp;FloBikes&nbsp;is Canada\u2019s dedicated cycling app, also covering the Giro d\u2019Italia and Vuelta a Espa\u00f1a on the same subscription.&nbsp;GCN+&nbsp;operates internationally, where exclusive rights don\u2019t block access \u2014 the strongest option for cycling fans who move between countries. All apps require a minimum of 5 Mbps for HD streaming; 25 Mbps for 4K, where available.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">Watch Tour de France 2026 in 4K Ultra HD<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">France T\u00e9l\u00e9visions broadcasts selected mountain stages in 4K on its dedicated France TV 4K channel \u2014 available via the TNT satellite platform and France.tv for compatible devices. Eurosport 4K is available through Discovery+ across select European markets. SBS On Demand streams up to 1080p HD. For 4K, you need a minimum 25 Mbps internet connection and a compatible smart TV or streaming device. Stages 19 and 20 \u2014 both finishing on Alpe d\u2019Huez \u2014 are confirmed for 4K production in 2026.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6926_c5d444-9f .kt-block-spacer{height:52px;}.wp-block-kadence-spacer.kt-block-spacer-6926_c5d444-9f .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-6926_c5d444-9f\"><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\">How to Watch Tour de France 2026 Live for Free \u2014 Legally<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tour de France 2026 is free in at least 14 countries through public service broadcasters. No subscription required \u2014 only free account registration for their streaming apps in some cases. If you are physically in one of these countries, you have full legal access to every stage at zero cost.<\/p>\n\n\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,400;0,500;1,400&display=swap');\n@import url('https:\/\/fonts.cdnfonts.com\/css\/galibier');\n\n.fb-wrap { font-family: 'DM Sans', sans-serif; max-width: 680px; margin: 0 auto; }\n\n.fb-header { display: flex; align-items: baseline; gap: 12px; margin-bottom: 1.4rem; padding-bottom: 0.9rem; border-bottom: 1px solid rgba(0,0,0,0.08); }\n.fb-kicker { font-family: 'Bebas Neue', sans-serif; font-size: 1.1rem; letter-spacing: 1.5px; color: #FFC72C; background: #000; padding: 2px 10px; border-radius: 4px; line-height: 1.4; }\n.fb-heading { font-family: 'Bebas Neue', sans-serif; font-size: 1.9rem; color: #111; letter-spacing: 0.5px; line-height: 1; margin: 0; }\n\n.fb-card { border: 1px solid rgba(99,153,34,0.3); background: #f6fbee; border-radius: 10px; margin-bottom: 8px; overflow: hidden; }\n\n.fb-card-head { display: flex; align-items: center; gap: 10px; padding: 0.85rem 1rem 0.6rem; }\n.fb-flag { font-size: 1.4rem; line-height: 1; flex-shrink: 0; }\n.fb-title-block { flex: 1; min-width: 0; }\n\n.fb-h3 {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.15rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.5px !important;\n  color: #111 !important;\n  margin: 0 0 1px 0 !important;\n  line-height: 1.1 !important;\n  padding: 0 !important;\n  border: none !important;\n}\n\n.fb-broadcaster { font-size: 0.72rem; font-weight: 500; color: #3B6D11; margin: 0; }\n.fb-badge { font-size: 0.6rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.8px; background: #EAF3DE; color: #27500A; padding: 3px 8px; border-radius: 10px; flex-shrink: 0; border: 1px solid rgba(99,153,34,0.3); white-space: nowrap; }\n\n.fb-divider { height: 1px; background: rgba(99,153,34,0.15); margin: 0 1rem 0.7rem; }\n.fb-body { padding: 0 1rem 0.85rem; }\n.fb-desc { font-size: 0.82rem; color: #1a1a1a; line-height: 1.6; margin: 0; }\n.fb-desc em { color: #666; font-style: italic; font-size: 0.78rem; }\n\n.fb-alert { border: 1px solid rgba(186,117,23,0.4); background: #fffbf0; border-radius: 10px; padding: 1rem; margin-top: 1rem; display: flex; gap: 10px; align-items: flex-start; }\n.fb-alert-icon { width: 28px; height: 28px; background: #FFC72C; border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }\n.fb-alert-body { flex: 1; min-width: 0; }\n.fb-alert-label { font-size: 0.62rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #854F0B; margin-bottom: 4px; }\n.fb-alert-text { font-size: 0.8rem; color: #1a1a1a; line-height: 1.6; margin: 0; }\n.fb-alert-text strong { font-weight: 500; color: #712B13; }\n\n@media (max-width: 480px) {\n  .fb-heading { font-size: 1.4rem; }\n  .fb-card-head { padding: 0.75rem 0.75rem 0.5rem; }\n  .fb-body { padding: 0 0.75rem 0.75rem; }\n  .fb-divider { margin: 0 0.75rem 0.6rem; }\n}\n<\/style>\n\n<div class=\"fb-wrap\">\n\n  <div class=\"fb-header\">\n    <div class=\"fb-kicker\">FREE<\/div>\n    <p class=\"fb-heading\">Free to Air \u2014 Full Coverage<\/p>\n  <\/div>\n\n  <div class=\"fb-card\">\n    <div class=\"fb-card-head\">\n      <div class=\"fb-flag\">\ud83c\udde6\ud83c\uddfa<\/div>\n      <div class=\"fb-title-block\">\n        <h3 class=\"fb-h3\">Australia<\/h3>\n        <p class=\"fb-broadcaster\">SBS &amp; SBS On Demand<\/p>\n      <\/div>\n      <div class=\"fb-badge\">All 21 \u00b7 Free<\/div>\n    <\/div>\n    <div class=\"fb-divider\"><\/div>\n    <div class=\"fb-body\">\n      <p class=\"fb-desc\">All 21 stages live. English commentary with Matt Keenan. Full-stage replays same day. Free registration required for app. <em>The best free English-language TDF coverage on earth.<\/em><\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"fb-card\">\n    <div class=\"fb-card-head\">\n      <div class=\"fb-flag\">\ud83c\uddeb\ud83c\uddf7<\/div>\n      <div class=\"fb-title-block\">\n        <h3 class=\"fb-h3\">France<\/h3>\n        <p class=\"fb-broadcaster\">France T\u00e9l\u00e9visions \/ France.tv<\/p>\n      <\/div>\n      <div class=\"fb-badge\">All 21 \u00b7 Free<\/div>\n    <\/div>\n    <div class=\"fb-divider\"><\/div>\n    <div class=\"fb-body\">\n      <p class=\"fb-desc\">All 21 stages. Live Diverto option. French commentary. <em>The home broadcaster \u2014 deepest contextual coverage of any country.<\/em><\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"fb-card\">\n    <div class=\"fb-card-head\">\n      <div class=\"fb-flag\">\ud83c\udde9\ud83c\uddea<\/div>\n      <div class=\"fb-title-block\">\n        <h3 class=\"fb-h3\">Germany<\/h3>\n        <p class=\"fb-broadcaster\">ARD \/ Das Erste<\/p>\n      <\/div>\n      <div class=\"fb-badge\">All 21 \u00b7 Free<\/div>\n    <\/div>\n    <div class=\"fb-divider\"><\/div>\n    <div class=\"fb-body\">\n      <p class=\"fb-desc\">All 21 stages free via ARD Mediathek streaming. German commentary. Strong mountain stage coverage with expert analysis.<\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"fb-card\">\n    <div class=\"fb-card-head\">\n      <div class=\"fb-flag\">\ud83c\uddea\ud83c\uddf8<\/div>\n      <div class=\"fb-title-block\">\n        <h3 class=\"fb-h3\">Spain<\/h3>\n        <p class=\"fb-broadcaster\">RTVE \/ RTVE Play<\/p>\n      <\/div>\n      <div class=\"fb-badge\">All 21 \u00b7 Free<\/div>\n    <\/div>\n    <div class=\"fb-divider\"><\/div>\n    <div class=\"fb-body\">\n      <p class=\"fb-desc\">All 21 stages confirmed. Spanish commentary. EiTB provides free Basque-language coverage for Basque Country viewers via EiTB On.<\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"fb-card\">\n    <div class=\"fb-card-head\">\n      <div class=\"fb-flag\">\ud83c\uddf3\ud83c\uddf1<\/div>\n      <div class=\"fb-title-block\">\n        <h3 class=\"fb-h3\">Netherlands<\/h3>\n        <p class=\"fb-broadcaster\">NOS<\/p>\n      <\/div>\n      <div class=\"fb-badge\">All 21 \u00b7 Free<\/div>\n    <\/div>\n    <div class=\"fb-divider\"><\/div>\n    <div class=\"fb-body\">\n      <p class=\"fb-desc\">All 21 stages via NOS.nl and app. Rights confirmed until 2030. Dutch commentary. <em>Technically excellent broadcast from a nation that lives cycling.<\/em><\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"fb-card\">\n    <div class=\"fb-card-head\">\n      <div class=\"fb-flag\">\ud83c\udde7\ud83c\uddea<\/div>\n      <div class=\"fb-title-block\">\n        <h3 class=\"fb-h3\">Belgium<\/h3>\n        <p class=\"fb-broadcaster\">RTBF (Auvio) + Sporza \/ VRT<\/p>\n      <\/div>\n      <div class=\"fb-badge\">All 21 \u00b7 Free<\/div>\n    <\/div>\n    <div class=\"fb-divider\"><\/div>\n    <div class=\"fb-body\">\n      <p class=\"fb-desc\">Two separate free broadcasters \u2014 RTBF in French, Sporza\/VRT in Flemish. Both carry all 21 stages with deep Belgian cycling expertise.<\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"fb-card\">\n    <div class=\"fb-card-head\">\n      <div class=\"fb-flag\">\ud83c\uddee\ud83c\uddf9<\/div>\n      <div class=\"fb-title-block\">\n        <h3 class=\"fb-h3\">Italy<\/h3>\n        <p class=\"fb-broadcaster\">RAI Sports \/ RaiPlay<\/p>\n      <\/div>\n      <div class=\"fb-badge\">All 21 \u00b7 Free<\/div>\n    <\/div>\n    <div class=\"fb-divider\"><\/div>\n    <div class=\"fb-body\">\n      <p class=\"fb-desc\">All 21 stages free on RAI Sports and the RaiPlay streaming app. Italian commentary from a nation with deep Grand Tour heritage.<\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"fb-card\">\n    <div class=\"fb-card-head\">\n      <div class=\"fb-flag\">\ud83c\uddee\ud83c\uddea<\/div>\n      <div class=\"fb-title-block\">\n        <h3 class=\"fb-h3\">Ireland<\/h3>\n        <p class=\"fb-broadcaster\">TG4 \/ TG4 Player<\/p>\n      <\/div>\n      <div class=\"fb-badge\">All 21 \u00b7 Free<\/div>\n    <\/div>\n    <div class=\"fb-divider\"><\/div>\n    <div class=\"fb-body\">\n      <p class=\"fb-desc\">All 21 stages in Irish (Gaeilge). Free to air. TG4 Player available online. Some Northern Ireland viewers access TG4 on Freeview.<\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"fb-card\">\n    <div class=\"fb-card-head\">\n      <div class=\"fb-flag\">\ud83c\udde8\ud83c\udded<\/div>\n      <div class=\"fb-title-block\">\n        <h3 class=\"fb-h3\">Switzerland<\/h3>\n        <p class=\"fb-broadcaster\">SRG-SSR (RTS + RSI)<\/p>\n      <\/div>\n      <div class=\"fb-badge\">All 21 \u00b7 Free<\/div>\n    <\/div>\n    <div class=\"fb-divider\"><\/div>\n    <div class=\"fb-body\">\n      <p class=\"fb-desc\">Two channels: RTS (French) and RSI (Italian) \u2014 both free, both carry the full race. <em>The richest multi-language free coverage in Europe.<\/em><\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"fb-card\">\n    <div class=\"fb-card-head\">\n      <div class=\"fb-flag\">\ud83c\uddf5\ud83c\uddf9<\/div>\n      <div class=\"fb-title-block\">\n        <h3 class=\"fb-h3\">Portugal<\/h3>\n        <p class=\"fb-broadcaster\">RTP \/ RTP Play<\/p>\n      <\/div>\n      <div class=\"fb-badge\">All 21 \u00b7 Free<\/div>\n    <\/div>\n    <div class=\"fb-divider\"><\/div>\n    <div class=\"fb-body\">\n      <p class=\"fb-desc\">All 21 stages free. Portuguese commentary. RTP Play streams online without subscription.<\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"fb-card\">\n    <div class=\"fb-card-head\">\n      <div class=\"fb-flag\">\ud83c\uddf8\ud83c\uddf0<\/div>\n      <div class=\"fb-title-block\">\n        <h3 class=\"fb-h3\">Slovakia<\/h3>\n        <p class=\"fb-broadcaster\">STVR<\/p>\n      <\/div>\n      <div class=\"fb-badge\">All 21 \u00b7 Free<\/div>\n    <\/div>\n    <div class=\"fb-divider\"><\/div>\n    <div class=\"fb-body\">\n      <p class=\"fb-desc\">Free-to-air coverage in Slovak. Public broadcaster rights confirmed for 2026.<\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"fb-card\">\n    <div class=\"fb-card-head\">\n      <div class=\"fb-flag\">\ud83c\udde9\ud83c\uddf0<\/div>\n      <div class=\"fb-title-block\">\n        <h3 class=\"fb-h3\">Denmark<\/h3>\n        <p class=\"fb-broadcaster\">DKTV2<\/p>\n      <\/div>\n      <div class=\"fb-badge\">All 21 \u00b7 Free<\/div>\n    <\/div>\n    <div class=\"fb-divider\"><\/div>\n    <div class=\"fb-body\">\n      <p class=\"fb-desc\">Free Danish-language coverage. <em>Deep cycling culture \u2014 Vingegaard's two TDF victories supercharged national interest.<\/em><\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"fb-card\">\n    <div class=\"fb-card-head\">\n      <div class=\"fb-flag\">\ud83c\uddf3\ud83c\uddf4<\/div>\n      <div class=\"fb-title-block\">\n        <h3 class=\"fb-h3\">Norway<\/h3>\n        <p class=\"fb-broadcaster\">TV2 Norway<\/p>\n      <\/div>\n      <div class=\"fb-badge\">All 21 \u00b7 Free<\/div>\n    <\/div>\n    <div class=\"fb-divider\"><\/div>\n    <div class=\"fb-body\">\n      <p class=\"fb-desc\">Free broadcast rights confirmed for 2026. Norwegian commentary.<\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"fb-card\">\n    <div class=\"fb-card-head\">\n      <div class=\"fb-flag\">\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f<\/div>\n      <div class=\"fb-title-block\">\n        <h3 class=\"fb-h3\">Wales<\/h3>\n        <p class=\"fb-broadcaster\">S4C<\/p>\n      <\/div>\n      <div class=\"fb-badge\">All 21 \u00b7 Free<\/div>\n    <\/div>\n    <div class=\"fb-divider\"><\/div>\n    <div class=\"fb-body\">\n      <p class=\"fb-desc\">Free Welsh-language coverage on Freeview (channel 4), available UK-wide. <em>The only free English-adjacent option left in the UK.<\/em><\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"fb-alert\">\n    <div class=\"fb-alert-icon\" aria-hidden=\"true\">\n      <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg>\n    <\/div>\n    <div class=\"fb-alert-body\">\n      <div class=\"fb-alert-label\">UK viewers \u2014 ITV is gone<\/div>\n      <p class=\"fb-alert-text\">ITV ended its Tour de France coverage in 2025. 23 years of free-to-air coverage is gone. From 2026, <strong>TNT Sports via Discovery+ holds exclusive UK rights at \u00a330.99\/month.<\/strong> Several competitor sites still list ITV as a 2026 option. They are wrong. Your free alternatives are S4C (Welsh) and TG4 (Irish) \u2014 or SBS On Demand via NordVPN for full English commentary.<\/p>\n    <\/div>\n  <\/div>\n\n<\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6926_0bfd99-a7 .kt-block-spacer{height:48px;}.wp-block-kadence-spacer.kt-block-spacer-6926_0bfd99-a7 .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-6926_0bfd99-a7\"><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 has-text-align-center\">YouTube \u2014 What\u2019s Actually Free<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The official Tour de France YouTube channel publishes daily highlight packages of 8\u201315 minutes within 2 hours of each stage finish. GCN publishes longer daily recap shows. Full live stage coverage is not available on YouTube \u2014 territorial rights prevent complete broadcasts. YouTube is an excellent supplement to coverage, not a replacement for a broadcaster or streaming service.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">Tour de France 2026 Live on Radio \u2014 Free Audio Commentary<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">BBC Radio 5 Live carries audio commentary during major stages. France Info Radio broadcasts full French commentary throughout every stage day. For English-language cycling podcast coverage, the GCN Show and the Escape Collective podcast publish same-day stage reaction. Radio commentary works well for commuters, indoor trainers, and fans in countries without free visual coverage who simply want to follow the race live.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6926_7b3241-84 .kt-block-spacer{height:50px;}.wp-block-kadence-spacer.kt-block-spacer-6926_7b3241-84 .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-6926_7b3241-84\"><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-heading6926_8e8d81-0d, .wp-block-kadence-advancedheading.kt-adv-heading6926_8e8d81-0d[data-kb-block=\"kb-adv-heading6926_8e8d81-0d\"]{font-style:normal;text-transform:uppercase;}.wp-block-kadence-advancedheading.kt-adv-heading6926_8e8d81-0d mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading6926_8e8d81-0d[data-kb-block=\"kb-adv-heading6926_8e8d81-0d\"] 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-heading6926_8e8d81-0d img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading6926_8e8d81-0d[data-kb-block=\"kb-adv-heading6926_8e8d81-0d\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading6926_8e8d81-0d wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading6926_8e8d81-0d\">Tour de France 2026 Live Coverage by Region \u2014 Full Global Guide<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">All platforms below have confirmed 2026 rights as of publication. Pricing is in local currency and correct at time of writing.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading6926_e328e9-84, .wp-block-kadence-advancedheading.kt-adv-heading6926_e328e9-84[data-kb-block=\"kb-adv-heading6926_e328e9-84\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading6926_e328e9-84 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading6926_e328e9-84[data-kb-block=\"kb-adv-heading6926_e328e9-84\"] 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-heading6926_e328e9-84 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading6926_e328e9-84[data-kb-block=\"kb-adv-heading6926_e328e9-84\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading6926_e328e9-84 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading6926_e328e9-84\">\ud83c\uddfa\ud83c\uddf8 Watch Tour de France 2026 Live in the USA<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Peacock is the only platform with start-to-finish live coverage of all 21 stages in the USA. NBCUniversal holds exclusive rights through 2029 via a 6-year deal signed with ASO in 2024. Peacock Premium costs $10.99\/month (with ads) or $16.99\/month (ad-free). One month covers the entire men\u2019s race and runs into the start of Tour de France Femmes in August \u2014 roughly $0.40 per stage hour of live racing. NBC\u2019s free-to-air channel broadcasts the Grand D\u00e9part TTT (July 4) and the Paris finale (July 26), plus major weekend mountain stages. YouTube TV, Hulu + Live TV, and DirecTV Stream give access to the NBC broadcast window but not Peacock\u2019s full stage coverage.<\/p>\n\n\n\n<style>\n\/* Reuse the same class scope for consistency. \n   If you already have the .tdf2026-wrap styles loaded, you can skip these.\n   Only needed if you're using this as a standalone block. *\/\n.usa-note-card {\n  max-width: 960px;\n  margin: 1.5rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.usa-note-card .tdf-card {\n  background: #f6fbee;\n  border-radius: 24px;\n  overflow: hidden;\n  border: 1px solid rgba(99,153,34,0.25);\n}\n\n.usa-note-card .tdf-card-head {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 1.2rem 1.5rem 0.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.usa-note-card .tdf-card-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.1rem !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.1 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.usa-note-card .tdf-badge {\n  font-family: 'DM Sans', sans-serif;\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.usa-note-card .tdf-card-body {\n  padding: 1.2rem 1.5rem 1.5rem;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n  line-height: 1.7;\n}\n\n.usa-note-card .tdf-card-body strong {\n  font-weight: 600;\n  color: #000;\n}\n\n.usa-note-card .tdf-card-body em {\n  color: #3B6D11;\n  font-style: normal;\n  font-weight: 500;\n}\n<\/style>\n\n<div class=\"usa-note-card\">\n  <div class=\"tdf-card\">\n    <div class=\"tdf-card-head\">\n      <span style=\"font-size:1.4rem; line-height:1;\">\ud83c\uddfa\ud83c\uddf8<\/span>\n      <h3 class=\"tdf-card-title\">USA Viewing Note<\/h3>\n      <span class=\"tdf-badge\">PEACOCK<\/span>\n    <\/div>\n    <div class=\"tdf-card-body\">\n      <p style=\"margin:0;\">\n        Peacock offers <strong>wall-to-wall live coverage<\/strong> plus on\u2011demand full\u2011stage replays immediately after each finish \u2014 \n        <em>essential for viewers on the West Coast<\/em> who watch the 03:30 PT start live, \n        and East Coast fans who miss morning coverage and catch up at lunch.\n      <\/p>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading6926_cd9ea1-fc, .wp-block-kadence-advancedheading.kt-adv-heading6926_cd9ea1-fc[data-kb-block=\"kb-adv-heading6926_cd9ea1-fc\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading6926_cd9ea1-fc mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading6926_cd9ea1-fc[data-kb-block=\"kb-adv-heading6926_cd9ea1-fc\"] 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-heading6926_cd9ea1-fc img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading6926_cd9ea1-fc[data-kb-block=\"kb-adv-heading6926_cd9ea1-fc\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading6926_cd9ea1-fc wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading6926_cd9ea1-fc\">\ud83c\uddec\ud83c\udde7 Watch Tour de France 2026 Live in the UK<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">ITV\u2019s 23-year run ended in 2025. TNT Sports and Discovery+ hold all UK rights from 2026. The subscription costs \u00a330.99\/month through either the Discovery+ app or directly through TNT Sports. There is no free trial, no partial free tier, and no confirmed introductory discount for 2026. For UK viewers who watched the Tour on ITV for two decades, this is a substantial cost increase. The free alternatives \u2014 S4C (Welsh) and TG4 (Irish) \u2014 both broadcast all 21 stages, but neither is in English. SBS On Demand via NordVPN remains the most practical free English option for UK fans willing to spend \u00a312 on a VPN month versus \u00a331 on Discovery+.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading6926_6ed1b6-07, .wp-block-kadence-advancedheading.kt-adv-heading6926_6ed1b6-07[data-kb-block=\"kb-adv-heading6926_6ed1b6-07\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading6926_6ed1b6-07 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading6926_6ed1b6-07[data-kb-block=\"kb-adv-heading6926_6ed1b6-07\"] 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-heading6926_6ed1b6-07 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading6926_6ed1b6-07[data-kb-block=\"kb-adv-heading6926_6ed1b6-07\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading6926_6ed1b6-07 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading6926_6ed1b6-07\">\ud83c\udde6\ud83c\uddfa Watch Tour de France 2026 Live in Australia<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Australians have the best free cycling deal on earth. SBS broadcasts all 21 stages live and in full HD, with English commentary from Matt Keenan, Bridie O\u2019Donnell, Caleb Ewan, and Simon Gerrans. SBS On Demand streams every stage from rolling start to final finish, with full-stage replays available within a few hours of each conclusion. Free registration required. Available on iOS, Android, Apple TV, Chromecast, and most smart TVs. Australia\u2019s AEST timezone puts most stage finishes around 20:30\u201322:00 \u2014 watchable live without taking time off work, a genuine advantage no other country\u2019s viewers share.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading6926_c514eb-d9, .wp-block-kadence-advancedheading.kt-adv-heading6926_c514eb-d9[data-kb-block=\"kb-adv-heading6926_c514eb-d9\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading6926_c514eb-d9 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading6926_c514eb-d9[data-kb-block=\"kb-adv-heading6926_c514eb-d9\"] 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-heading6926_c514eb-d9 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading6926_c514eb-d9[data-kb-block=\"kb-adv-heading6926_c514eb-d9\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading6926_c514eb-d9 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading6926_c514eb-d9\">\ud83c\uddeb\ud83c\uddf7 Watch Tour de France 2026 Live in France<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">France T\u00e9l\u00e9visions broadcasts every stage free on France 2 and France 3, with extended coverage on France.tv. The Diverto streaming platform offers an alternative online viewing option. French commentary from Laurent Luyat and the France TV team represents the deepest contextual TDF coverage available anywhere \u2014 no other broadcaster matches France\u2019s stage-by-stage historical knowledge. For France-based fans, there is simply no paid alternative needed.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading6926_b6b06d-c7, .wp-block-kadence-advancedheading.kt-adv-heading6926_b6b06d-c7[data-kb-block=\"kb-adv-heading6926_b6b06d-c7\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading6926_b6b06d-c7 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading6926_b6b06d-c7[data-kb-block=\"kb-adv-heading6926_b6b06d-c7\"] 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-heading6926_b6b06d-c7 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading6926_b6b06d-c7[data-kb-block=\"kb-adv-heading6926_b6b06d-c7\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading6926_b6b06d-c7 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading6926_b6b06d-c7\">\ud83c\udde8\ud83c\udde6 Watch Tour de France 2026 Live in Canada<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">FloBikes is the primary option with all 21 stages from start to finish in English. Costs CAD$49.99\/month or CAD$215.88\/year (roughly CAD$18\/month averaged). No confirmed free-to-air Canadian broadcaster for 2026. The annual plan is the strongest value if you follow cycling beyond the Tour \u2014 FloBikes also covers the Giro, Vuelta, and major one-day Classics.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading6926_752381-03, .wp-block-kadence-advancedheading.kt-adv-heading6926_752381-03[data-kb-block=\"kb-adv-heading6926_752381-03\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading6926_752381-03 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading6926_752381-03[data-kb-block=\"kb-adv-heading6926_752381-03\"] 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-heading6926_752381-03 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading6926_752381-03[data-kb-block=\"kb-adv-heading6926_752381-03\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading6926_752381-03 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading6926_752381-03\">\ud83c\uddea\ud83c\uddfa Watch Tour de France 2026 Across Europe<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Beyond the major national broadcasters listed above: Czech Republic (Czech TV, free), Slovenia (RTV Slovenija, free), Luxembourg (RTL, free), Russia\/CIS (OKKO, subscription). For European countries without national free-to-air rights, Eurosport \u2014 accessible through Discovery+ \u2014 covers the race with multi-language commentary options including English.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading6926_3e2ef3-34, .wp-block-kadence-advancedheading.kt-adv-heading6926_3e2ef3-34[data-kb-block=\"kb-adv-heading6926_3e2ef3-34\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading6926_3e2ef3-34 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading6926_3e2ef3-34[data-kb-block=\"kb-adv-heading6926_3e2ef3-34\"] 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-heading6926_3e2ef3-34 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading6926_3e2ef3-34[data-kb-block=\"kb-adv-heading6926_3e2ef3-34\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading6926_3e2ef3-34 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading6926_3e2ef3-34\">\ud83c\udf0f Watch Tour de France 2026 in Asia-Pacific, Africa &amp; the Middle East<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Japan: J Sports carries all 21 stages as a subscription service. China: CCTV and Zhibo TV. Middle East: Abu Dhabi Sports. Africa: SuperSport covers select stages live. Asia-Pacific fallback: GCN+ at $9.99\/month provides live coverage in multiple languages where exclusive national rights don\u2019t restrict access.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6926_f28b87-6d .kt-block-spacer{height:50px;}.wp-block-kadence-spacer.kt-block-spacer-6926_f28b87-6d .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-6926_f28b87-6d\"><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 Stage Start Times by Time Zone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The most searched and least properly answered question in every TDF broadcast guide. Here are the confirmed stage times for every major viewing timezone. Most stages roll at&nbsp;<strong>12:30\u201313:00 CET<\/strong>. Finishes typically land 16:30\u201318:00 CET, depending on stage length and weather.<\/p>\n\n\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,400;0,500;1,400&display=swap');\n\n.tz-wrap { font-family: 'DM Sans', sans-serif; max-width: 680px; margin: 0 auto; }\n\n.tz-header { display: flex; align-items: baseline; gap: 12px; margin-bottom: 1.4rem; padding-bottom: 0.9rem; border-bottom: 1px solid rgba(0,0,0,0.08); }\n.tz-kicker { font-family: 'Bebas Neue', sans-serif; font-size: 1.1rem; letter-spacing: 1.5px; color: #FFC72C; background: #000; padding: 2px 10px; border-radius: 4px; line-height: 1.4; }\n.tz-heading { font-family: 'Bebas Neue', sans-serif; font-size: 1.9rem; color: #111; letter-spacing: 0.5px; line-height: 1; margin: 0; }\n\n.tz-col-heads { display: grid; grid-template-columns: 1.7fr repeat(6, 1fr); gap: 0; margin-bottom: 4px; padding: 0 0.75rem; }\n.tz-ch { font-size: 0.58rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.9px; color: #999; text-align: center; padding: 0 2px; }\n.tz-ch:first-child { text-align: left; }\n.tz-ch.cet { color: #000; background: #FFC72C; border-radius: 3px; padding: 2px 4px; font-size: 0.56rem; }\n\n.tz-row { display: grid; grid-template-columns: 1.7fr repeat(6, 1fr); gap: 0; padding: 0.65rem 0.75rem; border-radius: 8px; margin-bottom: 5px; border: 1px solid rgba(0,0,0,0.07); background: #fff; align-items: center; }\n.tz-row.special { border-color: #FFC72C; background: #fffbef; }\n.tz-row.finish  { background: #fafafa; border-color: rgba(0,0,0,0.06); }\n\n.tz-event { font-size: 0.78rem; font-weight: 500; color: #111; line-height: 1.3; }\n.tz-event-sub { font-size: 0.63rem; color: #999; font-weight: 400; margin-top: 1px; }\n\n.tz-time { font-size: 0.8rem; font-weight: 500; color: #111; text-align: center; font-variant-numeric: tabular-nums; line-height: 1.2; }\n.tz-time.cet-col { color: #000; background: #FFC72C; border-radius: 4px; padding: 2px 4px; font-size: 0.75rem; }\n.tz-time.muted { color: #999; font-weight: 400; }\n.tz-time.next { font-size: 0.7rem; }\n.tz-time .plus { font-size: 0.6rem; color: #aaa; display: block; line-height: 1; margin-top: 1px; }\n\n.tz-note { display: flex; gap: 10px; align-items: flex-start; border: 1px solid rgba(99,153,34,0.3); background: #f6fbee; border-radius: 10px; padding: 0.9rem 1rem; margin-top: 1rem; }\n.tz-note-icon { width: 26px; height: 26px; background: #EAF3DE; border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }\n.tz-note-body { flex: 1; }\n.tz-note-label { font-size: 0.62rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #3B6D11; margin-bottom: 4px; }\n.tz-note-text { font-size: 0.8rem; color: #1a1a1a; line-height: 1.6; margin: 0; }\n.tz-note-text em { font-style: italic; color: #666; }\n\n@media (max-width: 520px) {\n  .tz-col-heads { grid-template-columns: 1.2fr repeat(6, 1fr); padding: 0 0.5rem; }\n  .tz-row { grid-template-columns: 1.2fr repeat(6, 1fr); padding: 0.6rem 0.5rem; }\n  .tz-ch { font-size: 0.5rem; letter-spacing: 0.4px; }\n  .tz-time { font-size: 0.68rem; }\n  .tz-time.cet-col { font-size: 0.65rem; }\n  .tz-event { font-size: 0.7rem; }\n  .tz-heading { font-size: 1.4rem; }\n}\n<\/style>\n\n<div class=\"tz-wrap\">\n\n  <div class=\"tz-header\">\n    <div class=\"tz-kicker\">Times<\/div>\n    <p class=\"tz-heading\">Stage Times \u2014 All Time Zones<\/p>\n  <\/div>\n\n  <div class=\"tz-col-heads\">\n    <div class=\"tz-ch\">Stage event<\/div>\n    <div class=\"tz-ch cet\">CET<\/div>\n    <div class=\"tz-ch\">BST<\/div>\n    <div class=\"tz-ch\">ET<\/div>\n    <div class=\"tz-ch\">PT<\/div>\n    <div class=\"tz-ch\">AEST<\/div>\n    <div class=\"tz-ch\">IST<\/div>\n  <\/div>\n\n  <div class=\"tz-row special\">\n    <div class=\"tz-event\">Stage 1 TTT Start<div class=\"tz-event-sub\">Jul 4 \u00b7 Barcelona<\/div><\/div>\n    <div class=\"tz-time cet-col\">14:30<\/div>\n    <div class=\"tz-time\">13:30<\/div>\n    <div class=\"tz-time\">08:30<\/div>\n    <div class=\"tz-time\">05:30<\/div>\n    <div class=\"tz-time\">22:30<\/div>\n    <div class=\"tz-time\">18:00<\/div>\n  <\/div>\n\n  <div class=\"tz-row\">\n    <div class=\"tz-event\">Standard Stage Start<div class=\"tz-event-sub\">Most stages<\/div><\/div>\n    <div class=\"tz-time cet-col\">12:30<\/div>\n    <div class=\"tz-time\">11:30<\/div>\n    <div class=\"tz-time\">06:30<\/div>\n    <div class=\"tz-time\">03:30<\/div>\n    <div class=\"tz-time\">20:30<\/div>\n    <div class=\"tz-time\">16:00<\/div>\n  <\/div>\n\n  <div class=\"tz-row finish\">\n    <div class=\"tz-event\">Typical Stage Finish<div class=\"tz-event-sub\">Approx. arrival<\/div><\/div>\n    <div class=\"tz-time cet-col\">17:00<\/div>\n    <div class=\"tz-time\">16:00<\/div>\n    <div class=\"tz-time\">11:00<\/div>\n    <div class=\"tz-time\">08:00<\/div>\n    <div class=\"tz-time next\">01:00<span class=\"plus\">+1 day<\/span><\/div>\n    <div class=\"tz-time\">20:30<\/div>\n  <\/div>\n\n  <div class=\"tz-row\">\n    <div class=\"tz-event\">Stage 16 ITT Start<div class=\"tz-event-sub\">Jul 21 \u00b7 Time trial<\/div><\/div>\n    <div class=\"tz-time cet-col\">12:30<\/div>\n    <div class=\"tz-time\">11:30<\/div>\n    <div class=\"tz-time\">06:30<\/div>\n    <div class=\"tz-time\">03:30<\/div>\n    <div class=\"tz-time\">20:30<\/div>\n    <div class=\"tz-time\">16:00<\/div>\n  <\/div>\n\n  <div class=\"tz-row special\">\n    <div class=\"tz-event\">Stage 21 Paris Finale<div class=\"tz-event-sub\">Jul 26 \u00b7 Champs-\u00c9lys\u00e9es<\/div><\/div>\n    <div class=\"tz-time cet-col\">~16:00<\/div>\n    <div class=\"tz-time\">~15:00<\/div>\n    <div class=\"tz-time\">~10:00<\/div>\n    <div class=\"tz-time\">~07:00<\/div>\n    <div class=\"tz-time next muted\">~00:00<span class=\"plus\">+1 day<\/span><\/div>\n    <div class=\"tz-time\">~19:30<\/div>\n  <\/div>\n\n  <div class=\"tz-note\">\n    <div class=\"tz-note-icon\" aria-hidden=\"true\">\n      <svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3B6D11\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg>\n    <\/div>\n    <div class=\"tz-note-body\">\n      <div class=\"tz-note-label\">\ud83c\udde6\ud83c\uddfa Australian viewers<\/div>\n      <p class=\"tz-note-text\">Most stage finishes land 01:00\u201302:00 AEST the following morning. SBS On Demand replays are available from approximately 06:00 AEST \u2014 you can watch the full previous stage before the next one begins that evening. <em>Best cycling timezone in the world.<\/em><\/p>\n    <\/div>\n  <\/div>\n\n<\/div>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6926_924a92-b0 .kt-block-spacer{height:49px;}.wp-block-kadence-spacer.kt-block-spacer-6926_924a92-b0 .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-6926_924a92-b0\"><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 Stage Schedule \u2014 Live Dates, Start Times &amp; Types<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-schedule\/\">TDF 2026 stage-by-stage complete schedule<\/a> <\/strong>includes all 21 stages confirmed by ASO at the October 23, 2025, route presentation. Distances and start locations ratified in the May 2026 technical guide. Queen stage highlighted in yellow.<\/p>\n\n\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');\n@import url('https:\/\/fonts.cdnfonts.com\/css\/galibier');\n\n.stages-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.stages-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n}\n\n.stages-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.stages-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.stages-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 *\/\n.stages-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.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.legend-icon {\n  width: 18px;\n  height: 18px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.legend-icon svg {\n  width: 14px;\n  height: 14px;\n  stroke: #444;\n}\n\n\/* Table wrapper *\/\n.stages-table {\n  overflow-x: auto;\n  padding: 0 1.5rem 1.5rem;\n}\n\n\/* Stage row *\/\n.stage-row {\n  display: grid;\n  grid-template-columns: 36px 70px 1fr 70px 55px 1fr;\n  gap: 0;\n  align-items: center;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  padding: 0.6rem 0;\n  cursor: pointer;\n  transition: background 0.15s ease;\n  position: relative;\n}\n\n\/* Row backgrounds *\/\n.stage-row.ttt      { background: rgba(210,200,240,0.2); }\n.stage-row.hilly    { background: rgba(255,245,200,0.15); }\n.stage-row.mtn      { background: rgba(255,215,205,0.2); }\n.stage-row.summit   { background: rgba(255,200,210,0.2); }\n.stage-row.itt      { background: rgba(220,210,255,0.2); }\n.stage-row.queen    { background: #fffdee; border-left: 3px solid #FFC72C; }\n.stage-row.rest     { background: rgba(0,0,0,0.02); color: #aaa; cursor: default; }\n.stage-row.flat     { background: rgba(200,230,200,0.1); }\n.stage-row.finale   { background: rgba(200,230,200,0.2); }\n\n\/* Detail panel *\/\n.stage-detail {\n  display: grid;\n  grid-template-columns: 36px 70px 1fr 70px 55px 1fr;\n  max-height: 0;\n  overflow: hidden;\n  transition: max-height 0.35s ease, padding 0.35s ease;\n  padding: 0;\n  border-bottom: 1px solid rgba(99,153,34,0.08);\n  background: rgba(255,255,255,0.3);\n  font-size: 0.82rem;\n  color: #333;\n  line-height: 1.5;\n}\n\n.stage-row.open + .stage-detail {\n  max-height: 120px;\n  padding: 0.65rem 0;\n}\n\n.stage-detail-content {\n  grid-column: 3 \/ 7;\n  padding-left: 0.5rem;\n}\n\n.stage-detail-content strong {\n  color: #111;\n}\n\n\/* Cell styling *\/\n.stage-num {\n  font-family: 'Galibier', sans-serif;\n  font-weight: 700;\n  font-size: 0.85rem;\n  color: #888;\n  text-align: center;\n}\n.stage-num.queen { color: #B8920A; }\n.stage-num.rest { color: #ccc; }\n\n.stage-date {\n  font-size: 0.72rem;\n  font-weight: 500;\n  color: #666;\n  white-space: nowrap;\n}\n\n.stage-route {\n  font-weight: 600;\n  color: #111;\n  font-size: 0.85rem;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n.stage-dist {\n  font-size: 0.78rem;\n  color: #444;\n  text-align: right;\n  font-variant-numeric: tabular-nums;\n}\n\n\/* Type with icon *\/\n.stage-type {\n  display: flex;\n  align-items: center;\n  gap: 4px;\n  font-size: 0.72rem;\n  font-weight: 600;\n  color: #1a1a1a;\n  white-space: nowrap;\n}\n\n.type-icon {\n  width: 18px;\n  height: 18px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n}\n\n.type-icon svg {\n  width: 16px;\n  height: 16px;\n}\n\n\/* Rest day special row *\/\n.stage-row.rest .stage-route {\n  grid-column: 3 \/ 7;\n  text-align: center;\n  font-weight: 600;\n  color: #aaa;\n  letter-spacing: 0.5px;\n}\n\n\/* Footnotes *\/\n.stages-footnotes {\n  padding: 1rem 1.5rem;\n  border-top: 1px solid rgba(99,153,34,0.15);\n  background: rgba(255,255,255,0.4);\n  font-size: 0.72rem;\n  color: #777;\n  line-height: 1.6;\n}\n\n.stages-footnotes strong { color: #333; }\n\n\/* Responsive *\/\n@media (max-width: 720px) {\n  .stage-row {\n    grid-template-columns: 30px 60px 1fr 55px 44px 1fr;\n  }\n  .stage-route { font-size: 0.78rem; }\n  .stage-dist { font-size: 0.7rem; }\n  .stage-type { font-size: 0.68rem; }\n}\n@media (max-width: 500px) {\n  .stage-row {\n    grid-template-columns: 28px 54px 1fr 44px 40px 1fr;\n  }\n  .stage-route { font-size: 0.75rem; }\n}\n<\/style>\n\n<div class=\"stages-wrap\">\n  <div class=\"stages-card\">\n    \n    <div class=\"stages-header\">\n      <h3 class=\"stages-title\">Full Stage Schedule<\/h3>\n      <span class=\"stages-badge\">2026<\/span>\n    <\/div>\n\n    <!-- Legend with icons -->\n    <div class=\"stages-legend\">\n      <div class=\"legend-item\"><span class=\"legend-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"\/><polyline points=\"7 8 3 12 7 16\"\/><\/svg><\/span> Flat<\/div>\n      <div class=\"legend-item\"><span class=\"legend-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 17l6-6 4 4 8-8\"\/><circle cx=\"19\" cy=\"5\" r=\"1\"\/><\/svg><\/span> Hilly<\/div>\n      <div class=\"legend-item\"><span class=\"legend-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 points=\"15 5 21 5 21 11\"\/><\/svg><\/span> Mountain<\/div>\n      <div class=\"legend-item\"><span class=\"legend-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\"\/><\/svg><\/span> Summit finish<\/div>\n      <div class=\"legend-item\"><span class=\"legend-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg><\/span> ITT<\/div>\n      <div class=\"legend-item\"><span class=\"legend-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\"\/><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\"\/><\/svg><\/span> TTT<\/div>\n      <div class=\"legend-item\"><span class=\"legend-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\"\/><circle cx=\"12\" cy=\"11\" r=\"2\"\/><\/svg><\/span> Queen stage<\/div>\n      <div class=\"legend-item\"><span class=\"legend-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"4.93\" y1=\"4.93\" x2=\"19.07\" y2=\"19.07\"\/><\/svg><\/span> Rest day<\/div>\n    <\/div>\n\n    <!-- Stages list -->\n    <div class=\"stages-table\" id=\"stageTable\">\n\n      <!-- Stage 1 TTT -->\n      <div class=\"stage-row ttt\">\n        <div class=\"stage-num\">1<\/div>\n        <div class=\"stage-date\">Sat Jul 4<\/div>\n        <div class=\"stage-route\">Barcelona \u2192 Barcelona<\/div>\n        <div class=\"stage-dist\">19.7 km<\/div>\n        <div class=\"stage-type\"><span class=\"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\"\/><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\"\/><\/svg><\/span> TTT<\/div>\n        <div class=\"stage-detail-content\">Montju\u00efc \u00d72<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\"><strong>Team Time Trial<\/strong> \u2014 19.7 km city circuit. Montju\u00efc climbed twice. First real test for the GC squads.<\/div><\/div>\n\n      <!-- Stage 2 Hilly -->\n      <div class=\"stage-row hilly\">\n        <div class=\"stage-num\">2<\/div>\n        <div class=\"stage-date\">Sun Jul 5<\/div>\n        <div class=\"stage-route\">Tarragona \u2192 Barcelona<\/div>\n        <div class=\"stage-dist\">182 km<\/div>\n        <div class=\"stage-type\"><span class=\"type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 17l6-6 4 4 8-8\"\/><circle cx=\"19\" cy=\"5\" r=\"1\"\/><\/svg><\/span> Hilly<\/div>\n        <div class=\"stage-detail-content\">\u2014<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\">Rolling coastal roads with C\u00f4te de Begues* before the Barcelona finishing circuit.<\/div><\/div>\n\n      <!-- Stage 3 Mountain -->\n      <div class=\"stage-row mtn\">\n        <div class=\"stage-num\">3<\/div>\n        <div class=\"stage-date\">Mon Jul 6<\/div>\n        <div class=\"stage-route\">Granollers \u2192 Les Angles<\/div>\n        <div class=\"stage-dist\">196 km<\/div>\n        <div class=\"stage-type\"><span class=\"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 points=\"15 5 21 5 21 11\"\/><\/svg><\/span> Mountain<\/div>\n        <div class=\"stage-detail-content\">Bonaigua, Quillane<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\"><strong>Pyrenean border stage.<\/strong> Port de la Bonaigua and Col de la Quillane before the downhill finish in Les Angles.<\/div><\/div>\n\n      <!-- Stage 4 Hilly -->\n      <div class=\"stage-row hilly\">\n        <div class=\"stage-num\">4<\/div>\n        <div class=\"stage-date\">Tue Jul 7<\/div>\n        <div class=\"stage-route\">Carcassonne \u2192 Foix<\/div>\n        <div class=\"stage-dist\">182 km<\/div>\n        <div class=\"stage-type\"><span class=\"type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 17l6-6 4 4 8-8\"\/><circle cx=\"19\" cy=\"5\" r=\"1\"\/><\/svg><\/span> Hilly<\/div>\n        <div class=\"stage-detail-content\">\u2014<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\">Undulating roads through the Ari\u00e8ge. No categorised climbs, but constant up and down \u2014 ideal for a breakaway.<\/div><\/div>\n\n      <!-- Stage 5 Flat \/ Sprint -->\n      <div class=\"stage-row flat\">\n        <div class=\"stage-num\">5<\/div>\n        <div class=\"stage-date\">Wed Jul 8<\/div>\n        <div class=\"stage-route\">Lannemezan \u2192 Pau<\/div>\n        <div class=\"stage-dist\">158 km<\/div>\n        <div class=\"stage-type\"><span class=\"type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"\/><polyline points=\"7 8 3 12 7 16\"\/><\/svg><\/span> Flat<\/div>\n        <div class=\"stage-detail-content\">\u2014<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\">Sprinters' first real chance. Fast, straight roads into Pau.<\/div><\/div>\n\n      <!-- Stage 6 Summit Finish -->\n      <div class=\"stage-row summit\">\n        <div class=\"stage-num\">6<\/div>\n        <div class=\"stage-date\">Thu Jul 9<\/div>\n        <div class=\"stage-route\">Pau \u2192 Gavarnie-G\u00e8dre<\/div>\n        <div class=\"stage-dist\">186 km<\/div>\n        <div class=\"stage-type\"><span class=\"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\"\/><\/svg><\/span> Summit<\/div>\n        <div class=\"stage-detail-content\">Col d\u2019Aspin, Col du Tourmalet (2,115m), Gavarnie<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\"><strong>First summit finish.<\/strong> Aspin \u2192 Tourmalet \u2192 new Mont\u00e9e de Gavarnie\u2011G\u00e8dre (18.7 km, 4%). A GC reference point.<\/div><\/div>\n\n      <!-- Stage 7 Flat -->\n      <div class=\"stage-row flat\">\n        <div class=\"stage-num\">7<\/div>\n        <div class=\"stage-date\">Fri Jul 10<\/div>\n        <div class=\"stage-route\">Hagetmau \u2192 Bordeaux<\/div>\n        <div class=\"stage-dist\">175 km<\/div>\n        <div class=\"stage-type\"><span class=\"type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"\/><polyline points=\"7 8 3 12 7 16\"\/><\/svg><\/span> Flat<\/div>\n        <div class=\"stage-detail-content\">\u2014<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\">First Tour de France appearance for the start town Hagetmau. Bunch sprint into Bordeaux.<\/div><\/div>\n\n      <!-- Stage 8 Flat -->\n      <div class=\"stage-row flat\">\n        <div class=\"stage-num\">8<\/div>\n        <div class=\"stage-date\">Sat Jul 11<\/div>\n        <div class=\"stage-route\">P\u00e9rigueux \u2192 Bergerac<\/div>\n        <div class=\"stage-dist\">182 km<\/div>\n        <div class=\"stage-type\"><span class=\"type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"\/><polyline points=\"7 8 3 12 7 16\"\/><\/svg><\/span> Flat<\/div>\n        <div class=\"stage-detail-content\">\u2014<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\">Another flat day through the Dordogne vineyards. A straightforward sprint.<\/div><\/div>\n\n      <!-- Stage 9 Hilly \/ Breakaway -->\n      <div class=\"stage-row hilly\">\n        <div class=\"stage-num\">9<\/div>\n        <div class=\"stage-date\">Sun Jul 12<\/div>\n        <div class=\"stage-route\">Malemort \u2192 Ussel<\/div>\n        <div class=\"stage-dist\">185 km<\/div>\n        <div class=\"stage-type\"><span class=\"type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 17l6-6 4 4 8-8\"\/><circle cx=\"19\" cy=\"5\" r=\"1\"\/><\/svg><\/span> Hilly<\/div>\n        <div class=\"stage-detail-content\">\u2014<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\">Breakaway territory. Punchy, no single big climb, but tough enough to prevent a pure bunch sprint.<\/div><\/div>\n\n      <!-- REST DAY 1 -->\n      <div class=\"stage-row rest\">\n        <div class=\"stage-num rest\">\u2014<\/div>\n        <div class=\"stage-date\">Mon Jul 13<\/div>\n        <div class=\"stage-route\">REST DAY 1 \u2014 Cantal<\/div>\n        <div class=\"stage-dist\">\u2014<\/div>\n        <div class=\"stage-type\">\u2014<\/div>\n        <div class=\"stage-detail-content\">\u2014<\/div>\n      <\/div>\n      <div class=\"stage-detail\" style=\"max-height:0;\"><\/div>\n\n      <!-- Stage 10 Bastille Day Summit -->\n      <div class=\"stage-row summit\">\n        <div class=\"stage-num\">10<\/div>\n        <div class=\"stage-date\">Tue Jul 14<\/div>\n        <div class=\"stage-route\">Aurillac \u2192 Le Lioran<\/div>\n        <div class=\"stage-dist\">167 km<\/div>\n        <div class=\"stage-type\"><span class=\"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\"\/><\/svg><\/span> Summit<\/div>\n        <div class=\"stage-detail-content\">Puy Mary (1,589m), Pas de Peyrol<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\"><strong>Bastille Day summit finish.<\/strong> Iconic volcanic climb Puy Mary, with the Pas de Peyrol preceding the final kick to Le Lioran.<\/div><\/div>\n\n      <!-- Stage 11 Flat \/ Hilly -->\n      <div class=\"stage-row hilly\">\n        <div class=\"stage-num\">11<\/div>\n        <div class=\"stage-date\">Wed Jul 15<\/div>\n        <div class=\"stage-route\">Vichy \u2192 Nevers<\/div>\n        <div class=\"stage-dist\">161 km<\/div>\n        <div class=\"stage-type\"><span class=\"type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 17l6-6 4 4 8-8\"\/><circle cx=\"19\" cy=\"5\" r=\"1\"\/><\/svg><\/span> Hilly<\/div>\n        <div class=\"stage-detail-content\">\u2014<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\">Transitional stage with a few lumps. Could go either way \u2014 a breakaway or reduced bunch sprint.<\/div><\/div>\n\n      <!-- Stage 12 Flat -->\n      <div class=\"stage-row flat\">\n        <div class=\"stage-num\">12<\/div>\n        <div class=\"stage-date\">Thu Jul 16<\/div>\n        <div class=\"stage-route\">Nevers \u2192 Chalon-sur-Sa\u00f4ne<\/div>\n        <div class=\"stage-dist\">181 km<\/div>\n        <div class=\"stage-type\"><span class=\"type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"\/><polyline points=\"7 8 3 12 7 16\"\/><\/svg><\/span> Flat<\/div>\n        <div class=\"stage-detail-content\">\u2014<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\">Chalon\u2011sur\u2011Sa\u00f4ne makes its Tour debut as a stage finish. Flat, fast, another day for the sprinters.<\/div><\/div>\n\n      <!-- Stage 13 Hilly \/ Breakaway -->\n      <div class=\"stage-row hilly\">\n        <div class=\"stage-num\">13<\/div>\n        <div class=\"stage-date\">Fri Jul 17<\/div>\n        <div class=\"stage-route\">Dole \u2192 Belfort<\/div>\n        <div class=\"stage-dist\">205 km<\/div>\n        <div class=\"stage-type\"><span class=\"type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 17l6-6 4 4 8-8\"\/><circle cx=\"19\" cy=\"5\" r=\"1\"\/><\/svg><\/span> Hilly<\/div>\n        <div class=\"stage-detail-content\">\u2014<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\"><strong>Longest stage (205 km).<\/strong> Jura hills. Classic breakaway day on rolling roads.<\/div><\/div>\n\n      <!-- Stage 14 Mountain (Vosges) -->\n      <div class=\"stage-row mtn\">\n        <div class=\"stage-num\">14<\/div>\n        <div class=\"stage-date\">Sat Jul 18<\/div>\n        <div class=\"stage-route\">Mulhouse \u2192 Le Markstein<\/div>\n        <div class=\"stage-dist\">155 km<\/div>\n        <div class=\"stage-type\"><span class=\"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 points=\"15 5 21 5 21 11\"\/><\/svg><\/span> Mountain<\/div>\n        <div class=\"stage-detail-content\">Grand Ballon, Le Markstein<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\">Six rated climbs in 155 km through the Vosges, including the Grand Ballon (1,424m) and the finish at Le Markstein.<\/div><\/div>\n\n      <!-- Stage 15 Summit Finish -->\n      <div class=\"stage-row summit\">\n        <div class=\"stage-num\">15<\/div>\n        <div class=\"stage-date\">Sun Jul 19<\/div>\n        <div class=\"stage-route\">Champagnole \u2192 Plateau de Solaison<\/div>\n        <div class=\"stage-dist\">184 km<\/div>\n        <div class=\"stage-type\"><span class=\"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\"\/><\/svg><\/span> Summit<\/div>\n        <div class=\"stage-detail-content\">Plateau de Solaison (9.1 km, 9.3% avg)<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\"><strong>New summit finish.<\/strong> Steep 9.3% average \u2014 last mountain test before the second rest day. Extremely dangerous.<\/div><\/div>\n\n      <!-- REST DAY 2 -->\n      <div class=\"stage-row rest\">\n        <div class=\"stage-num rest\">\u2014<\/div>\n        <div class=\"stage-date\">Mon Jul 20<\/div>\n        <div class=\"stage-route\">REST DAY 2 \u2014 Haute-Savoie<\/div>\n        <div class=\"stage-dist\">\u2014<\/div>\n        <div class=\"stage-type\">\u2014<\/div>\n        <div class=\"stage-detail-content\">\u2014<\/div>\n      <\/div>\n      <div class=\"stage-detail\" style=\"max-height:0;\"><\/div>\n\n      <!-- Stage 16 ITT -->\n      <div class=\"stage-row itt\">\n        <div class=\"stage-num\">16<\/div>\n        <div class=\"stage-date\">Tue Jul 21<\/div>\n        <div class=\"stage-route\">\u00c9vian-les-Bains \u2192 Thonon-les-Bains<\/div>\n        <div class=\"stage-dist\">26 km<\/div>\n        <div class=\"stage-type\"><span class=\"type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg><\/span> ITT<\/div>\n        <div class=\"stage-detail-content\">Rolling, Lake Geneva<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\"><strong>Individual Time Trial.<\/strong> 26 km around Lake Geneva. Rolling profile \u2014 specialists vs GC men.<\/div><\/div>\n\n      <!-- Stage 17 Flat \/ Transition -->\n      <div class=\"stage-row flat\">\n        <div class=\"stage-num\">17<\/div>\n        <div class=\"stage-date\">Wed Jul 22<\/div>\n        <div class=\"stage-route\">Chamb\u00e9ry \u2192 Voiron<\/div>\n        <div class=\"stage-dist\">175 km<\/div>\n        <div class=\"stage-type\"><span class=\"type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"\/><polyline points=\"7 8 3 12 7 16\"\/><\/svg><\/span> Flat<\/div>\n        <div class=\"stage-detail-content\">\u2014<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\">Transition day before the Alps. Voiron returns as a start town.<\/div><\/div>\n\n      <!-- Stage 18 Hilly -->\n      <div class=\"stage-row hilly\">\n        <div class=\"stage-num\">18<\/div>\n        <div class=\"stage-date\">Thu Jul 23<\/div>\n        <div class=\"stage-route\">Voiron \u2192 Gap<\/div>\n        <div class=\"stage-dist\">184 km<\/div>\n        <div class=\"stage-type\"><span class=\"type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 17l6-6 4 4 8-8\"\/><circle cx=\"19\" cy=\"5\" r=\"1\"\/><\/svg><\/span> Hilly<\/div>\n        <div class=\"stage-detail-content\">\u2014<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\">Rolling terrain before the final Alpine block. Breakaway likely.<\/div><\/div>\n\n      <!-- Stage 19 Alpe d'Huez Day 1 -->\n      <div class=\"stage-row summit\">\n        <div class=\"stage-num\">19<\/div>\n        <div class=\"stage-date\">Fri Jul 24<\/div>\n        <div class=\"stage-route\">Gap \u2192 Alpe d\u2019Huez<\/div>\n        <div class=\"stage-dist\">128 km<\/div>\n        <div class=\"stage-type\"><span class=\"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\"\/><\/svg><\/span> Summit<\/div>\n        <div class=\"stage-detail-content\">Alpe d\u2019Huez (13.8 km, 8.1% avg)<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\"><strong>Alpe d\u2019Huez \u2013 Day 1.<\/strong> Classic 21 hairpins, 13.8 km at 8.1%. First of two consecutive summit finishes.<\/div><\/div>\n\n      <!-- Stage 20 QUEEN STAGE -->\n      <div class=\"stage-row queen\">\n        <div class=\"stage-num queen\">20<\/div>\n        <div class=\"stage-date\">Sat Jul 25<\/div>\n        <div class=\"stage-route\">Le Bourg-d\u2019Oisans \u2192 Alpe d\u2019Huez<\/div>\n        <div class=\"stage-dist\">171 km<\/div>\n        <div class=\"stage-type\"><span class=\"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\"\/><circle cx=\"12\" cy=\"11\" r=\"2\"\/><\/svg><\/span> Queen<\/div>\n        <div class=\"stage-detail-content\">Sarenne, Col du T\u00e9l\u00e9graphe, Col du Galibier (2,645m), Alpe d\u2019Huez<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\"><strong>QUEEN STAGE \u2013 5,600m+.<\/strong> Croix de Fer, T\u00e9l\u00e9graphe, Galibier, new Col de Sarenne descent, then Alpe d\u2019Huez again. The decisive day.<\/div><\/div>\n\n      <!-- Stage 21 Paris Finale -->\n      <div class=\"stage-row finale\">\n        <div class=\"stage-num\">21<\/div>\n        <div class=\"stage-date\">Sun Jul 26<\/div>\n        <div class=\"stage-route\">Thoiry \u2192 Paris Champs-\u00c9lys\u00e9es<\/div>\n        <div class=\"stage-dist\">130 km<\/div>\n        <div class=\"stage-type\"><span class=\"type-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"\/><polyline points=\"7 8 3 12 7 16\"\/><\/svg><\/span> Flat<\/div>\n        <div class=\"stage-detail-content\">Montmartre (15 km before finish)<\/div>\n      <\/div>\n      <div class=\"stage-detail\"><div class=\"stage-detail-content\"><strong>Procession to Paris.<\/strong> Three ascents of Montmartre, then the sprint on the Champs\u2011\u00c9lys\u00e9es. Yellow jersey crowned.<\/div><\/div>\n\n    <\/div>\n\n    <div class=\"stages-footnotes\">\n      <strong>* New climb.<\/strong> Total race distance: 3,333 km \/ 2,071 miles across 21 stages.\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- Interactive click-to-expand script (works on mobile and desktop) -->\n<script>\n(function() {\n  const table = document.getElementById('stageTable');\n  if (!table) return;\n\n  table.addEventListener('click', function(e) {\n    const row = e.target.closest('.stage-row');\n    if (!row || row.classList.contains('rest')) return;\n\n    \/\/ If clicking the already open row, close it\n    const wasOpen = row.classList.contains('open');\n    \/\/ Close all other open rows\n    table.querySelectorAll('.stage-row.open').forEach(r => r.classList.remove('open'));\n    \/\/ Toggle current row\n    if (!wasOpen) row.classList.add('open');\n  });\n})();\n<\/script>\n\n\n\n<h3 class=\"wp-block-heading\">Key Stages to Watch Live \u2014 Editor\u2019s Picks<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Stage 1 (July 4):<\/strong>\u00a0The TTT writes the opening chapter. A 30\u201350 second gap between the top GC squads can dictate tactical decisions for three weeks.\u00a0<\/li>\n\n\n\n<li><strong>Stage 6 (July 9):<\/strong>\u00a0The Tourmalet at 2,115m, the Aspin, then the summit at Gavarnie-G\u00e8dre \u2014 the first real GC verdict.\u00a0<\/li>\n\n\n\n<li><strong>Stage 10 (July 14):<\/strong>\u00a0Bastille Day on the Puy Mary \u2014 the most emotionally charged day on the French cycling calendar.\u00a0<\/li>\n\n\n\n<li><strong>Stage 16 (July 21):<\/strong>\u00a026 km ITT that separates pure climbers from complete riders \u2014 the decisive GC split before the Alps.\u00a0<\/li>\n\n\n\n<li><strong>Stages 19 and 20 (July 24\u201325):<\/strong>\u00a0Back-to-back Alpe d\u2019Huez. First time in Grand Tour history. The 2026 Tour is decided here.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Rest Days \u2014 What Actually Happens<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Rest Day 1 is Monday July 13 in the Cantal. Rest Day 2 is Monday July 20 in Haute-Savoie. Neither is a true recovery day. Teams transfer to the next stage location, directeurs sportifs hold press conferences, and performance staff run recovery sessions. Rest Day 2 falls immediately before the only ITT of the race \u2014 every GC team treats it as preparation rather than rest. Broadcasters publish rest day analysis shows covering GC standings and third-week predictions. It is the best 24 hours in the calendar to catch up if you have missed stages.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6926_39f332-84 .kt-block-spacer{height:40px;}.wp-block-kadence-spacer.kt-block-spacer-6926_39f332-84 .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-6926_39f332-84\"><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 Live Stats, GPS Tracking &amp; Real-Time Data<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tour de France 2026 is the most data-rich Grand Tour in the history of the race. Every stage generates live GPS positioning, real-time time gaps, mountain KOM splits, and rider-level data that feeds broadcast graphics and is accessible directly to fans for free.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Where to Find Official TDF 2026 Live Data<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<strong>letour.fr live map<\/strong>&nbsp;is the primary source \u2014 updated every 3\u20135 seconds during each stage with peloton position, breakaway composition, and time gap. The&nbsp;<strong>official Tour de France app<\/strong>&nbsp;(iOS and Android, free) carries the same data with live GC standings and classification tables. The&nbsp;<strong>UCI live timing portal at ucilive.ch<\/strong>&nbsp;adds intermediate time splits and mountain point standings in real time \u2014 the deepest free data feed available to any fan.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Live GC Standings, Points &amp; All Four Jerseys<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tour de France 2026 has four classification jerseys that update after every stage. The&nbsp;<strong>yellow jersey<\/strong>&nbsp;goes to the lowest cumulative time across all stages. The&nbsp;<strong>green jersey<\/strong>&nbsp;rewards the rider accumulating the most points at the sprint and intermediate sprint lines. The&nbsp;<strong>polka dot jersey<\/strong>&nbsp;is for the best climber on categorised ascents. The&nbsp;<strong>white jersey<\/strong>&nbsp;goes to the best-placed rider under 26 in the GC \u2014 Paul Seixas enters as the overwhelming white jersey favourite. All four classifications update on letour.fr and this site within minutes of each stage finish.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Live TDF 2026 Weather \u2014 Stage-by-Stage Conditions<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The weather is not a footnote in a race that crosses the Pyrenees, Massif Central, Vosges, and Alps. Stage 6 at Gavarnie-G\u00e8dre sits above 1,300m \u2014 temperatures can drop below 10\u00b0C even in July. Stage 20 via the Galibier will see summit conditions above 2,600m. The most reliable mountain weather sources are&nbsp;<strong>M\u00e9t\u00e9o-France altitude forecasts<\/strong>&nbsp;at meteofrance.com and the&nbsp;<strong>Mountain Forecast tool<\/strong>&nbsp;at mountain-forecast.com, which provides summit-specific readings for every categorised climb. Our stage previews update weather conditions 48 and 24 hours before each stage.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6926_b18ef6-af .kt-block-spacer{height:47px;}.wp-block-kadence-spacer.kt-block-spacer-6926_b18ef6-af .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-6926_b18ef6-af\"><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 to Watch Tour de France 2026 Live in Person \u2014 The Roadside Guide<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Watching the Tour de France in person costs nothing. No tickets. No gates. No barriers between you and 176 of the world\u2019s best cyclists passing within arm\u2019s reach at 60 km\/h on a descent. It is one of the last great free sporting spectacles on earth \u2014 and the 2026 edition offers two exceptional in-person opportunities: the Barcelona Grand D\u00e9part and the Alpe d\u2019Huez double on Stages 19 and 20.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Watching the Barcelona Grand D\u00e9part \u2014 Stage 1 (July 4)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stage 1 is a 19.7 km team <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-stage-1\/\">time trial through Barcelona<\/a> starting at 14:30 local time. The course climbs Montju\u00efc twice \u2014 past the 1992 Olympic Stadium \u2014 then rolls through the city before finishing on Avinguda Diagonal. Teams launch at 2\u20134 minute intervals throughout the afternoon, meaning spectators at any fixed point will see every squad pass. The Montju\u00efc climb is the best viewing position: you see riders on the ascent, reposition down to the descent, and still catch the finishing straight if you move early. Metro Line 2 (purple) reaches the Montju\u00efc base at Paral\u00b7lel in 15 minutes from the centre. <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-stage-2\/\">Stage 2 on July 5 (Tarragona \u2192 Barcelona)<\/a> finishes in the city again \u2014 a rare double Barcelona finish giving fans two consecutive days without leaving the city.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Best Stages to Watch in Person \u2014 Mountain, Sprint &amp; TTT<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Mountain summit finishes<\/strong>&nbsp;are the ultimate in-person experience. The crowd on a narrow alpine road, the suffering on riders\u2019 faces, the noise \u2014 nothing in sport replicates it. The trade-off: narrow roads require arriving hours early, hiking or cycling the final kilometres, and enduring temperatures that can drop significantly above 1,500m.&nbsp;<strong>Sprint stages<\/strong>&nbsp;are far easier. Find a position in the last 3 km, arrive 90 minutes early, and the full peloton thunders past in a 30-second wall of speed.&nbsp;<strong>The Stage 16 individual time trial<\/strong>&nbsp;(July 21, 26 km, \u00c9vian to Thonon-les-Bains) lets you watch every GC leader individually at 2-minute intervals \u2014 comparing position, body language, and speed in real time is something no broadcast delivers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Alpe d\u2019Huez 2026 \u2014 Watching Stages 19 and 20 in Person<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stages 19 and 20 both summit finish at Alpe d\u2019Huez \u2014&nbsp;<strong>the first back-to-back Alpe d\u2019Huez finishes in Grand Tour history<\/strong>. Fans who arrive on July 23 and camp on the mountain can watch both stages without descending. The 21 hairpins \u2014 numbered 21 at the bottom to 1 at the top \u2014 are the most famous spectator positions in the sport. Hairpin 7 (Dutch Corner) hosts thousands of Dutch fans who camp for days and create an atmosphere unlike anywhere else in sport. Road closures typically begin at 08:00 on race day \u2014 no vehicles above Le Bourg-d\u2019Oisans after that time. Arrive by bike or foot. The Tour Caravan passes 90\u2013120 minutes before the riders. Summit temperature can drop to 8\u00b0C after sundown \u2014 bring a warm layer, waterproofs, and a full food and water supply. No shops operate above the village on stage days.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Tour Caravan \u2014 Free Gifts &amp; How to Get Them<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The publicity caravan precedes every stage by 90 minutes to 2 hours \u2014 a procession of sponsor floats from LCL, Skoda, Krys, Vittel, Haribo, and dozens of others throwing caps, water bottles, keyrings, and branded merchandise to the roadside crowd. It is one of the Tour\u2019s defining traditions, and for families and first-time spectators, it often outranks the riders themselves for entertainment. Position on a straight, open section of road \u2014 floats slow down and the throw distance increases. Avoid tight bends and tunnel sections.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Spectator Safety &amp; Etiquette \u2014 What Not to Do<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The 2021 Stage 1 crash \u2014 triggered by a spectator holding a banner into the road \u2014 ended three riders\u2019 Tour de France campaigns. Running alongside riders, stepping onto the tarmac during the race, or holding objects into the road is illegal and endangers riders and the crowd. Stay behind the safety barrier or painted line at all times. Do not use smoke bombs or flares near riders \u2014 arrests have followed multiple incidents in recent years. Mountain descents are particularly dangerous: a spectator 30 cm into the road at the wrong moment is a genuine risk to life. The riders are working at physiological limits most humans will never approach \u2014 they deserve every centimetre of clear road.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How to Get the Best Tour de France 2026 Live Experience \u2014 6 Practical Tips<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Master your time zone before July 4.<\/strong>&nbsp;Most stages start at 12:30 CET. Set a recurring alarm and bookmark your broadcaster\u2019s schedule page. Missing the first hour of a mountain stage means missing the breakaway formation \u2014 and the breakaway is where Stages 10, 13, and 14 will be decided.<\/li>\n\n\n\n<li style=\"margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30)\"><strong>Watch on the biggest screen available.<\/strong>&nbsp;The aerial footage from the Pyrenees and Alps is genuinely cinematic \u2014 it deserves more than a phone. Cast SBS On Demand or Peacock to a smart TV via Chromecast or AirPlay. The investment in a streaming device is repaid across 23 days of racing.<\/li>\n\n\n\n<li><strong>Run our live tracking alongside your broadcast.<\/strong>&nbsp;The broadcast follows the leaders. The live map shows the breakaway\u2019s real-time gap, which riders are being dropped 40 km ahead of the camera, and the tactical situation that explains every attack you see on screen.<\/li>\n\n\n\n<li style=\"margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30)\"><strong>Test your streaming setup on July 3<\/strong>&nbsp;\u2014 the day before Stage 1. A buffering crisis at 14:29 CET when every team is about to launch the Barcelona TTT is not the moment to discover your VPN connection is slow or your broadcaster account needs reactivating.<\/li>\n\n\n\n<li><strong>Follow the race with the community.<\/strong>&nbsp;The GCN live chat, r\/peloton on Reddit, and cycling-specific accounts on X produce some of the fastest and most knowledgeable live reaction in sport. Watching with people who understand the tactics adds a layer no broadcast commentary can replicate.<\/li>\n\n\n\n<li style=\"margin-top:var(--wp--preset--spacing--30)\"><strong>Protect the Stage 20 Queen Stage result if you can\u2019t watch live.<\/strong>&nbsp;Avoid sports news until you can sit down with the full SBS On Demand replay. Watching the Galibier descent and the Alpe d\u2019Huez double climb without knowing the outcome is an experience worth protecting \u2014 do not let a push notification ruin it.<\/li>\n<\/ul>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6926_8769fc-93 .kt-block-spacer{height:47px;}.wp-block-kadence-spacer.kt-block-spacer-6926_8769fc-93 .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-6926_8769fc-93\"><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 to Watch Tour de France 2026 Live Abroad with a VPN<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tour de France broadcast rights are licensed by territory. When you travel outside your home country, streaming services detect your location and block access, even on an active subscription. A VPN routes your internet connection through a server in your home country, restoring access. VPNs also allow fans in countries without free-to-air coverage to access genuinely free broadcasters like SBS On Demand (Australia), ARD (Germany), or RTBF (Belgium) from anywhere in the world.<\/p>\n\n\n\n<style>\n\/* These styles only apply if you're using the card standalone.\n   If the page already has the main .tdf2026-wrap styles, you can skip this block. *\/\n.legal-note-card {\n  max-width: 960px;\n  margin: 1.5rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.legal-note-card .tdf-card {\n  background: #f6fbee;\n  border-radius: 24px;\n  overflow: hidden;\n  border: 1px solid rgba(99,153,34,0.25);\n}\n\n.legal-note-card .tdf-card-head {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 1.2rem 1.5rem 0.8rem;\n  border-bottom: 1px solid rgba(99,153,34,0.15);\n}\n\n.legal-note-card .tdf-card-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.1rem !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.1 !important;\n  padding: 0 !important;\n  border: none !important;\n  flex: 1;\n}\n\n.legal-note-card .tdf-badge {\n  font-family: 'DM Sans', sans-serif;\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.legal-note-card .tdf-card-body {\n  padding: 1.2rem 1.5rem 1.5rem;\n  font-size: 0.82rem;\n  color: #1a1a1a;\n  line-height: 1.7;\n}\n<\/style>\n\n<div class=\"legal-note-card\">\n  <div class=\"tdf-card\">\n    <div class=\"tdf-card-head\">\n      <span style=\"font-size:1.4rem; line-height:1;\">\u2696\ufe0f<\/span>\n      <h3 class=\"tdf-card-title\">Legal Position<\/h3>\n      <span class=\"tdf-badge\">Disclaimer<\/span>\n    <\/div>\n    <div class=\"tdf-card-body\">\n      <p style=\"margin:0;\">\n        Using a VPN to access a service you already subscribe to from abroad is generally considered personal use. Using a VPN to access a paid service you haven\u2019t subscribed to breaches that service\u2019s terms. Accessing free broadcasters like SBS from outside their territory is a grey area \u2014 no enforcement action against individual users has been documented. You are responsible for complying with applicable terms of service.\n      <\/p>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">Best VPNs for Tour de France 2026 Live Streaming<\/h3>\n\n\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600;700&display=swap');\n@import url('https:\/\/fonts.cdnfonts.com\/css\/galibier');\n\n.vpn-stack {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem; \/* visual separation between cards *\/\n}\n\n.vpn-card-inner {\n  background: #f6fbee;\n  border-radius: 20px;\n  overflow: hidden;\n  border: 1px solid rgba(99,153,34,0.25);\n}\n\n.vpn-card-head {\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.vpn-rank {\n  flex-shrink: 0;\n  width: 28px;\n  height: 28px;\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}\n\n.vpn-title-block {\n  flex: 1;\n  min-width: 0;\n}\n\n.vpn-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1.1rem !important;\n  font-weight: 700 !important;\n  text-transform: uppercase !important;\n  letter-spacing: 1.3px !important;\n  color: #111 !important;\n  margin: 0 0 2px 0 !important;\n  line-height: 1.2 !important;\n  padding: 0 !important;\n}\n\n.vpn-price {\n  font-size: 0.78rem;\n  color: #3B6D11;\n  font-weight: 500;\n  margin: 0;\n  line-height: 1.4;\n}\n\n.vpn-price strong {\n  font-weight: 600;\n  color: #000;\n}\n\n.vpn-badge {\n  font-size: 0.62rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.8px;\n  padding: 4px 10px;\n  border-radius: 12px;\n  border: 1px solid;\n  white-space: nowrap;\n  flex-shrink: 0;\n}\n\n\/* Colour variants for the badges *\/\n.vpn-badge--gold {\n  background: #FFF3D6;\n  color: #7A5900;\n  border-color: rgba(245,190,0,0.3);\n}\n\n.vpn-badge--speed {\n  background: #E8F0FE;\n  color: #1A4D8F;\n  border-color: rgba(30,100,200,0.25);\n}\n\n.vpn-badge--budget {\n  background: #EAF3DE;\n  color: #27500A;\n  border-color: rgba(99,153,34,0.3);\n}\n\n.vpn-card-body {\n  padding: 1.2rem 1.5rem 1.5rem;\n}\n\n.vpn-desc {\n  font-size: 0.83rem;\n  color: #1a1a1a;\n  line-height: 1.65;\n  margin: 0;\n}\n\n\/* Mobile tweaks *\/\n@media (max-width: 600px) {\n  .vpn-card-head {\n    flex-wrap: wrap;\n  }\n  .vpn-rank {\n    align-self: flex-start;\n  }\n}\n<\/style>\n\n<div class=\"vpn-stack\">\n\n  <!-- 1. NordVPN -->\n  <div class=\"vpn-card-inner\">\n    <div class=\"vpn-card-head\">\n      <span class=\"vpn-rank\">1<\/span>\n      <div class=\"vpn-title-block\">\n        <h4 class=\"vpn-title\">NordVPN<\/h4>\n        <p class=\"vpn-price\"><strong>From $3.39\/mo<\/strong> (2\u2011year) \u00b7 $12.99\/mo (monthly)<\/p>\n      <\/div>\n      <span class=\"vpn-badge vpn-badge--gold\">Best overall<\/span>\n    <\/div>\n    <div class=\"vpn-card-body\">\n      <p class=\"vpn-desc\">Best overall for cycling streams. 9,300+ servers across 137 countries. Consistently unblocks SBS On Demand, ARD, RTBF, and Peacock. 30\u2011day money\u2011back guarantee \u2014 enough to watch the entire Tour risk\u2011free. 10 simultaneous devices. Confirmed to work on smart TVs, phones, laptops, and tablets.<\/p>\n    <\/div>\n  <\/div>\n\n  <!-- 2. ExpressVPN -->\n  <div class=\"vpn-card-inner\">\n    <div class=\"vpn-card-head\">\n      <span class=\"vpn-rank\">2<\/span>\n      <div class=\"vpn-title-block\">\n        <h4 class=\"vpn-title\">ExpressVPN<\/h4>\n        <p class=\"vpn-price\"><strong>From $2.79\/mo<\/strong> (2\u2011year) \u00b7 $13.99\/mo (monthly)<\/p>\n      <\/div>\n      <span class=\"vpn-badge vpn-badge--speed\">Fastest<\/span>\n    <\/div>\n    <div class=\"vpn-card-body\">\n      <p class=\"vpn-desc\">Fastest VPN for HD and 4K streaming \u2014 critical for six\u2011hour stage coverage without buffering. Best at unblocking Peacock from abroad. 30\u2011day money\u2011back guarantee. 8 simultaneous devices. Slightly pricier long\u2011term than NordVPN but faster on sustained connections.<\/p>\n    <\/div>\n  <\/div>\n\n  <!-- 3. CyberGhost -->\n  <div class=\"vpn-card-inner\">\n    <div class=\"vpn-card-head\">\n      <span class=\"vpn-rank\">3<\/span>\n      <div class=\"vpn-title-block\">\n        <h4 class=\"vpn-title\">CyberGhost<\/h4>\n        <p class=\"vpn-price\"><strong>From ~$2.19\/mo<\/strong> (3\u2011year) \u00b7 $12.99\/mo (monthly)<\/p>\n      <\/div>\n      <span class=\"vpn-badge vpn-badge--budget\">Budget pick<\/span>\n    <\/div>\n    <div class=\"vpn-card-body\">\n      <p class=\"vpn-desc\">Best budget option. Dedicated sport streaming servers. 45\u2011day money\u2011back guarantee \u2014 the longest in the industry and enough for the entire men\u2019s and women\u2019s races. 7 simultaneous devices. Adequate for HD streams; occasionally slower than the top two on sustained 4K.<\/p>\n    <\/div>\n  <\/div>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">Step-by-Step: Watch TDF 2026 Free on SBS with NordVPN<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is the most effective free Tour de France streaming method in 2026 for fans outside Australia \u2014 confirmed working, full English commentary at no subscription cost to SBS.<\/p>\n\n\n\n<style>\n\/* Guide steps \u2013 visually separated cards with icons *\/\n.guide-steps-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n  display: flex;\n  flex-direction: column;\n  gap: 1rem; \/* clear separation *\/\n}\n\n.step-card {\n  background: #f6fbee;\n  border-radius: 20px;\n  border: 1px solid rgba(99,153,34,0.25);\n  overflow: hidden;\n  display: flex;\n  align-items: flex-start;\n  gap: 1rem;\n  padding: 1.2rem 1.5rem;\n}\n\n.step-icon {\n  width: 44px;\n  height: 44px;\n  border-radius: 12px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n  background: #EAF3DE;\n  color: #27500A;\n  border: 1px solid rgba(99,153,34,0.3);\n}\n\n.step-icon svg {\n  width: 22px;\n  height: 22px;\n  stroke: #27500A;\n}\n\n.step-body {\n  flex: 1;\n  min-width: 0;\n}\n\n\/* H4 step title styling *\/\n.step-title {\n  font-family: 'Galibier', sans-serif !important;\n  font-size: 1rem !important;\n  font-weight: 700 !important;\n  color: #111 !important;\n  margin: 0 0 4px 0 !important;\n  line-height: 1.2 !important;\n  letter-spacing: 0.5px !important;\n  text-transform: uppercase !important;\n}\n\n.step-desc {\n  font-size: 0.85rem;\n  color: #1a1a1a;\n  line-height: 1.6;\n  margin: 0;\n}\n\n.step-desc strong {\n  font-weight: 600;\n  color: #000;\n}\n\n.step-desc a {\n  color: #3B6D11;\n  text-decoration: underline;\n  font-weight: 500;\n}\n\n@media (max-width: 600px) {\n  .step-card {\n    flex-direction: column;\n    gap: 0.75rem;\n  }\n  .step-icon {\n    width: 38px;\n    height: 38px;\n  }\n}\n<\/style>\n\n<div class=\"guide-steps-wrap\">\n\n  <!-- Step 1: Subscribe -->\n  <div class=\"step-card\">\n    <div class=\"step-icon\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n        <rect x=\"1\" y=\"4\" width=\"22\" height=\"16\" rx=\"2\" ry=\"2\"><\/rect>\n        <line x1=\"1\" y1=\"10\" x2=\"23\" y2=\"10\"><\/line>\n      <\/svg>\n    <\/div>\n    <div class=\"step-body\">\n      <h4 class=\"step-title\">1. Subscribe to NordVPN<\/h4>\n      <p class=\"step-desc\">\n        Go to <a href=\"https:\/\/nordvpn.com\" target=\"_blank\" rel=\"nofollow noopener\">nordvpn.com<\/a>. \n        The monthly plan ($12.99) covers the entire race and includes a 30\u2011day money\u2011back guarantee \u2014 \n        making it effectively <strong>free<\/strong> if you cancel before the guarantee expires after the Tour finishes.\n      <\/p>\n    <\/div>\n  <\/div>\n\n  <!-- Step 2: Download & Install -->\n  <div class=\"step-card\">\n    <div class=\"step-icon\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n        <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"><\/path>\n        <polyline points=\"7 10 12 15 17 10\"><\/polyline>\n        <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"><\/line>\n      <\/svg>\n    <\/div>\n    <div class=\"step-body\">\n      <h4 class=\"step-title\">2. Download and install NordVPN<\/h4>\n      <p class=\"step-desc\">\n        Available for <strong>iOS, Android, Windows, macOS, Android TV<\/strong>, and browser extensions. \n        Install on the device you plan to watch on.\n      <\/p>\n    <\/div>\n  <\/div>\n\n  <!-- Step 3: Connect to Australia -->\n  <div class=\"step-card\">\n    <div class=\"step-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=\"step-body\">\n      <h4 class=\"step-title\">3. Connect to an Australian server<\/h4>\n      <p class=\"step-desc\">\n        Open NordVPN, search for <strong>Australia<\/strong> in the server list, and connect. \n        Your IP address now appears Australian to any website you visit.\n      <\/p>\n    <\/div>\n  <\/div>\n\n  <!-- Step 4: Register SBS On Demand -->\n  <div class=\"step-card\">\n    <div class=\"step-icon\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n        <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"><\/path>\n        <circle cx=\"12\" cy=\"7\" r=\"4\"><\/circle>\n      <\/svg>\n    <\/div>\n    <div class=\"step-body\">\n      <h4 class=\"step-title\">4. Register a free SBS On Demand account<\/h4>\n      <p class=\"step-desc\">\n        Go to <a href=\"https:\/\/sbs.com.au\/ondemand\" target=\"_blank\" rel=\"nofollow noopener\">sbs.com.au\/ondemand<\/a> \n        and create a free account with any valid email. No Australian address or credit card is required. \n        Verify via email.\n      <\/p>\n    <\/div>\n  <\/div>\n\n  <!-- Step 5: Watch live -->\n  <div class=\"step-card\">\n    <div class=\"step-icon\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n        <polygon points=\"5 3 19 12 5 21 5 3\"><\/polygon>\n      <\/svg>\n    <\/div>\n    <div class=\"step-body\">\n      <h4 class=\"step-title\">5. Watch every stage live and free<\/h4>\n      <p class=\"step-desc\">\n        Navigate to the <strong>Tour de France 2026<\/strong> section on SBS On Demand. \n        Live streaming begins approximately 30 minutes before the official stage start each day. \n        Full\u2011stage replays appear within a few hours of each finish.\n      <\/p>\n    <\/div>\n  <\/div>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Can You Watch Tour de France 2026 With a Free VPN?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>No \u2014 not reliably, and not for live HD cycling.<\/strong>&nbsp;Free VPNs throttle connection speeds, cap data, and are actively detected and blocked by SBS, ARD, Peacock, and every other major broadcaster. A six-hour mountain stage in HD requires a sustained 5\u20138 Mbps connection. Free VPNs cannot maintain this. The 30-day money-back guarantees on NordVPN, ExpressVPN, and CyberGhost mean you can use a premium VPN for the full Tour at zero net cost if you cancel before the guarantee expires.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6926_9f9221-bf .kt-block-spacer{height:48px;}.wp-block-kadence-spacer.kt-block-spacer-6926_9f9221-bf .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-6926_9f9221-bf\"><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 Tour de France 2026 Is Broadcast \u2014 The Technology Behind Le Tour<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Tour de France is the most technically complex live sports broadcast in existence. Following 176 riders across 3,333 km of open roads, mountain passes, and city streets \u2014 with no fixed venue, no controlled environment, and racing speeds of 40\u201360 km\/h for up to six hours daily \u2014 requires infrastructure that most viewers never see or think about.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Helicopter, Motorbike &amp; Fixed Cameras<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">ASO deploys 6 helicopters, 12 motorbike cameras, and over 30 fixed finish-line and roadside cameras per stage. The helicopter feed delivers the iconic aerial shots \u2014 peloton against the Pyrenean ridgeline, a solo breakaway in the Massif Central, 176 riders spread across the final kilometre of a sprint. Motorbike cameras ride alongside breakaways and GC groups, capturing tactical decisions at close range. Every summit finish has fixed slow-motion cameras on the final 300m. The entire production is coordinated from ASO\u2019s mobile broadcasting centre \u2014 a convoy of trucks that travels the race route each day.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">GPS Live Tracking \u2014 How Real-Time Data Works in 2026<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Every team vehicle and the lead race motorcycle carry GPS transponders feeding position data to ASO\u2019s live tracking system every 3\u20135 seconds. Rider positions on standard road stages are inferred from team vehicle data; individual rider transponders activate on ITT stages for rider-level splits. This data feeds letour.fr, the official TDF app, and the on-screen time-gap graphics that appear during every broadcast. Velon \u2014 a consortium of cycling teams \u2014 provides supplementary rider metrics including speed and power data that appear in broadcaster analysis segments on Eurosport and SBS.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Augmented Reality &amp; On-Screen Data Overlays<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tour de France 2026 broadcasts include on-screen AR overlays showing virtual gradient profiles on climbs \u2014 a coloured band overlaid on the road image representing the current gradient in real time. Eurosport and France TV deploy predictive finish-time graphics on mountain stages, estimating GC leader arrival based on current speed and remaining distance. The 2026 broadcast introduces enhanced head-to-head comparison graphics on summit finishes, showing Poga\u010dar and Vingegaard\u2019s intermediate times from the same climb in previous editions \u2014 allowing viewers to benchmark the live attack against historical performance in real time.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4K Ultra HD \u2014 Stages Confirmed for 2026<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">France T\u00e9l\u00e9visions broadcasts selected mountain stages in 4K on its dedicated France TV 4K channel, available via the TNT satellite platform and France.tv. Eurosport 4K is available through Discovery+ across select European markets. Stages 19 and 20 \u2014 both finishing on Alpe d\u2019Huez \u2014 are confirmed for full 4K production. A minimum 25 Mbps internet connection and a 4K-compatible screen are required. OLED and QLED TVs from 2020 onwards handle the colour depth of Tour mountain footage exceptionally well.<\/p>\n\n\n<style>.wp-block-kadence-spacer.kt-block-spacer-6926_219605-0e .kt-block-spacer{height:47px;}.wp-block-kadence-spacer.kt-block-spacer-6926_219605-0e .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-6926_219605-0e\"><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 How to Watch Live<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Tour de France Femmes avec Zwift runs from&nbsp;<strong>August 1 to August 9, 2026<\/strong>&nbsp;\u2014 9 stages, a Switzerland start, a Mont Ventoux summit on Stage 7 (August 7), and a Nice finale on August 9. In most countries, the same broadcasters that carry the men\u2019s race cover the women\u2019s edition: Peacock (USA), SBS On Demand (Australia), TNT Sports\/Discovery+ (UK), and France TV (France).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the&nbsp;<strong>USA<\/strong>, Peacock carries all 9 stages live from start to finish, with CNBC broadcasting select stage windows. The same Peacock subscription covering the men\u2019s Tour runs directly into the women\u2019s edition \u2014 one fee covers both. In&nbsp;<strong>Australia<\/strong>, SBS On Demand provides the same full start-to-finish coverage as the men\u2019s race, with English commentary from Matt Keenan and a dedicated women\u2019s cycling analysis panel. Australia\u2019s women\u2019s TDF audience has grown 40% over three seasons \u2014 it is no longer a secondary event for SBS, and the coverage reflects that.<\/p>\n\n\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');\n@import url('https:\/\/fonts.cdnfonts.com\/css\/galibier');\n\n.live-faq-wrap {\n  max-width: 960px;\n  margin: 2rem auto;\n  font-family: 'DM Sans', sans-serif;\n}\n\n.live-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.live-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.live-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.live-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.live-faq-list {\n  padding: 0.8rem 1.5rem 1.5rem;\n  display: flex;\n  flex-direction: column;\n  gap: 0.55rem;\n}\n\n\/* Each FAQ item *\/\n.live-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.2s ease, border-color 0.2s ease;\n}\n\n.live-faq-item:hover {\n  background: rgba(255,255,255,0.7);\n  border-color: rgba(99,153,34,0.25);\n}\n\n.live-faq-item.open {\n  background: rgba(255,255,255,0.7);\n  border-color: rgba(99,153,34,0.3);\n}\n\n\/* Question button *\/\n.live-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.live-faq-question:hover {\n  background: rgba(234,243,222,0.35);\n}\n\n.live-faq-question-text {\n  flex: 1;\n  min-width: 0;\n}\n\n\/* Plus\/minus icon *\/\n.live-faq-icon {\n  width: 22px;\n  height: 22px;\n  flex-shrink: 0;\n  transition: transform 0.25s ease;\n  stroke: #27500A;\n  position: relative;\n}\n\n.live-faq-icon .vertical {\n  transition: transform 0.25s ease, opacity 0.2s ease;\n  transform-origin: center;\n}\n\n.live-faq-item.open .live-faq-icon .vertical {\n  transform: rotate(90deg);\n  opacity: 0;\n}\n\n\/* Answer panel *\/\n.live-faq-answer {\n  max-height: 0;\n  overflow: hidden;\n  transition: max-height 0.4s ease, padding 0.4s ease;\n  padding: 0 1.2rem;\n  font-size: 0.85rem;\n  color: #1a1a1a;\n  line-height: 1.65;\n  background: rgba(255,255,255,0.2);\n  border-top: 1px solid transparent;\n  transition: max-height 0.4s ease, padding 0.4s ease, border-color 0.3s ease;\n}\n\n.live-faq-item.open .live-faq-answer {\n  max-height: 500px;\n  padding: 0.9rem 1.2rem 1.1rem;\n  border-top-color: rgba(99,153,34,0.1);\n}\n\n.live-faq-answer p {\n  margin: 0;\n}\n\n.live-faq-answer strong {\n  color: #000;\n  font-weight: 600;\n}\n\n.live-faq-answer a {\n  color: #3B6D11;\n  text-decoration: underline;\n  font-weight: 500;\n}\n\n\/* Responsive *\/\n@media (max-width: 720px) {\n  .live-faq-list {\n    padding: 0.6rem 1rem 1.2rem;\n    gap: 0.45rem;\n  }\n  .live-faq-question {\n    padding: 0.85rem 1rem;\n    font-size: 0.85rem;\n  }\n  .live-faq-answer {\n    padding: 0 1rem;\n    font-size: 0.8rem;\n  }\n  .live-faq-item.open .live-faq-answer {\n    padding: 0.75rem 1rem 0.95rem;\n  }\n}\n\n@media (max-width: 480px) {\n  .live-faq-list {\n    padding: 0.5rem 0.8rem 1rem;\n    gap: 0.4rem;\n  }\n  .live-faq-question {\n    padding: 0.8rem 0.9rem;\n    font-size: 0.82rem;\n    gap: 0.7rem;\n  }\n  .live-faq-answer {\n    padding: 0 0.9rem;\n    font-size: 0.78rem;\n  }\n  .live-faq-item.open .live-faq-answer {\n    padding: 0.7rem 0.9rem 0.9rem;\n  }\n  .live-faq-header {\n    padding: 1rem 1.2rem 0.75rem;\n  }\n  .live-faq-title {\n    font-size: 1.05rem !important;\n  }\n}\n<\/style>\n\n<div class=\"live-faq-wrap\">\n  <div class=\"live-faq-card\">\n    \n    <div class=\"live-faq-header\">\n      <h3 class=\"live-faq-title\">Tour de France 2026 Live \u2014 FAQ<\/h3>\n      <span class=\"live-faq-badge\">Viewing Guide<\/span>\n    <\/div>\n\n    <div class=\"live-faq-list\" id=\"liveFaqAccordion\">\n\n      <!-- Q1 \u2014 open by default -->\n      <div class=\"live-faq-item open\">\n        <button class=\"live-faq-question\" aria-expanded=\"true\">\n          <span class=\"live-faq-question-text\">When does Tour de France 2026 start and finish?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p>Tour de France 2026 starts <strong>Saturday July 4<\/strong> with a team time trial in Barcelona and finishes <strong>Sunday July 26<\/strong> on the Champs-\u00c9lys\u00e9es in Paris. The 113th edition runs 23 days including rest days on July 13 and July 20.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q2 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">Is Tour de France 2026 free to watch?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p>Yes, in <strong>14+ countries<\/strong> including Australia (SBS), France (France TV), Germany (ARD), Spain (RTVE), Netherlands (NOS), Belgium (RTBF\/Sporza), Italy (RAI Sports), Ireland (TG4), and Switzerland (SRG-SSR). The UK requires TNT Sports at \u00a330.99\/month after ITV's exit. The USA requires Peacock at $10.99\/month.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q3 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">How do I watch Tour de France 2026 in the USA?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p><strong>Peacock<\/strong> is the exclusive US home \u2014 all 21 stages live from start to finish at $10.99\/month. NBC broadcasts the Grand D\u00e9part (July 4) and Paris finale (July 26) on free-to-air. Peacock's six-year deal with ASO runs through 2029.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q4 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">Can I watch Tour de France 2026 free in Australia?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p>Yes. <strong>SBS broadcasts all 21 stages live and free<\/strong> with English commentary. SBS On Demand streams every stage online for free after registration. Full-stage replays are available within hours of each finish. No subscription required.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q5 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">Is Tour de France 2026 on ITV in the UK?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p><strong>No.<\/strong> ITV's final Tour de France was 2025. From 2026, TNT Sports via Discovery+ holds exclusive UK rights at \u00a330.99\/month. S4C offers free Welsh-language coverage. TG4 provides free Irish-language coverage accessible in parts of Northern Ireland.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q6 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">What time do Tour de France 2026 stages start?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p>Most stages start <strong>12:30\u201313:00 CET<\/strong> \u2014 06:30 ET, 03:30 PT, 11:30 BST, 20:30 AEST. Stage 1 TTT starts 14:30 CET on July 4 \u2014 08:30 ET, 05:30 PT, 13:30 BST, 22:30 AEST. The Stage 21 Paris finale starts approximately 16:00 CET.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q7 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">Can I use a VPN to watch Tour de France 2026 for free?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p>A VPN lets you access free broadcasters like SBS On Demand from outside their country. <strong>NordVPN and ExpressVPN<\/strong> are the most reliable options. Free VPNs cannot sustain HD live streaming and are blocked by major broadcasters. Use a premium VPN with a 30-day money-back guarantee to cover the entire race at no net cost.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q8 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">How many stages does Tour de France 2026 have?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p><strong>21 stages over 23 days<\/strong> \u2014 3,333 km with 54,450m of climbing. It includes 7 flat stages, 4 hilly stages, 8 mountain stages with 5 summit finishes, 1 team time trial (Stage 1, Barcelona), and 1 individual time trial (Stage 16, July 21, \u00c9vian to Thonon-les-Bains).<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q9 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">What is the hardest stage of Tour de France 2026?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p><strong>Stage 20 (July 25) is the Queen Stage<\/strong> \u2014 171 km from Le Bourg-d'Oisans to Alpe d'Huez via the Col de Sarenne, Col du T\u00e9l\u00e9graphe, and Col du Galibier with 5,600m of climbing. Stage 6 (Pau to Gavarnie-G\u00e8dre, via the Tourmalet and Aspin) is the hardest Pyrenean stage at 4,650m gain.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q10 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">Does Tour de France 2026 finish on Alpe d'Huez twice?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p><strong>Yes<\/strong> \u2014 Stage 19 (July 24) and Stage 20 (July 25) both summit finish at Alpe d'Huez, the first back-to-back finishes at the same climb in Grand Tour history. Stage 20 adds the Sarenne, T\u00e9l\u00e9graphe, and Galibier before the Alpe d'Huez ascent.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q11 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">How can I watch Tour de France 2026 highlights on YouTube?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p>The <strong>official Tour de France YouTube channel<\/strong> publishes 8\u201315 minute daily highlight packages within 2 hours of each stage finish. GCN publishes longer daily recap shows. Full live coverage is not on YouTube \u2014 only licensed broadcasters stream complete stages.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q12 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">Where can I watch Tour de France 2026 in Canada?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p><strong>FloBikes<\/strong> streams all 21 stages live in Canada at CAD$49.99\/month or CAD$215.88\/year. No free-to-air Canadian broadcaster has confirmed Tour de France 2026 rights.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q13 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">Is Tour de France 2026 on ESPN in the USA?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p><strong>No.<\/strong> ESPN holds no Tour de France 2026 US rights. NBC Sports and Peacock are the exclusive US broadcasters through 2029. ESPN International may carry regional coverage in some overseas markets \u2014 check your local affiliate.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q14 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">How do I convert Tour de France stage times to my time zone?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p>Standard start is <strong>12:30 CET<\/strong> \u2014 06:30 ET, 03:30 PT, 11:30 BST, 20:30 AEST. Stage 1 TTT on July 4 starts at 14:30 CET. The Paris finale (Stage 21) starts around 16:00 CET for a traditional early-evening Champs-\u00c9lys\u00e9es finish.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q15 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">Where can I find live Tour de France 2026 GPS tracking?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p>We offer the <strong>Tour de France live map<\/strong>, which tracks the peloton in real time during every stage, updated every 3\u20135 seconds. Also, the official TDF app (free, iOS and Android) carries the GPS feed plus live GC standings. Both are free \u2014 no subscription required.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q16 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">How often are GC standings updated on this site?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p>GC standings on this site update within <strong>10 minutes of each stage finish<\/strong>, sourced from ASO official results. Live intermediate updates appear during mountain stages at key summits. All four classification tables \u2014 yellow, green, polka dot, white \u2014 publish within 30 minutes of each day's official podium ceremony.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q17 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">Do you have a live commentary feed during stages?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p>Yes. Our <strong>live blog runs from the rolling start through to the final rider<\/strong> crossing the line each day. Attacks, crashes, time bonuses, mountain points, and GC implications are flagged as they happen. No subscription required to access the live blog.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q18 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">Can I get Tour de France 2026 stage alerts?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p>Push notifications for key stage moments are available through the <strong>official Tour de France app<\/strong>. Our newsletter delivers same-day results to your inbox within 30 minutes of each finish \u2014 subscribe at the bottom of this page. Social media alerts run on our Instagram\/X account throughout each stage day.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q19 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">Where can I find the best Tour de France 2026 stage analysis?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p>Our <strong>stage previews publish 48 hours before each stage<\/strong> \u2014 route profiles, key climb gradient data, tactical scenarios, and GC implications. Stage reports publish within 90 minutes of each finish with time gaps, race decisions explained, and full standings. See the Stage Previews section linked above.<\/p>\n        <\/div>\n      <\/div>\n\n      <!-- Q20 -->\n      <div class=\"live-faq-item\">\n        <button class=\"live-faq-question\" aria-expanded=\"false\">\n          <span class=\"live-faq-question-text\">How do I follow Tour de France 2026 if I can't watch live?<\/span>\n          <svg class=\"live-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\"\/>\n            <line class=\"vertical\" x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\n          <\/svg>\n        <\/button>\n        <div class=\"live-faq-answer\">\n          <p><strong>SBS On Demand<\/strong> publishes full-stage replays within a few hours of each finish \u2014 the best on-demand option globally. Our live blog archives each stage's key moments in chronological order for reading after the fact. Avoid sports news apps and social media until you are ready to watch or read \u2014 push notifications will spoil it in seconds.<\/p>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  const accordion = document.getElementById('liveFaqAccordion');\n  if (!accordion) return;\n\n  accordion.addEventListener('click', function(e) {\n    const button = e.target.closest('.live-faq-question');\n    if (!button) return;\n\n    const currentItem = button.closest('.live-faq-item');\n    const isOpen = currentItem.classList.contains('open');\n\n    \/\/ Close all items\n    accordion.querySelectorAll('.live-faq-item').forEach(item => {\n      item.classList.remove('open');\n      item.querySelector('.live-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\n<h2 class=\"wp-block-heading\" style=\"text-transform:uppercase\">You\u2019re Ready for Tour de France 2026<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">21 stages. 3,333 km. The Tourmalet. Alpe d\u2019Huez twice. The Galibier. A finish on the Champs-\u00c9lys\u00e9es. Poga\u010dar defending. Vingegaard attacking from the Giro. Seixas arriving. The 2026 Tour de France starts July 4 in Barcelona, with only 3 stages in Barcelona. Consider watching the <a href=\"https:\/\/franceletour.com\/tour-de-france-2026-stage-3\/\">last Spanish stage<\/a>. You now know exactly how to watch it \u2014 whatever country you\u2019re in, whatever budget you\u2019re working with. The racing does the rest.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tour de France 2026 Live: Watch Every Stage Online, on TV &amp; Worldwide Free This is the complete guide to watching Tour de France 2026 live \u2014 every stage, every broadcaster, every country, from the Barcelona Grand D\u00e9part on July 4 to the Champs-\u00c9lys\u00e9es finish on July 26. Whether you want the free option in&#8230;<\/p>","protected":false},"author":1,"featured_media":7006,"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":"hide","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-6926","page","type-page","status-publish","has-post-thumbnail","hentry"],"taxonomy_info":[],"featured_image_src_large":["https:\/\/franceletour.com\/wp-content\/uploads\/2026\/06\/watch-tour-de-france-2026-live-1024x536.png",1024,536,true],"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\/6926","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=6926"}],"version-history":[{"count":23,"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/pages\/6926\/revisions"}],"predecessor-version":[{"id":7159,"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/pages\/6926\/revisions\/7159"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/media\/7006"}],"wp:attachment":[{"href":"https:\/\/franceletour.com\/fr\/wp-json\/wp\/v2\/media?parent=6926"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}