Winter Olympics 2026 Today’s Schedule

The 2026 Winter Olympics, officially known as Milano Cortina 2026, will bring the world together for more than two weeks of elite winter sports, culture, and global celebration. Taking place from February 4 to February 22, 2026, this landmark edition of the Winter Games will be hosted across Milan, Cortina d’Ampezzo, and several stunning alpine venues in northern Italy.

With 92 nations, nearly 2,900 athletes, and 116 medal events across 8 sports and 16 disciplines, Milano Cortina 2026 promises one of the most diverse and visually spectacular Winter Olympics in history. Below is a day-by-day schedule overview, rewritten clearly for fans who want an easy-to-understand guide.

0 events
Choose a date
Note: Times are shown exactly as provided. This widget is isolated via Shadow DOM so it won’t affect other parts of your site.
`; root.innerHTML = html; const elDate = root.getElementById("wo26-date"); const elDay = root.getElementById("wo26-day"); const elSearch = root.getElementById("wo26-search"); const elHeader = root.getElementById("wo26-header"); const elBody = root.getElementById("wo26-body"); const elCount = root.getElementById("wo26-count"); // Build dropdown data.forEach((d) => { const opt = document.createElement("option"); opt.value = d.dateISO; opt.textContent = d.title; elDay.appendChild(opt); }); function renderTable(dayObj, query) { const q = (query || "").trim().toLowerCase(); const rows = (dayObj?.events || []).filter((r) => { if (!q) return true; return ( (r.event || "").toLowerCase().includes(q) || (r.location || "").toLowerCase().includes(q) ); }); elCount.textContent = `${rows.length} event${rows.length === 1 ? "" : "s"}`; if (!dayObj) { elHeader.textContent = "Choose a date"; elBody.innerHTML = `
Please select a date to see the schedule.
`; return; } elHeader.textContent = dayObj.title; if (rows.length === 0) { elBody.innerHTML = `
No events match your search for this day.
`; return; } // Desktop table (mobile turns into cards via CSS) const table = ` ${rows .map((r) => ` `) .join("")}
Events Local (CET) Time (ET) Time (GMT) Location
${escapeHtml(r.event)}
${escapeHtml(r.local)} ${escapeHtml(r.et)} ${escapeHtml(r.gmt)} ${escapeHtml(r.location)}
`; // For mobile accessibility, also include labels via data blocks (CSS uses .wo26-kv) // We'll reuse the same table markup—CSS turns each row into a card. // Add helper spans for mobile (shown via layout only) elBody.innerHTML = table + buildMobileHelpers(rows); } function buildMobileHelpers(rows) { // Adds extra labeled key/value lines *inside each row* for mobile view. // We do it by injecting after render: easiest approach is to augment in-place after table insert. // But to keep it simple, we append a tiny script-less enhancement using a hidden marker + post-process. queueMicrotask(() => { const trs = root.querySelectorAll("tbody tr"); trs.forEach((tr) => { const tds = tr.querySelectorAll("td"); if (tds.length !== 5) return; const evtCell = tds[0]; const localCell = tds[1]; const etCell = tds[2]; const gmtCell = tds[3]; const locCell = tds[4]; // Only add once if (evtCell.querySelector(".wo26-kv")) return; const wrap = document.createElement("div"); wrap.innerHTML = `
Local (CET)
${localCell.textContent}
Time (ET)
${etCell.textContent}
Time (GMT)
${gmtCell.textContent}
Location
${locCell.textContent}
`; evtCell.appendChild(wrap); // On mobile, we hide the other cells visually (they become redundant), // but we keep them in DOM for desktop layout. }); }); return ""; } function escapeHtml(str) { return String(str ?? "") .replaceAll("&", "&") .replaceAll("<", "<") .replaceAll(">", ">") .replaceAll('"', """) .replaceAll("'", "'"); } function setSelectedDate(dateISO) { const dayObj = data.find((d) => d.dateISO === dateISO) || null; elDate.value = dateISO || ""; elDay.value = dateISO || ""; renderTable(dayObj, elSearch.value); } // Defaults: show first day in list setSelectedDate(minDate); elDate.addEventListener("input", () => { const v = elDate.value; if (!v) return; // If date not in dataset, keep UI but show message const exists = data.some((d) => d.dateISO === v); if (!exists) { elHeader.textContent = "No schedule found"; elCount.textContent = "0 events"; elBody.innerHTML = `
No schedule data available for ${escapeHtml(v)} in this widget.
`; elDay.value = minDate; return; } setSelectedDate(v); }); elDay.addEventListener("change", () => { setSelectedDate(elDay.value); }); elSearch.addEventListener("input", () => { const dayObj = data.find((d) => d.dateISO === elDay.value) || null; renderTable(dayObj, elSearch.value); }); })();

Winter Olympics 2026 Today’s Schedule

📅 Friday, February 8, 2026

All Times ET

SportCategoryEvent / MatchTime (ET)Medal
BiathlonMixed 4x6km Relay8:05 a.m.
CurlingMixed DoublesEstonia vs. South Korea4:05 a.m.
CurlingMixed DoublesNorway vs. Czechia4:05 a.m.
CurlingMixed DoublesU.S. vs. Estonia8:30 a.m.
CurlingMixed DoublesCanada vs. Sweden8:30 a.m.
CurlingMixed DoublesGreat Britain vs. Switzerland8:30 a.m.
CurlingMixed DoublesItaly vs. Czechia8:30 a.m.
CurlingMixed DoublesCanada vs. South Korea1:05 p.m.
CurlingMixed DoublesItaly vs. Great Britain1:05 p.m.
CurlingMixed DoublesU.S. vs. Sweden1:05 p.m.
CurlingMixed DoublesSwitzerland vs. Norway1:05 p.m.
HockeyWomen’s PreliminaryFrance vs. Sweden10:40 a.m.
HockeyWomen’s PreliminaryCzechia vs. Finland3:10 p.m.
Figure SkatingPairs’ Free Skate1:30 p.m.
Figure SkatingWomen’s Free Skate2:45 p.m.
Figure SkatingMen’s Free Skate3:55 p.m.🏅
LugeSinglesMen’s Singles (Run 3)11:00 a.m.
LugeSinglesMen’s Singles (Final Run)12:30 a.m.🏅
Alpine SkiingWomen’s Downhill5:30 a.m.🏅
Cross-Country SkiingMen’s Skiathlon6:30 a.m.🏅
SnowboardingBig AirWomen’s Qualifying1:30 p.m.
SnowboardingGiant SlalomMen’s & Women’s Parallel Qualifying3:00 a.m.
SnowboardingGiant SlalomMen’s & Women’s Parallel Finals7:00 a.m.🏅
SpeedskatingMen’s 5000m Final10:00 a.m.🏅

Key Details at a Glance

Winter Olympics 2026 Today's Schedule

Winter Olympics 2026 Day-by-Day Schedule


Friday, February 6, 2026

(Opening Ceremony Day)

Competition continues in the morning, followed by the highly anticipated Opening Ceremony in the afternoon.

Time (ET)SportEventVenue
3:00 a.m.Ski JumpingWomen’s Normal Hill – TrainingPredazzo
4:00 a.m.LugeMen’s Singles – Training RunsCortina Sliding Centre
4:05 a.m.CurlingMixed Doubles Round RobinCortina
5:30 a.m.Alpine SkiingMen’s Downhill – TrainingStelvio
5:30 a.m.Alpine SkiingWomen’s Downhill – TrainingTofane
3:55–8:55 a.m.Figure SkatingTeam Event (Multiple Segments)Milano Ice Skating Arena
6:10 a.m.Ice HockeyWomen’s PreliminaryMilan Rho
8:35 a.m.CurlingMixed Doubles Round RobinCortina
8:40 a.m.Ice HockeyWomen’s PreliminaryMilan Santagiulia

Opening Ceremony – Winter Olympics 2026

The official Opening Ceremony marks the formal start of the Games and showcases Italy’s history, creativity, and Olympic spirit.

📅 Date: Friday, February 6, 2026
⏰ Time: 2:30 p.m. ET
📍 Venue: Stadio San Siro, Milan

Expect a grand celebration featuring athlete parades, artistic performances, and the lighting of the Olympic flame.


What Comes After Opening Night?

Following the ceremony, the schedule intensifies with daily medal events in:

Each day will feature multiple medal finals, ensuring constant action for fans across global time zones.


Why Milano Cortina 2026 Is Special

Unlike single-city Olympics, Milano Cortina 2026 spreads events across iconic mountain resorts and modern urban arenas. This unique setup blends alpine tradition with contemporary Italian culture, offering breathtaking visuals and world-class competition.

From icy speed skating rinks in Milan to dramatic downhill courses in the Dolomites, every venue has been selected to enhance athlete performance and fan experience.


Final Thoughts

The Winter Olympics 2026 schedule delivers a perfectly balanced mix of tradition, innovation, and nonstop sporting drama. Whether you’re following curling in Cortina, figure skating in Milan, or the spectacle of the Opening Ceremony, Milano Cortina 2026 is set to be one of the most memorable Winter Games ever.

Bookmark this guide and stay tuned as medal events, finals, and historic moments unfold day by day. ❄️🏅