Below are contract predictions for all 2025 restricted free agents. For more information about the projections, head to the ‘About the Site’ page.
A few notes on the projections below:
- Only Players who played at least 10 NHL Games in 2024-25 will be listed (some exceptions can apply).
- Players can have several different projections listed, if multiple lengths were designated as possibilities. The most likely term is bolded, with the next most-likely lengths being italicized.
- The age listed for each RFA is based on how old the player will be by Dec. 31 of this year.
- If a player is projected to receive a one or two-year deal at less than a $1M cap hit (regardless of whether they receive a qualifying offer), the projection will be shown as: <$1.00M x 1/2 Years
- All projections are based on a $95.5M salary cap, which was set for the 2025-26 season.
- Once a player’s deal is signed, it’ll be listed in the far right column.
For any players designated as a Top 50 Free Agent: their projection will be listed in the Top 50 Free Agents page. Each of the top 50 free agents this year will have a spotlight article released, detailing more information on their contract projection. If a player signs an extension before the article is released, an analysis article will be posted instead. Once a Top-50 Free Agent signs, we will list the projection made for that term.
Advertisements
| Player | Pos. | Age | Team | Projection:Cap Hit + Term | Signed:Cap Hit + Term |
| Sam Colangelo | RW | 24 | ANA | $1.67M x 3 $1.35M x 2 $0.87M x 1 | $0.85M x 2 |
| Lukas Dostal | G | 25 | ANA | Top-50 Free Agent | $6.50M x 5 |
| Drew Helleson | RD | 24 | ANA | $2.00M x 3 $1.40M x 2 $1.00M x 1 | $1.10M x 2 |
| Brett Leason | RW | 26 | ANA | $1.30M x 2 $1.15M x 1 $0.90M x 1 (No QO) | $0.78M x 1 (WSH) |
| Isac Lundestrom | C | 26 | ANA | $1.83M x 3 $1.50M x 2 $1.50M x 1 (QO) $1.00M x 1 (No QO) | $1.30M x 2 (CBJ) |
| Mason McTavish | C | 22 | ANA | Top-50 Free Agent | $7.00M x 6 |
| Nikita Nesterenko | C | 24 | ANA | <$1.00M x 1/2 | $0.79M x 2 |
| John Beecher | C | 24 | BOS | $1.25M x 3 $1.00M x 2 $0.90M x 1 | $0.90M x 1 |
| Morgan Geekie | RW | 27 | BOS | View Analysis | $5.50M x 6 |
| Marat Khusnutdinov | C | 23 | BOS | $1.25M x 3 $1.00M x 2 $0.90M x 1 | $0.93M x 2 |
| Jakub Lauko | LW | 25 | BOS | $1.10M x 3 $1.00M x 2 $0.85M x 1 | |
| Mason Lohrei | LD | 24 | BOS | View Analysis | $3.20M x 2 |
| Ian Mitchell | RD | 25 | BOS | <$1.00M x 1/2 | $0.78M x 1 (DET) |
| Oliver Wahlstrom | RW | 25 | BOS | <$1.00M x 1/2 | |
| Jacob Bernard-Docker | RD | 25 | BUF | $1.50M x 3 $1.25M x 2 $1.00M x 1 | $0.88M x 1 (DET) |
| Erik Brannstrom | LD | 26 | BUF | <$1.00M x 1/2 | |
| Bowen Byram | LD | 24 | BUF | Top-50 Free Agent | $6.25M x 2 |
| Tyson Kozak | C | 23 | BUF | <$1.00M x 1/2 | $0.78M x 3 |
| Devon Levi | G | 24 | BUF | $1.50M x 3 $1.00M x 2 $0.90M x 1 | $0.81M x 2 |
| Ryan McLeod | C | 26 | BUF | Top-50 Free Agent | $5.00M x 4 |
| Jack Quinn | RW | 24 | BUF | $4.17M x 3 $3.50M x 2 $1.00M x 1 | $3.38M x 2 |
| J.J. Peterka | LW | 23 | BUF | View Analysis | $7.70M x 5 (UTA) |
| Kevin Bahl | LD | 25 | CGY | View Analysis | $5.35M x 6 |
| Matt Coronato | RW | 23 | CGY | View Analysis | $6.50M x 7 |
| Morgan Frost | C | 26 | CGY | $4.50M x 3 $4.00M x 2 $3.50M x 1 | $4.38M x 2 (CGY) |
| Adam Klapka | RW | 25 | CGY | <$1.00M x 1/2 | $1.25M x 2 |
| Connor Zary | C | 24 | CGY | $5.30M x 5 $4.50M x 4 $3.67M x 3 $3.10M x 2 $1.00M x 1 | $3.78M x 3 |
| Louis Crevier | RD | 24 | CHI | <$1.00M x 1/2 | $0.90M x 2 |
| Wyatt Kaiser | LD | 23 | CHI | $1.25M x 3 $1.00M x 2 $0.87M x 1 | $1.70M x 2 |
| Philipp Kurashev | LW | 26 | CHI | $2.25M x 2 $2.25M x 1 (QO) $1.10M x 1 (NO QO) | $1.20M x 1 (SJS) |
| Arvid Soderblom | G | 26 | CHI | $2.67M x 3 $2.10M x 2 $1.50M x 1 | $2.75M x 2 |
| Sam Malinski | RD | 27 | COL | $1.85M x 3 $1.30M x 2 $1.00M x 1 | $1.40M x 1 |
| Jordan Harris | LD | 25 | CBJ | $1.00M x 2 $1.40M x 1 (QO) $0.90M x 1 (No QO) | $0.83M x 1 (BOS) |
| Mikael Pyyhtia | LW | 24 | CBJ | <$1.00M x 1/2 | $0.78M x 1 |
| Daniil Tarasov | G | 26 | CBJ | $1.00M x 2 $1.26M x 1 (QO) $0.95M x 1 (No QO) | $1.05M x 1 (FLA) |
| Dmitri Voronkov | LW | 25 | CBJ | Top-50 Free Agent | $4.18M x 2 (CBJ) |
| Mavrik Bourque | C | 23 | DAL | $2.00M x 3 $1.60M x 2 $0.87M x 1 | $0.95M x 1 |
| Nils Lundkvist | RD | 25 | DAL | $1.25M x 2 $1.25M x 1 (QO) $0.90M x 1 (No QO) | $1.25M x 1 |
| Jonatan Berggren | RW | 25 | DET | $3.00M x 4 $2.50M x 3 $2.00M x 2 $1.35M x 1 | $1.83M x 1 |
| Albert Johansson | LD | 24 | DET | $2.00M x 3 $1.35M x 2 $1.00M x 1 | $1.13M x 2 |
| Elmer Soderblom | LW | 25 | DET | <$1.00M x 1/2 | $1.13M x 2 |
| Evan Bouchard | RD | 26 | EDM | Top-50 Free Agent | $10.50M x 4 |
| Noah Philp | C | 27 | EDM | <$1.00M x 1/2 | $0.78M x 1 |
| Tobias Bjornfot | LD | 24 | FLA | <$1.00M x 1/2 | $0.78M x 1 |
| Mackie Samoskevich | RW | 23 | FLA | $2.50M x 3 $1.85M x 2 $1.00M x 1 | $0.78M x 1 |
| Alex Laferriere | RW | 24 | LAK | Top-50 Free Agent | $4.10M x 3 |
| Declan Chisholm | LD | 25 | MIN | $2.00M x 3 $1.40M x 2 $1.15M x 1 | $1.60M x 2 (WSH) |
| Marco Rossi | C | 24 | MIN | Top-50 Free Agent | $5.00M x 3 |
| Jakub Dobes | G | 24 | MTL | $2.50M x 4 $2.00M x 3 $1.50M x 2 $1.00M x 1 | $0.97M x 2 |
| Emil Heineman | LW | 24 | MTL | $1.40M x 3 $1.15M x 2 $0.87M x 1 | $1.10M x 2 (NYI) |
| Cayden Primeau | G | 26 | MTL | <$1.00M x 1/2 | $0.78M x 1 (CAR) |
| Jayden Struble | LD | 24 | MTL | $1.85M x 3 $1.35M x 2 $1.00M x 1 | $1.41M x 2 |
| Luke Evangelista | RW | 23 | NSH | $3.83M x 3 $3.25M x 2 $1.00M x 1 | $3.00M x 2 |
| Cody Glass | C | 26 | NJD | $2.50M x 2 $2.50M x 1 (QO) $1.40M x 1 (No QO) | $2.50M x 2 (NJD) |
| Luke Hughes | LD | 22 | NJD | Top-50 Free Agent | $9.00M x 7 |
| Adam Boqvist | RD | 25 | NYI | $1.00M x 3 <$1.00M x 1/2 | $0.85M x 1 |
| Noah Dobson | RD | 25 | NYI | View Analysis | $9.50M x 8 (MTL) |
| Marc Gatcomb | C | 26 | NYI | <$1.00M x 1/2 | $0.90M x 1 |
| Simon Holmstrom | LW | 24 | NYI | Top-50 Free Agent | $3.63M x 2 (NYI) |
| Scott Perunovich | LD | 27 | NYI | $1.10M x 2 $1.15M x 1 (QO) $0.90M x 1 (No QO) | $0.78M x 1 (UTA) |
| Alexander Romanov | LD | 25 | NYI | Top-50 Free Agent | $6.25M x 8 (NYI) |
| Maxim Tsyplakov | LW | 26 | NYI | $3.50M x 4 $3.00M x 3 $2.50M x 2 $2.00M x 1 | $2.25M x 2 |
| Will Cuylle | LW | 23 | NYR | Top-50 Free Agent | $3.90M x 2 |
| Adam Edstrom | C | 25 | NYR | $1.10M x 3 $1.00M x 2 $0.90M x 1 | $0.98M x 2 |
| Zac Jones | LD | 25 | NYR | $1.25M x 2 $1.00M x 1 | $0.90M x 1 (BUF) |
| Arthur Kaliyev | RW | 24 | NYR | <$1.00M x 1/2 | $0.78M x 1 (OTT) |
| K’Andre Miller | LD | 25 | NYR | Top-50 Free Agent | $7.50M x 8 (CAR) |
| Matt Rempe | RW | 23 | NYR | $1.00M x 3 <$1.00M x 1/2 | $0.98M x 2 |
| Tyler Kleven | LD | 23 | OTT | $1.50M x 3 $1.25M x 2 $0.87M x 1 | $1.60M x 2 |
| Leevi Merilainen | G | 23 | OTT | $1.67M x 3 $1.20M x 2 $0.81M x 1 | $1.05M x 1 |
| Fabian Zetterlund | LW | 26 | OTT | $5.00M x 5 $4.63M x 4 $4.33M x 3 $4.00M x 2 $3.50M x 1 | $4.28M x 3 |
| Noah Cates | C | 26 | PHI | $4.80M x 5 $4.50M x 4 $4.25M x 3 $3.75M x 2 $3.50M x 1 | $4.00M x 4 |
| Tyson Foerster | RW | 23 | PHI | $4.00M x 3 $3.38M x 2 $1.00M x 1 | $3.75M x 2 |
| Jakob Pelletier | LW | 24 | PHI | $1.83M x 3 $1.50M x 2 $1.00M x 1 | $0.78M x 3 (TBL) |
| Cam York | LD | 24 | PHI | Top-50 Free Agent | $5.15M x 5 |
| Emil Bemstrom | C | 26 | PIT | <$1.00M x 1/2 | |
| Connor Dewar | LW | 26 | PIT | $1.67M x 3 $1.30M x 2 $1.10M x 1 | $1.10M x 1 |
| Pierre-Olivier Joseph | LD | 26 | PIT | $1.00M x 2 $0.98M x 1 (QO) $0.80M x 1 (No QO) | $0.78M x 1 (VAN) |
| Philip Tomasino | RW | 24 | PIT | $3.33M x 3 $2.75M x 2 $1.30M x 1 | $1.75M x 1 |
| Conor Timmins | RD | 27 | PIT | $1.40M x 2 $1.10M x 1 (QO) $0.95M x 1 (No QO) | $2.20M x 2 (BUF) |
| Noah Gregor | LW | 27 | SJS | <$1.00M x 1/2 | $0.78M x 1 (FLA) |
| Danil Gushchin | LW | 23 | SJS | <$1.00M x 1/2 | $0.78M x 1 (COL) |
| Klim Kostin | LW | 26 | SJS | $1.00M x 2 $2.20M x 1 (No QO) $0.95M x 1 | |
| Nikolai Kovalenko | RW | 26 | SJS | $1.75M x 3 $1.30M x 2 $1.00M x 1 | |
| Shakir Mukhamadullin | LD | 23 | SJS | $1.30M x 2 $0.87M x 1 | $1.00M x 1 |
| Jack Thompson | RD | 23 | SJS | $1.00M x 2 $0.85M x 1 | $0.80M x 1 |
| Ryker Evans | LD | 24 | SEA | $5.00M x 6 $4.50M x 5 $4.00M x 4 $3.50M x 3 $3.00M x 2 $1.30M x 1 | $2.05M x 2 |
| Cale Fleury | RD | 27 | SEA | <$1.00M x 1/2 | $0.89M x 2 |
| Kaapo Kakko | RW | 24 | SEA | Top-50 Free Agent | $4.53M x 3 |
| Ty Kartye | LW | 24 | SEA | $1.45M x 3 $1.20M x 2 $0.90M x 1 | $1.25M x 2 |
| Joel Hofer | G | 25 | STL | $4.50M x 5 $4.00M x 4 $3.33M x 3 $2.75M x 2 $1.75M x 1 | $3.40M x 2 |
| Gage Goncalves | C | 24 | TBL | $1.75M x 3 $1.30M x 2 $0.90M x 1 | $1.20M x 2 |
| Pontus Holmberg | C | 26 | TOR | $2.50M x 4 $2.17M x 3 $1.75M x 2 $1.50M x 1 | $1.55M x 2 (TBL) |
| Matthew Knies | LW | 23 | TOR | View Analysis | $7.75M x 6 |
| Nicholas Robertson | LW | 24 | TOR | $3.00M x 4 $2.50M x 3 $2.00M x 2 $1.35M x 1 | $1.83M x 1 |
| Jack McBain | C | 25 | UTA | $3.50M x 4 $3.17M x 3 $2.75M x 2 $1.80M x 1 | $4.25M x 5 |
| Arshdeep Bains | LW | 24 | VAN | <$1.00M x 1/2 | $0.78M x 2 |
| Aatu Raty | C | 23 | VAN | <$1.00M x 1/2 | $0.78M x 2 |
| Max Sasson | C | 25 | VAN | <$1.00M x 1/2 | $0.78M x 1 |
| Nicolas Hague | LD | 27 | VGK | $4.25M x 5 $4.00M x 4 $3.50M x 3 $3.00M x 2 $2.70M x 1 | $5.50M x 4 (NSH) |
| Alexander Holtz | RW | 23 | VGK | <$1.00M x 1/2 | $0.84M x 2 |
| Cole Schwindt | RW | 24 | VGK | <$1.00M x 1/2 | $0.83M x 1 |
| Hendrix Lapierre | C | 23 | WSH | $1.25M x 2 $0.87M x 1 | $0.85M x 1 |
| Morgan Barron | C | 27 | WPG | $1.83M x 3 $1.50M x 2 $1.40M x 1 | $1.85M x 2 |
| Ramsus Kupari | C | 25 | WPG | $1.25M x 3 $1.10M x 2 $1.10M x 1 (QO) $0.90M x 1 (No QO) | |
| Dylan Samberg | LD | 26 | WPG | Top-50 Free Agent | $5.75M x 3 |
| Gabriel Vilardi | RW | 26 | WPG | Top-50 Free Agent | $7.50M x 6 |