Hockey Terminal
Be a GM

← All players

Photo of Joe Thornton

Joe Thornton

#19 · Centre · Florida Panthers · Hockey Hall of Fame

Born Jul 2, 1979 in London, Ontario, CAN · 6'4", 220 lb · Shoots left · Drafted 1st overall in 1997 by BOS (round 1)

Trophy case

Art Ross Trophy Top Point Scorer 2005-06
Hart Memorial Trophy MVP of Regular Season 2005-06

Compare with a similar player

The forwards closest to him in points in 2016-17. Pick one to see the two side by side, or choose someone else.

Sam Gagner CBJ · 50 P in 81 GP Henrik Sedin VAN · 50 P in 82 GP Milan Lucic EDM · 50 P in 82 GP Jason Spezza DAL · 50 P in 68 GP Nick Foligno CBJ · 51 P in 79 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.

0501001997-98: 7 points797-981998-99: 41 points411999-00: 60 points6099-002000-01: 71 points712001-02: 68 points6801-022002-03: 101 points1012003-04: 73 points7303-042005-06: 125 points1252006-07: 114 points11406-072007-08: 96 points962008-09: 86 points8608-092009-10: 89 points892010-11: 70 points7010-112011-12: 77 points772012-13: 40 points4012-132013-14: 76 points762014-15: 65 points6514-152015-16: 82 points822016-17: 50 points5016-172017-18: 36 points362018-19: 51 points5118-192019-20: 31 points312020-21: 20 points2020-212021-22: 10 points10

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

Season Team GP G A P +/- PIM Shots Hits P/GP Cap hit
1997-98 BOS 55 3 4 7 -6 19 33 34 0.13
1998-99 BOS 81 16 25 41 3 69 128 124 0.51
1999-00 BOS 81 23 37 60 -5 82 171 134 0.74
2000-01 BOS 72 37 34 71 -4 107 181 108 0.99
2001-02 BOS 66 22 46 68 7 127 152 60 1.03
2002-03 BOS 77 36 65 101 12 109 196 14 1.31
2003-04 BOS 77 23 50 73 18 98 187 40 0.95
2005-06 BOS 23 9 24 33 0 6 60 14 1.43 $6.667M
2005-06 SJS 58 20 72 92 31 55 135 19 1.59
2006-07 SJS 82 22 92 114 24 44 213 64 1.39 $6.667M
2007-08 SJS 82 29 67 96 18 59 178 60 1.17 $6.667M
2008-09 SJS 82 25 61 86 16 56 139 81 1.05 $7.2M
2009-10 SJS 79 20 69 89 17 54 141 113 1.13 $7.2M
2010-11 SJS 80 21 49 70 4 47 149 56 0.88 $7.2M
2011-12 SJS 82 18 59 77 17 31 156 42 0.94 $7M
2012-13 SJS 48 7 33 40 6 26 85 23 0.83 $7M
2013-14 SJS 82 11 65 76 20 32 122 54 0.93 $7M
2014-15 SJS 78 16 49 65 -4 30 131 39 0.83 $6.75M
2015-16 SJS 82 19 63 82 25 54 121 48 1.00 $6.75M
2016-17 SJS 79 7 43 50 7 51 81 52 0.63 $6.75M
2017-18 SJS 47 13 23 36 -9 38 75 32 0.77 $8M
2018-19 SJS 73 16 35 51 8 20 90 17 0.70 $5M
2019-20 SJS 70 7 24 31 -19 34 76 20 0.44 $2M
2020-21 TOR 44 5 15 20 6 14 42 32 0.45 $700K
2021-22 FLA 34 5 5 10 -10 10 26 20 0.29 $750K
24 seasons Career 1714 430 1109 1539 182 1272 3068 1300 0.90

Playoffs

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

