Goalies
Goalie Save % by Shot Class (Rebound, Rush, Cycle, Off the Draw)
2025-265-on-5Through 82 team games
Not every shot is equally hard. League-wide, goalies stop about .849 of rebound attempts, .896 of cycle shots, .931 of rush and transition shots and .950 of shots straight off an offensive-zone draw. A goalie who faces more rebounds is going to post a lower raw save percentage through no fault of his own.
This board sorts every unblocked shot against into those classes and ranks goalies by how far their save percentage beats the rate their own shot mix predicts. The class columns show where the gap comes from, with the ± column as a 95% interval.
Leader in 2025-26: Dan Vladar (PHI), +1.5 FSV% vs exp..
Save % by shot class leaderboard
| # | Goalie | Team | ±95% | Rebound SV% | Rush SV% | ||
|---|---|---|---|---|---|---|---|
| 1 | Dan VladarPHI | PHI | +1.5 | 1,568 | 1.0 | 90.8% | 92.2% |
| 2 | Scott WedgewoodCOL | COL | +1.5 | 1,317 | 1.1 | 92.9% | 93.2% |
| 3 | Anton ForsbergLAK | LAK | +1.4 | 1,168 | 1.2 | 90.8% | 91.7% |
| 4 | Jeremy SwaymanBOS | BOS | +1.4 | 1,813 | 1.0 | 89.0% | 97.3% |
| 5 | Philipp GrubauerSEA | SEA | +1.4 | 1,080 | 1.3 | 89.5% | 93.3% |
| 6 | Igor ShesterkinNYR | NYR | +1.3 | 1,659 | 1.0 | 88.0% | 96.7% |
| 7 | Logan ThompsonWSH | WSH | +1.2 | 1,904 | 1.0 | 86.2% | 94.4% |
| 8 | Casey DeSmithDAL | DAL | +1.1 | 916 | 1.4 | 80.6% | 94.6% |
| 9 | Justus AnnunenNSH | NSH | +0.9 | 876 | 1.5 | 82.4% | 94.0% |
| 10 | Jet GreavesCBJ | CBJ | +0.8 | 1,865 | 1.0 | 91.9% | 92.4% |
| 11 | Mackenzie BlackwoodCOL | COL | +0.7 | 1,138 | 1.3 | 85.9% | 85.1% |
| 12 | Ilya SorokinNYI | NYI | +0.7 | 1,851 | 1.0 | 90.1% | 93.3% |
| 13 | Jakub DobesMTL | MTL | +0.7 | 1,410 | 1.2 | 89.4% | 93.3% |
| 14 | Jesper WallstedtMIN | MIN | +0.7 | 1,208 | 1.3 | 89.1% | 97.8% |
| 15 | Alex LyonBUF | BUF | +0.7 | 1,171 | 1.3 | 85.2% | 91.4% |
| 16 | Joel HoferSTL | STL | +0.7 | 1,525 | 1.1 | 80.2% | 95.5% |
| 17 | Filip GustavssonMIN | MIN | +0.6 | 1,731 | 1.1 | 84.6% | 92.8% |
| 18 | Akira SchmidVGK | VGK | +0.6 | 1,059 | 1.4 | 84.2% | 98.2% |
| 19 | John GibsonDET | DET | +0.5 | 1,794 | 1.1 | 90.4% | 91.5% |
| 20 | Ukko-Pekka LuukkonenBUF | BUF | +0.5 | 1,095 | 1.4 | 87.1% | 94.0% |
| 21 | Joey DaccordSEA | SEA | +0.5 | 1,666 | 1.1 | 90.2% | 93.4% |
| 22 | Darcy KuemperLAK | LAK | +0.4 | 1,444 | 1.2 | 88.0% | 96.9% |
| 23 | Jake OettingerDAL | DAL | +0.4 | 1,605 | 1.1 | 86.1% | 95.7% |
| 24 | Andrei VasilevskiyTBL | TBL | +0.3 | 1,709 | 1.1 | 85.7% | 91.0% |
| 25 | Devin CooleyCGY | CGY | +0.3 | 994 | 1.5 | 88.6% | 90.3% |
| 26 | Spencer KnightCHI | CHI | +0.2 | 1,961 | 1.0 | 88.3% | 93.9% |
| 27 | Eric ComrieWPG | WPG | +0.2 | 819 | 1.6 | 87.7% | 86.0% |
| 28 | David RittichNYI | NYI | +0.2 | 926 | 1.5 | 89.6% | 90.7% |
| 29 | Stuart SkinnerEDM/PIT | EDM/PIT | +0.1 | 1,648 | 1.1 | 80.6% | 89.7% |
| 30 | Karel VejmelkaUTA | UTA | +0.1 | 1,952 | 1.1 | 77.3% | 91.3% |
| 31 | Connor HellebuyckWPG | WPG | +0.1 | 1,874 | 1.1 | 87.5% | 93.5% |
| 32 | Jake AllenNJD | NJD | −0.0 | 1,299 | 1.3 | 84.1% | 89.5% |
| 33 | Joseph WollTOR | TOR | −0.1 | 1,464 | 1.2 | 86.4% | 93.0% |
| 34 | Brandon BussiCAR | CAR | −0.2 | 1,063 | 1.5 | 86.5% | 89.0% |
| 35 | Linus UllmarkOTT | OTT | −0.2 | 1,423 | 1.3 | 81.4% | 92.8% |
| 36 | Alex NedeljkovicSJS | SJS | −0.2 | 1,234 | 1.3 | 86.3% | 95.5% |
| 37 | Connor IngramEDM | EDM | −0.2 | 942 | 1.6 | 83.3% | 92.5% |
| 38 | Joonas KorpisaloBOS | BOS | −0.2 | 980 | 1.5 | 92.9% | 95.4% |
| 39 | Lukas DostalANA | ANA | −0.3 | 1,838 | 1.1 | 89.2% | 92.1% |
| 40 | Dustin WolfCGY | CGY | −0.3 | 1,808 | 1.1 | 85.7% | 90.4% |
| 41 | Daniil TarasovFLA | FLA | −0.3 | 1,097 | 1.5 | 82.4% | 96.8% |
| 42 | Elvis MerzlikinsCBJ | CBJ | −0.5 | 981 | 1.6 | 90.2% | 93.6% |
| 43 | Tristan JarryEDM/PIT | EDM/PIT | −0.5 | 1,013 | 1.5 | 84.1% | 92.6% |
| 44 | Jonas JohanssonTBL | TBL | −0.5 | 768 | 1.7 | 93.9% | 88.7% |
| 45 | Jonathan QuickNYR | NYR | −0.6 | 840 | 1.7 | 79.2% | 88.9% |
| 46 | Juuse SarosNSH | NSH | −0.7 | 1,992 | 1.1 | 78.1% | 93.9% |
| 47 | Arturs SilovsPIT | PIT | −0.9 | 1,238 | 1.4 | 79.7% | 94.1% |
| 48 | Cam TalbotDET | DET | −1.0 | 983 | 1.6 | 83.3% | 88.9% |
| 49 | Jacob MarkstromNJD | NJD | −1.0 | 1,350 | 1.4 | 85.5% | 83.2% |
| 50 | Kevin LankinenVAN | VAN | −1.0 | 1,583 | 1.3 | 81.0% | 95.7% |
| 51 | Yaroslav AskarovSJS | SJS | −1.0 | 1,514 | 1.3 | 85.7% | 93.3% |
| 52 | Sergei BobrovskyFLA | FLA | −1.1 | 1,522 | 1.3 | 76.2% | 94.3% |
| 53 | Anthony StolarzTOR | TOR | −1.2 | 819 | 1.8 | 87.2% | 88.5% |
| 54 | Samuel ErssonPHI | PHI | −1.4 | 936 | 1.7 | 83.0% | 83.3% |
| 55 | Frederik AndersenCAR | CAR | −1.4 | 1,022 | 1.6 | 93.7% | 83.5% |
| 56 | Jordan BinningtonSTL | STL | −1.5 | 1,206 | 1.5 | 82.0% | 89.0% |
| 57 | Arvid SoderblomCHI | CHI | −1.6 | 960 | 1.7 | 87.0% | 90.2% |
Minimum sample: 738 shots (it scales with games played and sequence coverage). 41 below the minimum are hidden.
How to read it
Percentage points above expected. +1.0 means about one extra save per 100 unblocked shots compared with an average goalie facing the same mix.
How reliable is it?
Per-class splits are small samples; the overall adjustment is steadier. Use the ± interval: two goalies whose intervals overlap are not reliably different.
Shot classes and goalie splits →