NHL Player Stats: xG Leaders, Defense & Goalie Rankings
Explore skater offense, skater defense, and goalie performance side-by-side. Use the tabs to switch between leaderboards.
Want team context? Visit xG Analysis or NHL team pages.
Coverage note: NHL shift chart data is missing for a large share of games this season.
Metrics that rely on shift charts (lineup and defensive tables) may be incomplete or empty at certain filters.
If a team looks empty at 5v5, try a different lineup size, situation, or TOI cutoff.
Offense — Top 50 Skaters by xG
| # | Player | Team | GP | Shots | xG | Goals | S% | xG% |
|---|---|---|---|---|---|---|---|---|
| 1 | Connor McDavid | EDM | 58 | 323 | 38.9 | 34 | 10.5% | 87% |
| 2 | Jason Robertson | DAL | 58 | 305 | 31.6 | 36 | 11.8% | 114% |
| 3 | Nathan MacKinnon | COL | 55 | 322 | 30.8 | 41 | 12.7% | 133% |
| 4 | Kirill Kaprizov | MIN | 58 | 316 | 30.1 | 34 | 10.8% | 113% |
| 5 | Alex DeBrincat | DET | 57 | 318 | 29.8 | 30 | 9.4% | 101% |
| 6 | Dylan Larkin | DET | 58 | 272 | 29.5 | 26 | 9.6% | 88% |
| 7 | Tomas Hertl | VGK | 54 | 228 | 29.2 | 22 | 9.6% | 75% |
| 8 | Brandon Hagel | TBL | 50 | 237 | 28.8 | 27 | 11.4% | 94% |
| 9 | Jake Guentzel | TBL | 56 | 223 | 28.7 | 27 | 12.1% | 94% |
| 10 | Sam Reinhart | FLA | 55 | 252 | 28.6 | 29 | 11.5% | 101% |
| 11 | Auston Matthews | TOR | 52 | 292 | 27.8 | 28 | 9.6% | 101% |
| 12 | Wyatt Johnston | DAL | 57 | 214 | 27.8 | 32 | 15.0% | 115% |
| 13 | Tage Thompson | BUF | 58 | 305 | 27.5 | 32 | 10.5% | 116% |
| 14 | Jake DeBrusk | VAN | 57 | 242 | 27.1 | 14 | 5.8% | 52% |
| 15 | Cole Caufield | MTL | 57 | 272 | 26.8 | 36 | 13.2% | 134% |
| 16 | Zach Hyman | EDM | 40 | 177 | 26.7 | 23 | 13.0% | 86% |
| 17 | Seth Jarvis | CAR | 49 | 228 | 25.5 | 27 | 11.8% | 106% |
| 18 | John Tavares | TOR | 57 | 216 | 25.4 | 21 | 9.7% | 83% |
| 19 | Pavel Dorofeyev | VGK | 56 | 243 | 24.8 | 30 | 12.3% | 121% |
| 20 | Nikita Kucherov | TBL | 52 | 272 | 24.7 | 32 | 11.8% | 129% |
| 21 | Matt Boldy | MIN | 53 | 289 | 24.7 | 36 | 12.5% | 146% |
| 22 | Macklin Celebrini | SJS | 55 | 277 | 24.7 | 29 | 10.5% | 117% |
| 23 | Artturi Lehkonen | COL | 52 | 201 | 24.5 | 19 | 9.5% | 77% |
| 24 | Anders Lee | NYI | 58 | 223 | 24.4 | 11 | 4.9% | 45% |
| 25 | Nico Hischier | NJD | 52 | 219 | 24.0 | 19 | 8.7% | 79% |
| 26 | Leon Draisaitl | EDM | 55 | 264 | 23.7 | 31 | 11.7% | 131% |
| 27 | Timo Meier | NJD | 53 | 292 | 23.6 | 15 | 5.1% | 64% |
| 28 | Tim Stützle | OTT | 54 | 202 | 23.4 | 30 | 14.9% | 128% |
| 29 | Alex Ovechkin | WSH | 60 | 274 | 23.4 | 22 | 8.0% | 94% |
| 30 | Kyle Connor | WPG | 57 | 261 | 23.3 | 26 | 10.0% | 112% |
| 31 | Jordan Eberle | SEA | 53 | 194 | 22.9 | 20 | 10.3% | 87% |
| 32 | Andrei Svechnikov | CAR | 57 | 246 | 22.9 | 23 | 9.3% | 100% |
| 33 | Dylan Guenther | UTA | 56 | 283 | 22.8 | 27 | 9.5% | 119% |
| 34 | Bryan Rust | PIT | 49 | 216 | 22.2 | 20 | 9.3% | 90% |
| 35 | Juraj Slafkovský | MTL | 55 | 196 | 21.9 | 21 | 10.7% | 96% |
| 36 | Roope Hintz | DAL | 51 | 175 | 21.9 | 15 | 8.6% | 69% |
| 37 | Nick Schmaltz | UTA | 57 | 204 | 21.7 | 23 | 11.3% | 106% |
| 38 | Gabriel Vilardi | WPG | 53 | 177 | 21.6 | 23 | 13.0% | 106% |
| 39 | Steven Stamkos | NSH | 57 | 203 | 21.6 | 28 | 13.8% | 130% |
| 40 | Bo Horvat | NYI | 44 | 200 | 21.5 | 26 | 13.0% | 121% |
| 41 | Adrian Kempe | LAK | 56 | 256 | 21.5 | 26 | 10.2% | 121% |
| 42 | Mikko Rantanen | DAL | 53 | 201 | 21.4 | 23 | 11.4% | 108% |
| 43 | Tyler Bertuzzi | CHI | 53 | 184 | 21.3 | 25 | 13.6% | 117% |
| 44 | Clayton Keller | UTA | 58 | 235 | 21.3 | 17 | 7.2% | 80% |
| 45 | Owen Tippett | PHI | 56 | 232 | 21.2 | 19 | 8.2% | 90% |
| 46 | Mika Zibanejad | NYR | 56 | 238 | 21.1 | 23 | 9.7% | 109% |
| 47 | Jackson Blake | CAR | 53 | 184 | 21.0 | 18 | 9.8% | 86% |
| 48 | William Eklund | SJS | 49 | 184 | 21.0 | 12 | 6.5% | 57% |
| 49 | David Pastrnak | BOS | 51 | 269 | 20.9 | 22 | 8.2% | 105% |
| 50 | Adam Fantilli | CBJ | 54 | 228 | 20.7 | 14 | 6.1% | 68% |
S% = Shooting Percentage | xG% = Goals as percentage of Expected Goals
Defense — Top 50 Skaters (xGA/60)
| # | Player | Team | GP | TOI | xGA/60 | GA/60 | HDCA/60 | GSAX |
|---|---|---|---|---|---|---|---|---|
| 1 | Victor Olofsson | COL | 29 | 377.8 | 2.13 | 3.34 | 1.75 | -7.6 |
| 2 | Nick Cousins | OTT | 26 | 267.1 | 2.18 | 4.27 | 0.90 | -9.3 |
| 3 | Daniil But | UTA | 19 | 240.5 | 2.36 | 3.74 | 1.50 | -5.5 |
| 4 | Bobby Brink | PHI | 27 | 411.9 | 2.36 | 4.95 | 1.17 | -17.8 |
| 5 | Pontus Holmberg | TBL | 27 | 361.6 | 2.37 | 3.82 | 1.99 | -8.7 |
| 6 | David Perron | OTT | 23 | 310.2 | 2.39 | 6.38 | 1.55 | -20.6 |
| 7 | Barrett Hayton | UTA | 23 | 347.5 | 2.42 | 5.18 | 1.73 | -16.0 |
| 8 | Jordan Spence | OTT | 22 | 392.7 | 2.42 | 6.11 | 1.38 | -24.2 |
| 9 | 8482447 | OTT | 9 | 503.6 | 2.42 | 4.17 | 0.83 | -14.7 |
| 10 | Oliver Bjorkstrand | TBL | 29 | 405.6 | 2.44 | 4.73 | 1.78 | -15.5 |
| 11 | Nino Niederreiter | WPG | 27 | 363.1 | 2.50 | 4.46 | 1.16 | -11.9 |
| 12 | Marcus Johansson | MIN | 24 | 376.5 | 2.55 | 2.39 | 0.96 | +1.0 |
| 13 | Alex Steeves | BOS | 19 | 229.4 | 2.55 | 5.23 | 1.83 | -10.3 |
| 14 | Ross Colton | COL | 25 | 303.5 | 2.57 | 4.94 | 1.98 | -12.0 |
| 15 | Brandt Clarke | LAK | 27 | 513.6 | 2.58 | 3.50 | 1.05 | -7.9 |
| 16 | Mitch Marner | VGK | 28 | 563.6 | 2.58 | 4.05 | 1.38 | -13.8 |
| 17 | Zack Bolduc | MTL | 29 | 398.4 | 2.58 | 5.87 | 1.81 | -21.9 |
| 18 | Gabriel Landeskog | COL | 23 | 378.0 | 2.59 | 2.86 | 1.75 | -1.7 |
| 19 | Jayden Struble | MTL | 17 | 243.1 | 2.59 | 5.68 | 1.48 | -12.5 |
| 20 | Pyotr Kochetkov | CAR | 6 | 367.5 | 2.60 | 2.78 | 2.12 | -1.1 |
| 21 | 8478499 | VGK | 7 | 389.1 | 2.60 | 4.01 | 1.39 | -9.2 |
| 22 | Jordan Kyrou | STL | 19 | 290.4 | 2.61 | 5.99 | 1.65 | -16.4 |
| 23 | Logan Stankoven | CAR | 26 | 404.4 | 2.61 | 4.01 | 1.34 | -9.4 |
| 24 | Linus Ullmark | OTT | 14 | 801.4 | 2.62 | 2.99 | 1.35 | -5.1 |
| 25 | 8481033 | VGK | 13 | 736.0 | 2.62 | 2.28 | 1.30 | +4.1 |
| 26 | Mats Zuccarello | MIN | 17 | 316.6 | 2.62 | 4.36 | 2.08 | -9.2 |
| 27 | Ryan Hartman | MIN | 28 | 466.1 | 2.63 | 2.83 | 1.54 | -1.6 |
| 28 | Braeden Bowman | VGK | 23 | 317.9 | 2.66 | 6.42 | 0.57 | -19.9 |
| 29 | Sam Malinski | COL | 28 | 467.3 | 2.66 | 4.24 | 1.28 | -12.3 |
| 30 | Darcy Kuemper | LAK | 16 | 918.5 | 2.68 | 2.55 | 1.18 | +2.1 |
| 31 | Casey Mittelstadt | BOS | 25 | 377.7 | 2.68 | 4.13 | 1.59 | -9.2 |
| 32 | Tomas Hertl | VGK | 29 | 512.8 | 2.68 | 5.15 | 1.64 | -21.1 |
| 33 | 8475809 | COL | 14 | 776.6 | 2.69 | 2.24 | 1.16 | +5.8 |
| 34 | 8478435 | PHI | 15 | 844.2 | 2.70 | 2.77 | 1.28 | -1.1 |
| 35 | Andrei Vasilevskiy | TBL | 16 | 964.0 | 2.71 | 2.37 | 1.87 | +5.6 |
| 36 | Gage Goncalves | TBL | 25 | 296.3 | 2.72 | 4.66 | 1.62 | -9.5 |
| 37 | Nathan MacKinnon | COL | 28 | 636.8 | 2.73 | 3.86 | 1.79 | -12.0 |
| 38 | Kirill Kaprizov | MIN | 28 | 625.0 | 2.73 | 4.03 | 1.63 | -13.5 |
| 39 | Martin Necas | COL | 28 | 581.2 | 2.73 | 3.61 | 1.55 | -8.5 |
| 40 | Kaedan Korczak | VGK | 28 | 476.0 | 2.75 | 5.67 | 1.13 | -23.2 |
| 41 | Andrei Kuzmenko | LAK | 24 | 360.6 | 2.78 | 4.49 | 1.33 | -10.3 |
| 42 | Warren Foegele | LAK | 23 | 341.2 | 2.78 | 4.57 | 1.41 | -10.2 |
| 43 | Taylor Hall | CAR | 26 | 351.7 | 2.78 | 4.61 | 1.54 | -10.7 |
| 44 | Fabian Zetterlund | OTT | 27 | 399.2 | 2.79 | 5.11 | 1.80 | -15.4 |
| 45 | 8478971 | EDM | 7 | 390.8 | 2.79 | 2.61 | 0.61 | +1.2 |
| 46 | 8477970 | UTA | 7 | 413.1 | 2.79 | 3.20 | 1.74 | -2.8 |
| 47 | Michael Amadio | OTT | 26 | 415.9 | 2.80 | 5.05 | 2.16 | -15.6 |
| 48 | Owen Tippett | PHI | 30 | 486.7 | 2.81 | 5.42 | 1.85 | -21.2 |
| 49 | Kevin Fiala | LAK | 27 | 504.1 | 2.81 | 4.28 | 1.55 | -12.4 |
| 50 | Nikolas Matinpalo | OTT | 18 | 270.1 | 2.81 | 5.78 | 0.44 | -13.4 |
xGA/60 = expected goals against per 60 minutes (lower is better). GSAX = xG against − goals against (positive = better).
Goalies — Traditional Stats
| # | Goalie | Team | GP | SV% | GAA | GSAX/G | Total GSAX | Record | SO |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Jesper Wallstedt | MIN | 16 | 0.928 | 2.21 | +0.485 | +11.1 | 11-2-3 | 4 |
| 2 | Mackenzie Blackwood | COL | 16 | 0.924 | 2.07 | +0.483 | +10.1 | 13-1-1 | 4 |
| 3 | Jonathan Quick | NYR | 10 | 0.924 | 2.11 | -0.028 | -0.5 | 3-6-1 | 1 |
| 4 | Philipp Grubauer | SEA | 13 | 0.920 | 2.32 | +0.845 | +16.0 | 7-3-1 | 2 |
| 5 | Scott Wedgewood | COL | 24 | 0.919 | 2.13 | +0.395 | +12.6 | 17-1-4 | 2 |
| 6 | Joseph Woll | TOR | 14 | 0.914 | 2.74 | +0.353 | +8.8 | 8-4-1 | 1 |
| 7 | Devin Cooley | CGY | 13 | 0.914 | 2.40 | +0.852 | +13.6 | 4-4-2 | 1 |
| 8 | Logan Thompson | WSH | 29 | 0.913 | 2.39 | +0.789 | +31.5 | 15-11-3 | 2 |
| 9 | Darcy Kuemper | LAK | 24 | 0.913 | 2.27 | +0.238 | +8.6 | 10-7-6 | 3 |
| 10 | Andrei Vasilevskiy | TBL | 24 | 0.913 | 2.33 | +0.825 | +31.3 | 15-7-2 | 1 |
| 11 | Filip Gustavsson | MIN | 25 | 0.912 | 2.47 | +0.187 | +6.5 | 13-8-4 | 3 |
| 12 | Jake Allen | NJD | 21 | 0.912 | 2.52 | +0.671 | +18.8 | 11-8-1 | 1 |
| 13 | Casey DeSmith | DAL | 15 | 0.912 | 2.44 | +0.618 | +13.0 | 9-2-4 | 1 |
| 14 | Dennis Hildeby | TOR | 15 | 0.912 | 2.90 | +0.552 | +7.2 | 3-5-4 | 3 |
| 15 | Igor Shesterkin | NYR | 32 | 0.910 | 2.51 | +0.459 | +15.6 | 16-12-4 | 1 |
| 16 | Ilya Sorokin | NYI | 24 | 0.910 | 2.55 | +1.083 | +37.9 | 12-10-2 | 3 |
| 17 | Dan Vladar | PHI | 23 | 0.910 | 2.40 | +0.342 | +11.3 | 14-6-3 | 0 |
| 18 | Spencer Knight | CHI | 28 | 0.909 | 2.63 | +0.421 | +16.4 | 11-11-6 | 2 |
| 19 | Jet Greaves | CBJ | 26 | 0.909 | 2.62 | +0.503 | +17.6 | 11-10-5 | 0 |
| 20 | David Rittich | NYI | 17 | 0.909 | 2.46 | +0.530 | +12.2 | 10-5-2 | 2 |
| 21 | Jake Oettinger | DAL | 26 | 0.907 | 2.57 | +0.216 | +8.0 | 16-7-3 | 2 |
| 22 | Connor Hellebuyck | WPG | 22 | 0.907 | 2.51 | +0.349 | +12.6 | 9-10-3 | 0 |
| 23 | Alex Lyon | BUF | 21 | 0.906 | 2.82 | +0.636 | +15.9 | 10-6-3 | 2 |
| 24 | Tristan Jarry | EDM | 17 | 0.906 | 2.73 | +0.217 | +5.2 | 12-3-1 | 1 |
| 25 | Thatcher Demko | VAN | 17 | 0.905 | 2.72 | +0.325 | +6.5 | 8-8-0 | 1 |
| 26 | Jeremy Swayman | BOS | 28 | 0.903 | 2.84 | +0.565 | +20.9 | 15-10-2 | 0 |
| 27 | Joey Daccord | SEA | 24 | 0.903 | 2.77 | +0.157 | +5.3 | 10-9-5 | 2 |
| 28 | Ukko-Pekka Luukkonen | BUF | 13 | 0.903 | 2.46 | +0.330 | +6.9 | 7-5-1 | 0 |
| 29 | Dustin Wolf | CGY | 31 | 0.901 | 2.82 | +0.084 | +3.4 | 14-14-2 | 2 |
| 30 | Joel Hofer | STL | 22 | 0.901 | 2.87 | -0.014 | -0.4 | 8-8-2 | 3 |
| 31 | Brandon Bussi | CAR | 16 | 0.901 | 2.33 | +0.625 | +16.9 | 13-2-1 | 1 |
| 32 | Anton Forsberg | LAK | 15 | 0.901 | 2.70 | +0.189 | +3.8 | 6-6-3 | 1 |
| 33 | Daniil Tarasov | FLA | 13 | 0.899 | 2.96 | -0.095 | -1.7 | 4-6-2 | 1 |
| 34 | Juuse Saros | NSH | 31 | 0.897 | 2.93 | +0.052 | +2.3 | 15-13-3 | 0 |
| 35 | Yaroslav Askarov | SJS | 26 | 0.896 | 3.36 | -0.175 | -6.1 | 15-10-1 | 0 |
| 36 | Karel Vejmelka | UTA | 30 | 0.895 | 2.68 | +0.509 | +22.9 | 17-10-2 | 1 |
| 37 | Akira Schmid | VGK | 20 | 0.895 | 2.50 | -0.106 | -2.7 | 11-4-4 | 4 |
| 38 | Alex Nedeljkovic | SJS | 17 | 0.895 | 3.06 | +0.277 | +5.5 | 5-7-2 | 0 |
| 39 | Jonas Johansson | TBL | 17 | 0.894 | 2.83 | -0.121 | -2.2 | 9-6-1 | 0 |
| 40 | John Gibson | DET | 23 | 0.893 | 2.97 | +0.434 | +16.1 | 13-8-1 | 2 |