The 2026 slate is published, and before a down is played the calendar has picked sides: 69 of 272 games carry a rest gap of three or more days. Chicago drew the friendliest schedule (+15 net rest days, four big edges, zero deficits); the Chargers drew the harshest (-24, with four opponents arriving straight off byes). The full rest ledger, the bye map, the short weeks, a Wednesday opener — and 27 seasons of evidence on what a rest edge is actually worth.
By C. B. Zakarian · Published July 29, 2026
The 2026 schedule is out, and it is sitting in this site's data file right now: 272 regular-season rows, weeks 1 through 18, from a Wednesday-night curtain-raiser on September 9, 2026 to a final all-division Sunday on January 10, 2027. No games have been played, so there are no results to argue about — but a schedule is not a neutral document. Every row carries two fields, away_rest and home_rest, that record how many days each side will have had since its previous game. Add those up across a season and the calendar has already picked winners and losers of the rest battle, months before kickoff.
This page reads the whole file: every rest gap, every short week, every bye, every home stand, and the strange days (a Wednesday opener, a Christmas that falls on a Friday). Then it does the part previews usually skip — it checks 27 seasons of played games to see what a rest edge is actually worth, so the ledger comes with stakes attached.
For every team, take each of its 17 games and compute own rest minus opponent's rest, then sum the season. The result is a single number: how many extra (or missing) days of recovery the calendar hands each club relative to the teams it plays. Across the league it nets to exactly zero — one team's mini-bye is always another team's tired opponent — but it is distributed anything but evenly.
| Team | ≥3-day edges | ≥3-day deficits | Net mismatches | Season rest sum |
|---|---|---|---|---|
| Chicago | 4 | 0 | +4 | +15 |
| Buffalo | 3 | 0 | +3 | +14 |
| Dallas | 3 | 0 | +3 | +12 |
| Seattle | 3 | 2 | +1 | +9 |
| Washington | 2 | 0 | +2 | +9 |
| … 22 teams between … | ||||
| New Orleans | 1 | 3 | −2 | −7 |
| N.Y. Jets | 1 | 4 | −3 | −9 |
| Las Vegas | 1 | 3 | −2 | −13 |
| Philadelphia | 3 | 4 | −1 | −15 |
| L.A. Chargers | 2 | 6 | −4 | −24 |
Two reading notes. First, these are the file's own rest fields, but they are checkable: I recomputed every value from the game dates themselves — for all 512 non-opening rest values in the 2026 rows, days-since-last-game matches the published field exactly, zero discrepancies. (Walk one by hand: Philadelphia plays Dallas on Monday, October 26, then visits Washington on Sunday, November 1 — six days; the file says 6.) Second, the week-1 fields read 7 for everybody by convention, so the opener contributes nothing to any team's total; the ledger is built from weeks 2–18, where rest is real arithmetic on real dates.
The 272 games break down like this: 162 are dead even on rest, 41 more sit within a day or two, and 69 carry a gap of three days or more — 35 gaps of exactly 3, five of 4, one of 6, and 28 of the maximum 7. The rested side is the home team in 36 of the 69 and the visitor in 33, so the calendar's favors land on both sides of the stadium.
Almost every big gap is one of two structures. The seven-day gaps are the bye games: 27 of the 28 are a team on 14 days' rest meeting a team on the standard 7, and the odd one out is Philadelphia visiting Washington in week 8 on six days (off a Monday game) while Washington sits on 13 off its bye. All 28 land between week 6 and week 15, because that is where the byes live. The three-day gaps are mostly Thursday's gift: a team that plays on Thursday gets 10 days before its next Sunday game — a mini-bye — and whoever it meets that week on normal rest inherits a 10-versus-7 mismatch. Chicago's league-best ledger is built exactly this way: a +3 at Seattle off one mini-bye, +3 against Jacksonville off another, +3 against Detroit in week 17 courtesy of holiday scheduling, and a full +7 hosting New Orleans in week 11, straight off Chicago's own bye.
Six of the 69 are neither a bye-seven nor a clean mini-bye three: gaps of 4 to 6 days produced by Monday/Saturday/holiday combinations — the widest being Dallas visiting the Rams in week 15 on 13 days' rest against 7 (a 6-day edge for the Cowboys, their bye compounded by the Saturday calendar).
Flip to the other tail: games played on five or fewer days of rest. There are 39 such team-games in 2026, spread over 21 games — and in 18 of the 21, both sides are equally short (typically 4 and 4: the classic Sunday-to-Thursday turnaround for both clubs). The only asymmetric short weeks all fall on Christmas Day — a Friday in 2026 — and even those are one-day frictions (5 versus 6). The remarkable structural fact: not a single 2026 game pairs a team on ≤5 days' rest against a team holding a 3-plus-day edge. Every big mismatch is built from one side's long rest, never from one side alone being short. Whatever you think of Thursday football — and the scoreboard says it isn't the disaster of reputation — the 2026 slate at least makes its short weeks symmetric.
| Bye week | Teams | Who |
|---|---|---|
| Week 5 | 2 | Carolina, Kansas City (earliest) |
| Week 6 | 4 | Cincinnati, Detroit, Miami, Minnesota |
| Week 7 | 4 | Buffalo, Jacksonville, L.A. Chargers, Washington |
| Week 8 | 4 | Houston, New Orleans, N.Y. Giants, San Francisco |
| Week 9 | 2 | Pittsburgh, Tennessee |
| Week 10 | 4 | Chicago, Denver, Philadelphia, Tampa Bay |
| Week 11 | 6 | Atlanta, Cleveland, Green Bay, L.A. Rams, New England, Seattle |
| Week 12 | 0 | no byes |
| Week 13 | 4 | Baltimore, Indianapolis, Las Vegas, N.Y. Jets |
| Week 14 | 2 | Arizona, Dallas (latest) |
Each team's bye is simply the one week it is missing from the file, and the shape is a 10-week corridor with a bulge and a hole: six teams rest in week 11, none in week 12 — the league kept Thanksgiving week fully stocked. Carolina and Kansas City get theirs painfully early (week 5, then 13 straight games); Arizona and Dallas wait until week 14.
The fabled double edge — coming off your bye into an opponent on a short week — simply does not exist in 2026: no team's first game back is against an opponent on five or fewer days' rest. Twenty-eight of the 32 post-bye opponents sit on exactly 7 days; the exceptions are Washington (hosting Philadelphia on 6 — the closest thing to a double edge in the file), Tennessee (facing a Jacksonville side on a 10-day mini-bye, which blunts the edge), and Green Bay and the Rams, who exit their byes into each other on that even Wednesday. The schedule-makers spread the pain instead: Philadelphia and the Chargers each face four opponents coming straight off a bye, the league high, followed by Las Vegas and the Rams with three apiece. For the Eagles — who also absorb the year's only 13-versus-6, at Washington in week 8 — that is how a team with three rest edges of its own still ends up at −15 overall.
The −24 at the bottom of the chart is abstract until you walk it. Here is the Chargers' entire 2026 season, straight from the file — rest listed as L.A.'s days versus the opponent's:
| Wk | Date | Day | Opponent | Rest | Gap | Note |
|---|---|---|---|---|---|---|
| 1 | Sep 13 | Sun | vs Arizona | 7 v 7 | 0 | week-1 convention |
| 2 | Sep 20 | Sun | vs Las Vegas | 7 v 7 | 0 | division |
| 3 | Sep 27 | Sun | at Buffalo | 7 v 10 | −3 | Bills off a Thursday mini-bye |
| 4 | Oct 4 | Sun | at Seattle | 7 v 7 | 0 | |
| 5 | Oct 11 | Sun | vs Denver | 7 v 7 | 0 | division |
| 6 | Oct 18 | Sun | at Kansas City | 7 v 14 | −7 | Chiefs straight off their bye; division |
| 7 | BYE | |||||
| 8 | Nov 1 | Sun | at Rams | 14 v 7 | +7 | the Chargers' one big edge |
| 9 | Nov 8 | Sun | vs Houston | 7 v 14 | −7 | Texans off their bye |
| 10 | Nov 16 | Mon | at Baltimore | 8 v 11 | −3 | Ravens off a Thursday mini-bye |
| 11 | Nov 22 | Sun | vs N.Y. Jets | 6 v 7 | −1 | Monday-to-Sunday turnaround |
| 12 | Nov 29 | Sun | vs New England | 7 v 14 | −7 | Patriots off their bye |
| 13 | Dec 6 | Sun | at Tampa Bay | 7 v 6 | +1 | |
| 14 | Dec 13 | Sun | at Las Vegas | 7 v 14 | −7 | Raiders off their bye; division |
| 15 | Dec 17 | Thu | vs San Francisco | 4 v 4 | 0 | Thursday; both short |
| 16 | Dec 27 | Sun | at Miami | 10 v 7 | +3 | L.A. off the Thursday mini-bye |
| 17 | Jan 3 | Sun | vs Kansas City | 7 v 7 | 0 | division |
| 18 | Jan 10 | Sun | at Denver | 7 v 7 | 0 | division |
Count it up: four different opponents — Kansas City, Houston, New England, Las Vegas — meet the Chargers in their first game back from a bye, two more (Buffalo, Baltimore) arrive off Thursday mini-byes, and L.A.'s own compensations amount to one bye edge at the Rams and one mini-bye trip to Miami. Sum the column and you get −24, nine days worse than the next-poorest calendar (Philadelphia's −15). None of this says the Chargers will be bad; it says that four times this season, the team across the field will have spent an extra week preparing for them, and history (next section) prices exactly that situation.
Would any of this survive contact with actual football? The same file holds every played game since 1999, with the same rest fields. Take all 7,276 played games from 1999–2025, drop the 428 week-1 games (recorded 7-versus-7 by convention), and look at the 1,416 where one side held a 3-plus-day rest edge — the exact situation flagged 69 times in the 2026 slate:
| Rest gap (1999–2025) | Games | Rested side W-L-T | Win% | Avg margin |
|---|---|---|---|---|
| Exactly 3 days | 544 | 263-279-2 | 48.5% | +0.59 |
| 4 or more days | 872 | 484-386-2 | 55.6% | +1.94 |
| All 3+ (the headline) | 1,416 | 747-665-4 | 52.9% | +1.42 |
| 3+, regular season only | 1,320 | 679-637-4 | 51.6% | +1.01 |
Win% excludes the ties; margins are from the rested side's point of view.
The split is the finding. A 3-day edge, alone, has been worth nothing — the rested side actually lost more of those 544 games than it won. The value lives in the 4-plus bucket, which is mostly bye-versus-normal: 55.6% and about two points of margin. Decomposed against the usual baselines, a big-gap rested home team won 62% (margin +4.09, versus the +2.34 all-game norm from the home-field data), while a big-gap rested visitor held its road loss to −0.80 — nearly erasing home-field from the wrong side of the stadium. Those are precisely the numbers in this site's rest-and-scheduling explainer, which bucketed the same file by 4-plus-day gaps; the two pages reconcile exactly. (One honest flag: 96 of the 1,416 are playoff games, where the rested side is always a bye-earning home seed — it won 70.8% of those, but that is seeding quality as much as sleep, which is why the regular-season-only line is shown.)
Now map it back to 2026: of the 69 flagged games, the 35 three-day gaps are, on history, close to noise — but the 34 games with a 4-plus-day gap (28 of them full bye-sevens) sit squarely in the bucket history prices at roughly half a field goal. That reframes the ledger: Chicago's +15 includes three mini-bye threes and one seven; the Chargers' −24 is built almost entirely from the expensive kind — four sevens against, plus two threes. Same direction, but L.A.'s deficit is concentrated exactly where the historical effect is real.
roof = outdoors rows only; 13 late-season games at retractable-roof venues are honestly blank in the file, and an outdoor December date in Miami is not an outdoor December date in Buffalo.One public file: games.csv from nflverse nfldata, bundled at /data/games.csv. The 2026 schedule is the 272 season == 2026 regular-season rows; the history is everything played through 2025. The chart and the full console breakdown — ledger, byes, short weeks, stretches, reconciliation check, and the historical table — come from explainer_src/make_schedule_quirks_chart.py; the core fits in a screenful of pandas:
import pandas as pd
df = pd.read_csv("data_layer/games.csv")
s = df[(df.season == 2026) & (df.game_type == "REG")].copy() # 272 scheduled rows
s["rd"] = s.home_rest - s.away_rest
print(len(s), int((s.rd.abs() >= 3).sum())) # 272 69
net = {}
for _, r in s.iterrows():
net[r.home_team] = net.get(r.home_team, 0) + r.rd
net[r.away_team] = net.get(r.away_team, 0) - r.rd
print(sorted(net.items(), key=lambda kv: -kv[1])[:3]) # CHI +15, BUF +14, DAL +12
print(sorted(net.items(), key=lambda kv: kv[1])[:3]) # LAC -24, PHI -15, LV -13
byes = {t: (set(range(1, 19))
- set(s.loc[(s.home_team == t) | (s.away_team == t), "week"]))
for t in net} # each team: exactly one missing week
h = df[df.home_score.notna() & (df.season <= 2025)]
h = h[~((h.game_type == "REG") & (h.week == 1))].copy() # drop 428 week-1 double-7s
h["rd"] = h.home_rest - h.away_rest
big = h[h.rd.abs() >= 3]
won = ((big.rd > 0) & (big.result > 0)) | ((big.rd < 0) & (big.result < 0))
print(len(big), int(won.sum())) # 1416 747 -> 52.9% excl 4 ties
All figures on this page were computed 2026-07-29: the 2026 numbers from the file's 272 scheduled rows, the historical anchor from its 7,276 played games (1999–2025). If the league republishes any part of the schedule, rerun the script and this page's numbers regenerate from the file — nothing here is hand-entered.
Data: nflverse/nfldata, public. Rest fields are days since each team's previous game (7 by convention in week 1); all 512 checkable 2026 values reconcile with the game dates exactly.
Want the code behind these metrics? Work through the 45-chapter NFL analytics tutorial.
Browse tutorials Free tools