Note: Schedule last updated March 6, 2026.
Here’s a copy of the 2025/26 NHL schedule and the results of each of the games played so far in Excel .xlsx format, and here’s another copy in CSV format. Of course, the season hasn’t started yet, so the results are empty right now, but I’ll try to update them each morning through the regular season.
The Excel file consists of 2 worksheets: one contains the original NHL schedule as described in this post; the other, named As-Played Schedule, contains the same contents, with the addition of the scores for each team and whether the game hasn’t been played yet, was won in regulation time, overtime, or in a shootout, and the name of the starting goalies for each team. Here’s a quick summary of the columns:
- Date: the date of the game
- Start Time (Sask): the game’s start time in Saskatchewan (where I live!)
- Start Time (ET): the game’s start time in Eastern time (which is the time the NHL website shows)
- Visitor: the name of the visiting team
- Score: the visiting team’s score if the game has been played, otherwise blank
- Home: the name of the home team
- Score: the home team’s score if the game has been played, otherwise blank
- Status: one of the following:
- Scheduled: if the game hasn’t been played yet
- Postponed: if the game has been postponed, but not yet rescheduled
- Regulation: if the game ended in regulation time
- OT: if the game ended in overtime
- SO: if the game ended in a shootout
- Visitor Goalie: the starting goalie of the visiting team
- Home Goalie: the starting goalie of the home team
For example, here’s the first couple lines of the worksheet from a previous year’s file:
In this example, the game was played on December 31, 1975 at 6:00 PM in Saskatchewan and 7:00 PM Eastern time, the visiting team Central Red Army and the home team Montreal played to a 3-3 tie in regulation time, the starting goalie for the visitors was Vladislav Tretiak, and the starting goalie for the home team was Ken Dryden.
Just a brief explanation why I’ve got two time fields in here. Saskatchewan doesn’t observe Daylight Savings time, so for part of the schedule, we have a one-hour time difference from Eastern time, and for the rest of the schedule, we have a two-hour time difference. Of course, I’m more interested in the time in Saskatchewan, but to make it easier for other people to use, I’ve also included Eastern time.
In addition to the columns shown in the example, there are also a number of fields related to historical betting information. As odds change right up to game time, these fields are only filled in after the game has ended. The odds are a concensus of a number of betting sites available to me. These fields are:
- O/U: the number of goals for the Over/Under bet
- Over: the odds that the Over bet pays
- Under: the odds that the Under bet pays
- Away ML: the odds that the Money Line bet on the Away team pays
- Home ML: the odds that the Money Line bet on the Home team pays
- Home PL Spread: the spread for the home team on the Puck Line bet
- PL Away: the odds that the Puck Line bet on the Away team pays
- PL Home: the odds that the Puck Line bet on the Home team pays
I’ve also added some formatting to the odds fields. If the bet would have paid off, the odds are in green; if the bet would have lost, the odds are in red; if the bet would have been a push, the odds are black.
The CSV file contains only the As-Played worksheet. It has the same fields as described for the Excel file. You can easily import this file into Excel or whatever spreadsheet of your choice!