Hockey Terminal
Be a GM

← All players

Photo of Tom Willander

Tom Willander

#5 · Defence · Vancouver Canucks

Born Feb 9, 2005 in Stockholm, SWE (age 21) · 6'1", 180 lb · Shoots right · Drafted 11th overall in 2023 by VAN (round 1)

Compare with a similar player

The defencemen closest to him in points in 2025-26. Pick one to see the two side by side, or choose someone else.

Axel Sandin-Pellikka DET · 21 P in 68 GP Alex Vlasic CHI · 21 P in 81 GP Ryan McDonagh TBL · 21 P in 48 GP Alexandre Carrier MTL · 22 P in 73 GP Pavel Mintyukov ANA · 22 P in 73 GP

Career

Regular season games only. Pick a season to see its game log below. Cap hit is what he counted against the salary cap that season, where it is known.

051015202025-26: 21 points2125-262026-27: 3 points326-27

Points by season. The darker bar is the season shown below.

Season Team GP G A P +/- PIM Shots Hits P/GP Cap hit
2025-26 VAN 70 5 16 21 -23 28 59 35 0.30 $950K
2026-27 VAN 7 0 3 3 0 4 4 1 0.43 $973K
2 seasons Career 77 5 19 24 -23 32 63 36 0.31

2025-26 season totals

GP G A P +/- PIM Shots Hits P/GP Shooting % Avg TOI
70 5 16 21 -23 28 59 35 0.30 8.5 16:59

Contract

$950KCap hitends in 2028
$45KCap dollars per point21 points in 70 games
-$2.7MWorth at the going ratewhat teams paid for a season like his
-$3.7MValueworth minus cap hit; below zero is overpaid

His cap hit for the whole season, set against what he did in the regular season. Lower is better value. In a season still being played the cost per point starts high and falls as the games add up. He rated at or below a spare-part player, so there is no cost per goal to show. Value is coloured by where it ranks among the 715 ranked skaters whose contract is known. How value is worked out.

The contract

Signed by the Vancouver Canucks on May 15, 2025, as an entry-level contract: 3 years, beginning in 2025-26. It runs through 2027-28, with 2 seasons left after this one.

Season Cap hit
2025-26 $950K
2026-27 $973K
2027-28 $950K

Each season left on the contract. Only its cap hit and its end are known: how the pay is split by season, and any signing bonus, are not.

Contracts he has signed

Signed Signed by Kind Seasons Years In all Cap hit
May 15, 2025 Vancouver Canucks Entry-level 2025-26 to 2027-28 3 $950K

Every contract on record for him, newest first, with the team that signed him to it and the day it was signed. The one covering 2025-26 is marked. An extension is signed while the contract before it is still running, often a year ahead. A row with no team or date is a contract known only by its cap hit, most often one signed since October 2024.

2025-26 analytics

Rating

-4.1Goals above replacement700th of 715 skaters, 231st of 239 defencemen
-0.7Wins above replacementgoals above replacement divided by six
-8.1Goals above averagethe five parts below added up

Each number is coloured by where it ranks among the 239 ranked defencemen: green is in the top fifth and red the bottom fifth, with paler shades in between and amber for the middle. Hover over a tile for its percentile.

Even-strength offence-3.6 13th percentileEven-strength defence-3.5 7th percentilePower play-0.9 8th percentilePenalty kill+0.0 54th percentilePenalties-0.2 68th percentile

The goals he added to his team's goal difference, compared with a spare-part player given the same ice time. Each part is measured against the league, so zero is an average skater, and the rank beside it is among defencemen. A full season is about two-thirds the player and one-third chance.

-8-6-4-202025-262026-27Goals above replacementGoals above replacement, by season

On the ice

What happened at five-on-five while he was on the ice. What these numbers mean

43.4Corsi for %801 attempts for, 1043 against
-5.4CF% relative to teamagainst the team without him
38.5Expected goals for %33.8 expected for, 54.0 against
-5.0xGF% relative to teamagainst the team without him
42.3Fenwick for %unblocked attempts
37.6Goals for %35 for, 58 against
98.5PDO9.8% shooting + 88.6% saves
122Attempts takenhis own shot attempts

Each share is coloured by where it ranks among the 615 skaters who played enough to be ranked: green is in the top fifth and red the bottom fifth, with paler shades in between and amber for the middle. Hover over a tile for its percentile. PDO and attempts taken are left plain, since neither is good or bad on its own.