Season Team GP G A P +/- PIM Shots Hits P/GP
1997-98 BOS 6 0 0 0 0 9 3 1 0.00
1998-99 BOS 11 3 6 9 1 4 15 17 0.82
2001-02 BOS 6 2 4 6 0 10 14 11 1.00
2002-03 BOS 5 1 2 3 -5 4 12 4 0.60
2003-04 BOS 7 0 0 0 -6 14 14 9 0.00
2005-06 SJS 11 2 7 9 -4 12 23 6 0.82
2006-07 SJS 11 1 10 11 2 10 23 15 1.00
2007-08 SJS 13 2 8 10 3 2 29 20 0.77
2008-09 SJS 6 1 4 5 -3 5 17 5 0.83
2009-10 SJS 15 3 9 12 -11 18 35 26 0.80
2010-11 SJS 18 3 14 17 -5 16 48 18 0.94
2011-12 SJS 5 2 3 5 2 2 15 5 1.00
2012-13 SJS 11 2 8 10 5 2 25 9 0.91
2013-14 SJS 7 2 1 3 -6 8 16 8 0.43
2015-16 SJS 24 3 18 21 2 10 34 30 0.88
2016-17 SJS 4 0 2 2 -1 0 4 5 0.50
2018-19 SJS 19 4 6 10 -6 6 29 5 0.53
2020-21 TOR 7 1 0 1 -3 2 4 9 0.14
2021-22 FLA 1 0 0 0 -1 0 0 0 0.00
19 seasons Playoffs 187 32 102 134 -36 134 360 203 0.72

2016-17 season totals

GP G A P +/- PIM Shots Hits P/GP Shooting % Avg TOI
79 7 43 50 7 51 81 52 0.63 8.6 18:04

Contract

$6.75MCap hit2016-17
$135KCap dollars per point50 points in 79 games
$1.759MCap dollars per goal above replacement3.8 goals above replacement
$3MWorth 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. Value is coloured by where it ranks among the 664 ranked skaters whose contract is known. How value is worked out.

The contract

Who signed him to it, and when, are not on record. When it ends is not known.

Contracts he has signed

Signed Signed by Kind Seasons Years In all Cap hit
2021-22 to 2021-22 $750K
2020-21 to 2020-21 $700K
2019-20 to 2019-20 $2M
2018-19 to 2018-19 $5M
2017-18 to 2017-18 $8M
2014-15 to 2016-17 $6.75M
2012-13 to 2013-14 $7M
2011-12 to 2013-14 $7M
2008-09 to 2010-11 $7.2M
2005-06 to 2007-08 $6.667M

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 2016-17 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.

2016-17 analytics

Regular season Playoffs

Rating

+3.8Goals above replacement251st of 664 skaters, 177th of 435 forwards
+0.6Wins above replacementgoals above replacement divided by six
-0.1Goals above averagethe five parts below added up

Each number is coloured by where it ranks among the 435 ranked forwards: 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-1.9 23rd percentileEven-strength defence+2.4 89th percentilePower play-1.0 6th percentilePenalty kill+0.0 67th percentilePenalties+0.2 49th 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 forwards. 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.

-5051015202010-112012-132014-152016-172018-192020-21Goals 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

53.5Corsi for %1117 attempts for, 972 against
+3.3CF% relative to teamagainst the team without him
54.9Expected goals for %46.8 expected for, 38.5 against
+3.3xGF% relative to teamagainst the team without him
53.9Fenwick for %unblocked attempts
53.7Goals for %44 for, 38 against
99.9PDO7.9% shooting + 92.0% saves
93Attempts takenhis own shot attempts

Each share is coloured by where it ranks among the 565 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

Forward lineGPTimeCF%xGF%Goals
Joe Thornton · Patrick Marleau · Joe Pavelski43336:0352.655.812-9
Joe Thornton · Joe Pavelski · Tomas Hertl26173:0856.463.87-7
Joe Thornton · Joe Pavelski · Kevin Labanc21139:2653.753.27-2
Joe Thornton · Joe Pavelski · Jannik Hansen981:5049.049.54-5

The lines 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 lines 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
8.9Expected goalsfrom 114 unblocked attempts
-4.9Goals above expectedgoals minus expected goals
Chances created 0.37 expected goals per 60 minutes2nd
Shot quality 7.8% chance per attempt58th
Finishing -4.9 goals above expected9thOne season of finishing is mostly luck.

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

02468Game 20Game 40Game 60Expected 8.9Goals 4

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