Hockey Terminal
Be a GM

← All players

Photo of Henri Jokiharju

Henri Jokiharju

#20 · Defence · Boston Bruins

Born Jun 17, 1999 in Oulu, FIN (age 27) · 6'0", 194 lb · Shoots right · Drafted 29th overall in 2017 by CHI (round 1)

Compare with a similar player

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

Marc-Edouard Vlasic SJS · 15 P in 70 GP Radko Gudas WSH · 15 P in 63 GP Michael Del Zotto ANA · 15 P in 49 GP Justin Faulk STL · 16 P in 69 GP Brenden Dillon WSH · 14 P in 69 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.

051015202018-19: 12 points1218-192019-20: 15 points1519-202020-21: 8 points820-212021-22: 19 points1921-222022-23: 13 points1322-232023-24: 20 points2023-242024-25: 10 points1024-252025-26: 15 points1525-26

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

Season Team GP G A P +/- PIM Shots Hits P/GP Cap hit
2018-19 CHI 38 0 12 12 -7 16 62 48 0.32 $925K
2019-20 BUF 69 4 11 15 -6 32 78 74 0.22 $925K
2020-21 BUF 46 3 5 8 -11 4 50 47 0.17 $925K
2021-22 BUF 60 3 16 19 -8 20 83 73 0.32 $2.5M
2022-23 BUF 60 3 10 13 -12 30 79 63 0.22 $2.5M
2023-24 BUF 74 3 17 20 14 24 84 92 0.27 $2.5M
2024-25 BUF 42 3 3 6 6 12 44 35 0.14 $3.1M
2024-25 BOS 18 0 4 4 7 2 15 15 0.22
2025-26 BOS 41 2 13 15 2 14 40 27 0.37 $3M
8 seasons Career 448 21 91 112 -15 154 535 474 0.25

Playoffs

Playoff games only. Pick a season to see that year's bracket.

Season Team GP G A P +/- PIM Shots Hits P/GP
2025-26 BOS 2 0 0 0 1 0 4 2 0.00
1 season Playoffs 2 0 0 0 1 0 4 2 0.00

2019-20 season totals

GP G A P +/- PIM Shots Hits P/GP Shooting % Avg TOI
69 4 11 15 -6 32 78 74 0.22 5.1 17:13

Contract

$925KCap hitends in 2021, then RFA
$62KCap dollars per point15 points in 69 games
$12KWorth at the going ratewhat teams paid for a season like his
-$913KValueworth 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 668 ranked skaters whose contract is known. How value is worked out.

The contract

Signed by the Chicago Blackhawks on Jun 12, 2018, as an entry-level contract: 3 years and $3.838M, beginning in 2018-19. It runs through 2020-21, with 1 season left after this one, and he is then a restricted free agent.

Season Cap hit Base salary Signing bonus Performance bonuses Paid in all Clause
2018-19 $925K $833K $93K $925K
2019-20 $925K $833K $93K $425K $925K
2020-21 $925K $833K $93K $638K $925K

Each season of the contract, with this one marked. The cap hit is the same every year; what he is paid is not. The pay is as written when the contract was recorded in October 2024, so a later change, such as the rise in the lowest salary for 2026-27, is not shown.

Contracts he has signed

Signed Signed by Kind Seasons Years In all Cap hit
2025-26 to 2027-28 $3M
Jul 5, 2024 Buffalo Sabres New contract 2024-25 to 2024-25 1 $3.1M $3.1M
Sep 2, 2021 Buffalo Sabres New contract 2021-22 to 2023-24 3 $7.5M $2.5M
Jun 12, 2018 Chicago Blackhawks Entry-level 2018-19 to 2020-21 3 $3.838M $925K

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 2019-20 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.

2019-20 analytics

Rating

-0.8Goals above replacement548th of 670 skaters, 169th of 231 defencemen
-0.1Wins above replacementgoals above replacement divided by six
-4.7Goals above averagethe five parts below added up

Each number is coloured by where it ranks among the 231 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-2.0 27th percentileEven-strength defence+0.3 59th percentilePower play+0.4 91st percentilePenalty kill-1.1 2nd percentilePenalties-2.2 2nd 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. Before 2023-24 the NHL timed events less exactly, and differently from rink to rink, so expected goals for this season are rougher than for recent ones.