Who he played with

Defence pairGPTimeCF%xGF%Goals
Marcus Pettersson · Tom Willander67604:4443.439.022-36
Elias Pettersson · Tom Willander48161:4941.538.18-6
Tom Willander · Zeev Buium3785:5040.732.22-6
Quinn Hughes · Tom Willander1750:5348.845.40-3

The pairs he spent the most time in at five-on-five, with the team's share of the shot attempts and expected goals, and the goals for and against, while they were out. The two shares are coloured as above, against the league's pairs that played a fair amount together. Hover over one for its percentile.

Chances and finishing

Expected goals adds up how likely each of his shots was to go in, judged by where it came from, what kind of shot it was and whether it was a rebound. All situations, leaving out shots at an empty net.

5Goalsnot counting empty-netters
3.2Expected goalsfrom 100 unblocked attempts
+1.8Goals above expectedgoals minus expected goals
Chances created 0.16 expected goals per 60 minutes42nd
Shot quality 3.2% chance per attempt44th
Finishing +1.8 goals above expected82ndOne season of finishing is mostly luck.

Each bar shows the share of defencemen he is ahead of, among the 240 who played 300 minutes or more this season.

012345Game 20Game 40Game 60Goals 5Expected 3.2

His goals and his expected goals as the season went on. When the goals line pulls away above, he is scoring more than his chances were worth; below, less.

Where he shot from

Every attempt he took this season, in all situations, attacking the net on the right. There is a dot for each attempt, bigger for a better chance. "Show as heat map" shades the ice by where the attempts came from. Click a goal for its details.

Game log

Date Opponent Result G A P +/- PIM Shots Hits TOI
Apr 16, 2026 @ EDM L 1-6 0 0 0 -3 0 0 1 17:29
Apr 14, 2026 vs LAK W 4-3 (OT) 0 1 1 -2 0 3 3 21:20
Apr 12, 2026 @ ANA W 4-3 (OT) 0 0 0 0 0 1 2 22:03
Apr 11, 2026 @ SJS W 4-3 (SO) 0 0 0 -1 0 1 1 18:45
Apr 9, 2026 @ LAK L 1-4 0 0 0 -2 0 0 1 18:48
Apr 7, 2026 vs VGK L 1-2 0 0 0 1 0 0 1 21:09
Apr 4, 2026 vs UTA L 4-7 0 0 0 -2 0 1 1 19:14
Apr 2, 2026 @ MIN L 2-5 1 0 1 0 0 2 0 22:48
Apr 1, 2026 @ COL W 8-6 0 1 1 2 0 0 2 18:57
Mar 30, 2026 @ VGK L 2-4 0 0 0 0 0 1 2 22:05
Mar 28, 2026 @ CGY L 3-7 0 0 0 -1 0 2 5 18:10
Mar 26, 2026 vs LAK L 0-4 0 0 0 -1 10 0 1 21:29
Mar 24, 2026 vs ANA L 3-5 0 0 0 0 0 1 0 19:54
Mar 21, 2026 vs STL L 1-3 0 0 0 0 0 0 0 18:02
Mar 19, 2026 vs TBL L 2-6 0 0 0 -2 0 1 0 17:40
Mar 17, 2026 vs FLA W 5-2 0 1 1 1 0 1 0 20:07
Mar 14, 2026 vs SEA L 2-5 0 0 0 -2 4 1 0 19:52
Mar 12, 2026 vs NSH W 4-3 (SO) 0 0 0 -1 0 0 0 23:04
Mar 9, 2026 vs OTT L 0-2 0 0 0 0 0 0 0 20:10
Mar 7, 2026 @ WPG L 2-3 (OT) 0 0 0 2 0 0 2 20:55
Mar 6, 2026 @ CHI W 6-3 0 1 1 1 2 1 0 21:43
Mar 4, 2026 vs CAR L 4-6 0 0 0 -1 0 0 2 18:51
Mar 2, 2026 vs DAL L 1-6 0 0 0 -2 2 0 0 22:33
Feb 28, 2026 @ SEA L 1-5 0 0 0 -1 0 3 0 21:20
Feb 25, 2026 vs WPG L 2-3 (OT) 0 0 0 -2 0 0 0 19:08
Feb 4, 2026 @ VGK L 2-5 0 0 0 -1 0 1 0 20:11
Feb 2, 2026 @ UTA L 2-6 0 0 0 -1 0 0 2 17:59
Jan 31, 2026 vs TOR L 2-3 (SO) 1 0 1 1 0 2 0 16:00
Jan 29, 2026 vs ANA W 2-0 0 0 0 0 0 0 0 15:32
Jan 27, 2026 vs SJS L 2-5 1 0 1 1 0 2 1 16:35
Jan 23, 2026 vs NJD L 4-5 0 1 1 1 2 0 0 13:15
Jan 21, 2026 vs WSH W 4-3 0 1 1 3 0 1 1 17:23
Jan 19, 2026 vs NYI L 3-4 0 0 0 0 0 1 0 13:10
Jan 17, 2026 vs EDM L 0-6 0 0 0 -2 0 1 0 18:23
Jan 15, 2026 @ CBJ L 1-4 0 0 0 0 0 2 0 15:36
Jan 12, 2026 @ MTL L 3-6 0 0 0 -2 0 1 0 18:32
Jan 10, 2026 @ TOR L 0-5 0 0 0 -1 0 0 0 18:14
Jan 8, 2026 @ DET L 1-5 0 0 0 -2 0 0 1 17:37
Jan 6, 2026 @ BUF L 3-5 0 0 0 -1 2 1 0 16:40
Jan 3, 2026 vs BOS L 2-3 (OT) 0 0 0 -1 0 2 1 21:07
Jan 2, 2026 vs SEA L 3-4 (SO) 0 1 1 -1 0 1 0 18:32
Dec 30, 2025 vs PHI L 3-6 1 0 1 0 0 4 0 17:32
Dec 29, 2025 @ SEA W 3-2 (SO) 0 1 1 0 0 1 0 15:23
Dec 27, 2025 vs SJS L 3-6 0 0 0 -3 0 2 0 15:52
Dec 22, 2025 @ PHI L 2-5 0 0 0 -1 0 0 1 15:38
Dec 20, 2025 @ BOS W 5-4 (SO) 0 0 0 2 0 0 0 17:06
Dec 19, 2025 @ NYI W 4-1 0 1 1 0 2 1 1 14:02
Dec 16, 2025 @ NYR W 3-0 0 0 0 0 0 0 0 12:20
Dec 14, 2025 @ NJD W 2-1 0 0 0 0 0 1 0 13:18
Dec 11, 2025 vs BUF L 2-3 0 0 0 -1 2 1 0 12:04
Dec 8, 2025 vs DET L 0-4 0 0 0 -1 0 1 0 15:00
Dec 6, 2025 vs MIN W 4-2 1 1 2 3 0 2 0 13:18
Dec 5, 2025 vs UTA L 1-4 0 0 0 0 0 1 0 13:53
Dec 2, 2025 @ COL L 1-3 0 0 0 0 0 1 0 13:49
Nov 29, 2025 @ LAK L 1-2 (OT) 0 0 0 0 0 1 0 13:21
Nov 28, 2025 @ SJS L 2-3 0 1 1 1 0 0 0 13:52
Nov 26, 2025 @ ANA W 5-4 0 2 2 0 0 0 0 14:48
Nov 23, 2025 vs CGY L 2-5 0 0 0 -2 0 2 2 14:00
Nov 20, 2025 vs DAL L 2-4 0 0 0 0 0 0 0 10:12
Nov 17, 2025 @ FLA L 5-8 0 1 1 -1 0 0 0 11:50
Nov 16, 2025 @ TBL W 6-2 0 0 0 0 0 0 0 14:40
Nov 14, 2025 @ CAR L 3-4 (OT) 0 0 0 1 0 1 0 16:21
Nov 11, 2025 vs WPG L 3-5 0 0 0 -1 0 0 0 14:38
Nov 9, 2025 vs COL L 4-5 (OT) 0 0 0 0 2 0 0 11:41
Nov 8, 2025 vs CBJ W 4-3 0 0 0 0 0 1 0 10:48
Nov 5, 2025 vs CHI L 2-5 0 1 1 1 0 1 0 14:39
Nov 3, 2025 @ NSH W 5-4 (OT) 0 1 1 1 0 0 0 10:52
Nov 1, 2025 @ MIN L 2-5 0 0 0 -1 0 1 0 16:08
Oct 30, 2025 @ STL W 4-3 (SO) 0 0 0 1 0 1 0 19:12
Oct 28, 2025 vs NYR L 0-2 0 0 0 0 0 2 1 12:37