-6-4-2022018-192019-202020-212021-222022-232023-242024-252025-26Goals 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

50.0Corsi for %869 attempts for, 868 against
+1.7CF% relative to teamagainst the team without him
48.3Expected goals for %37.1 expected for, 39.7 against
+1.6xGF% relative to teamagainst the team without him
49.5Fenwick for %unblocked attempts
45.7Goals for %37 for, 44 against
98.9PDO7.6% shooting + 91.3% saves
142Attempts takenhis own shot attempts

Each share is coloured by where it ranks among the 583 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
Jake McCabe · Henri Jokiharju40327:4651.447.88-13
Marco Scandella · Henri Jokiharju30318:2552.553.517-12
Colin Miller · Henri Jokiharju36106:1853.750.94-5
Henri Jokiharju · Rasmus Dahlin29100:1244.039.23-5

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. Before 2023-24 the NHL timed events less exactly, and differently from rink to rink, so expected goals for this season are rougher than for recent ones.

4Goalsnot counting empty-netters
2.0Expected goalsfrom 100 unblocked attempts
+2.0Goals above expectedgoals minus expected goals
Chances created 0.10 expected goals per 60 minutes5th
Shot quality 2.0% chance per attempt5th
Finishing +2.0 goals above expected86thOne season of finishing is mostly luck.

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

01234Game 20Game 40Game 60Goals 4Expected 2.0

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
Mar 9, 2020 vs WSH W 3-2 (SO) 0 0 0 0 0 1 1 18:41
Mar 7, 2020 @ PHI L 1-3 0 0 0 -1 0 2 2 16:15
Mar 5, 2020 vs PIT L 2-4 0 0 0 0 0 2 1 17:29
Mar 3, 2020 @ WPG L 1-3 0 0 0 -1 0 1 0 14:12
Feb 29, 2020 @ ARI L 2-5 0 0 0 -1 0 2 1 17:50
Feb 28, 2020 @ VGK L 2-4 0 0 0 -1 0 2 1 19:25
Feb 26, 2020 @ COL L 2-3 0 0 0 2 2 1 0 15:00
Feb 23, 2020 vs WPG W 2-1 0 1 1 0 0 1 2 21:39
Feb 22, 2020 @ PIT W 5-2 0 0 0 0 0 2 1 18:50
Feb 18, 2020 @ OTT L 4-7 0 0 0 -1 0 0 2 18:59
Feb 16, 2020 vs TOR W 5-2 0 0 0 -1 0 0 1 19:52
Feb 13, 2020 vs CBJ W 4-3 (OT) 0 0 0 -3 0 0 2 22:26
Feb 11, 2020 vs DET W 3-2 0 1 1 2 0 0 3 22:22
Feb 9, 2020 vs ANA L 2-3 0 0 0 0 0 2 2 14:50
Feb 7, 2020 @ NYR W 3-2 0 0 0 1 2 0 2 21:04
Feb 6, 2020 vs DET L 3-4 (SO) 0 0 0 0 0 1 0 19:30
Feb 4, 2020 vs COL L 1-6 0 0 0 0 0 1 0 15:34
Feb 1, 2020 vs CBJ W 2-1 (OT) 0 0 0 -1 0 2 4 19:49
Jan 30, 2020 vs MTL L 1-3 0 0 0 -1 0 0 2 17:28
Jan 28, 2020 vs OTT L 2-5 0 0 0 0 0 0 1 12:25
Jan 18, 2020 @ NSH L 1-2 0 0 0 0 0 0 0 17:52
Jan 16, 2020 @ DAL W 4-1 0 1 1 1 0 1 2 16:17
Jan 14, 2020 vs VGK W 4-2 0 0 0 0 0 0 0 16:28
Jan 12, 2020 @ DET W 5-1 0 1 1 1 0 1 0 15:50
Jan 11, 2020 vs VAN L 3-6 0 0 0 -1 0 0 1 18:17
Jan 9, 2020 @ STL L 1-5 0 0 0 -2 0 0 0 14:27
Jan 4, 2020 vs FLA W 3-2 1 0 1 1 0 1 0 17:31
Jan 2, 2020 vs EDM W 3-2 (OT) 0 0 0 -1 0 1 0 15:19
Dec 31, 2019 vs TBL L 4-6 0 0 0 2 4 0 0 13:53
Dec 29, 2019 @ BOS L 2-3 0 0 0 0 2 2 1 18:13
Dec 27, 2019 vs BOS L 0-3 0 0 0 -1 0 3 1 20:02
Dec 23, 2019 @ OTT L 1-3 0 0 0 -1 0 1 2 18:19
Dec 21, 2019 vs LAK W 3-2 0 0 0 1 0 2 2 16:48
Dec 19, 2019 @ PHI L 1-6 0 0 0 -3 0 2 1 18:38
Dec 17, 2019 @ TOR L 3-5 0 0 0 -1 0 2 7 19:38
Dec 14, 2019 @ NYI L 2-3 (OT) 0 0 0 -1 0 1 1 18:43
Dec 12, 2019 vs NSH W 4-3 0 1 1 0 0 0 1 15:09
Dec 10, 2019 vs STL W 5-2 0 1 1 2 0 2 0 18:49
Dec 8, 2019 @ EDM W 3-2 (OT) 0 0 0 0 0 0 0 17:00
Dec 7, 2019 @ VAN L 5-6 (OT) 0 0 0 -1 2 2 1 17:37
Dec 5, 2019 @ CGY L 3-4 0 0 0 0 0 1 0 16:10
Dec 2, 2019 vs NJD W 7-1 1 0 1 2 2 2 0 16:42
Nov 30, 2019 @ TOR L 1-2 (OT) 0 0 0 -1 0 1 2 14:57
Nov 29, 2019 vs TOR W 6-4 0 0 0 0 2 2 0 15:18
Nov 27, 2019 vs CGY L 2-3 (OT) 0 0 0 0 0 3 0 18:54
Nov 25, 2019 @ TBL L 2-5 0 0 0 0 0 0 0 16:24
Nov 24, 2019 @ FLA W 5-2 0 0 0 2 2 1 2 16:48
Nov 21, 2019 @ BOS L 2-3 0 0 0 0 0 1 1 16:17
Nov 19, 2019 vs MIN L 1-4 0 0 0 0 2 2 0 15:42
Nov 17, 2019 @ CHI L 1-4 0 0 0 -2 0 0 2 15:51
Nov 16, 2019 vs OTT W 4-2 0 0 0 1 2 1 1 18:01
Nov 14, 2019 vs CAR L 4-5 (OT) 1 0 1 0 0 1 4 15:28
Nov 9, 2019 @ TBL L 3-5 0 0 0 1 0 2 0 15:43
Nov 8, 2019 vs TBL L 2-3 0 1 1 0 0 0 1 18:50
Nov 2, 2019 vs NYI L 0-1 0 0 0 -1 0 0 0 15:15
Nov 1, 2019 @ WSH L 1-6 1 0 1 -1 0 5 0 17:33
Oct 28, 2019 vs ARI L 2-3 (SO) 0 0 0 0 0 4 0 17:47
Oct 25, 2019 @ DET W 2-0 0 0 0 0 0 1 2 15:04
Oct 24, 2019 @ NYR L 2-6 0 0 0 -2 0 1 1 16:44
Oct 22, 2019 vs SJS W 4-3 (OT) 0 1 1 1 2 0 1 16:46
Oct 19, 2019 @ SJS W 4-3 0 2 2 2 0 2 1 15:10
Oct 17, 2019 @ LAK W 3-0 0 0 0 0 0 1 2 17:26
Oct 16, 2019 @ ANA L 2-5 0 0 0 0 4 1 1 14:04
Oct 14, 2019 vs DAL W 4-0 0 1 1 1 2 0 3 16:27
Oct 11, 2019 vs FLA W 3-2 (SO) 0 0 0 1 0 1 0 17:40
Oct 9, 2019 vs MTL W 5-4 (OT) 0 0 0 1 0 3 1 16:53
Oct 7, 2019 @ CBJ L 3-4 (OT) 0 0 0 0 2 1 0 17:08
Oct 5, 2019 vs NJD W 7-2 0 0 0 -1 0 0 1 17:35
Oct 3, 2019 @ PIT W 3-1 0 0 0 0 0 0 0 16:51