| Season | Team | GP | PTS | G | A | +/− | PIM | PPG | SHG | GWG |
|---|---|---|---|---|---|---|---|---|---|---|
| NSHL22 |
EDM
|
68 | 8 | 1 | 7 | 0 | 4 | 1 | 0 | 0 |
| NSHL21 |
CHI
|
53 | 4 | 0 | 4 | +9 | 6 | 0 | 0 | 0 |
| NSHL20 |
TBL
Total |
46 | 1 | 0 | 1 | +1 | 2 | 0 | 0 | 0 |
TBL
|
40 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | |
TOR
|
6 | 1 | 0 | 1 | +1 | 0 | 0 | 0 | 0 | |
| NSHL19 |
TOR
Total |
47 | 6 | 0 | 6 | -1 | 0 | 0 | 0 | 0 |
TOR
|
25 | 5 | 0 | 5 | -1 | 0 | 0 | 0 | 0 | |
PHI
|
22 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |
| NSHL18 |
PHI
Total |
19 | 4 | 0 | 4 | +6 | 2 | 0 | 0 | 0 |
PHI
|
15 | 4 | 0 | 4 | +5 | 0 | 0 | 0 | 0 | |
CHI
|
4 | 0 | 0 | 0 | +1 | 2 | 0 | 0 | 0 | |
| Pro Career | 233 | 23 | 1 | 22 | +15 | 14 | 1 | 0 | 0 | |
| Season | Team | GP | PTS | G | A | +/− | PIM | PPG | SHG | GWG |
|---|---|---|---|---|---|---|---|---|---|---|
| NSHL22 |
EDM
|
7 | 0 | 0 | 0 | -1 | 0 | 0 | 0 | 0 |
| NSHL21 |
CHI
|
10 | 1 | 0 | 1 | -1 | 4 | 0 | 0 | 0 |
| NSHL19 |
TOR
|
2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| NSHL18 |
PHI
|
19 | 6 | 1 | 5 | +7 | 0 | 0 | 0 | 1 |
| Pro Career | 38 | 7 | 1 | 6 | +5 | 4 | 0 | 0 | 1 | |
| Season | Team | CK | FG | DI | SK | ST | EN | DU | PH | FO | PA | SC | DF | PS | EX | LD | OV |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NSHL16 |
BUF
|
65 | 15 | 87 | 77 | 74 | 73 | 73 | 68 | 50 | 72 | 62 | 69 | 63 | 64 | 59 | 67 |
| NSHL17 |
PIT
|
65 | 17 | 87 | 77 | 76 | 76 | 76 | 69 | 50 | 73 | 62 | 72 | 63 | 64 | 59 | 68 |
| NSHL18 |
PHI
|
65 | 17 | 89 | 77 | 76 | 78 | 78 | 70 | 50 | 73 | 64 | 74 | 65 | 65 | 61 | 80 |
| NSHL19 |
TOR
|
65 | 17 | 89 | 77 | 76 | 78 | 78 | 70 | 50 | 73 | 64 | 74 | 65 | 65 | 61 | 80 |
| NSHL20 |
CHI
|
65 | 17 | 89 | 77 | 76 | 78 | 78 | 70 | 50 | 73 | 64 | 74 | 65 | 67 | 62 | 80 |
| NSHL21 |
CHI
|
65 | 17 | 89 | 77 | 90 | 78 | 78 | 70 | 50 | 73 | 64 | 74 | 65 | 68 | 63 | 71 |
| NSHL22 |
EDM
|
65 | 45 | 89 | 77 | 92 | 78 | 78 | 70 | 50 | 73 | 64 | 74 | 65 | 78 | 81 | 73 |
| NSHL23 |
DET
|
65 | 45 | 89 | 77 | 94 | 78 | 80 | 70 | 50 | 73 | 64 | 74 | 65 | 78 | 81 | 73 |
| NSHL24 |
PIT
|
66 | 46 | 89 | 74 | 91 | 79 | 81 | 71 | 50 | 74 | 65 | 75 | 64 | 79 | 82 | 73 |
| NSHL25 |
PIT
|
67 | 47 | 86 | 71 | 90 | 80 | 82 | 72 | 50 | 73 | 66 | 76 | 63 | 80 | 83 | 73 |
| Career Avg | 66 | 29 | 89 | 77 | 84 | 78 | 79 | 70 | 50 | 73 | 64 | 74 | 65 | 71 | 70 | 74 | |
| Season | Team | Type | Category | Old | New | Δ | Pts | Notes |
|---|---|---|---|---|---|---|---|---|
| NSHL16 | BUF |
TC | DF | 67 | 69 | +2 | 2 |
DET
EDM
EDM
STL→
TBL
STL $500,000
TBL Joe Morrow (69)
TBL→
TOR
TBL Darnell Nurse (74), Riley Nash (69), Y22 R4 SJS pick, Y23 R4 STL pick (Massimo Rizzo), Y25 R3 TOR pick
TOR Evgeny Kuznetsov (77), Joe Morrow (69), Jordan Greenway (68)
TOR→
CHI
CHI Antoine Roussel (73), Joe Morrow (69), Michael Grabner (72)
TOR Dmitry Orlov (75), Corey Tropp (73)
TBL
PHI→
TOR
PHI Jonathan Marchessault (67), Joe Pavelski (66), Jamie Oleksiak (72), Y20 R6 TOR pick (Sean Farrell)
TOR Phil Kessel (73), Joe Morrow (69), 20 Round 7 Pick 1 (P)
PHI
PIT→
CHI
PIT $100,000
CHI Joe Morrow (69)
CHI→
PHI
CHI Chris Summers (71)
PHI Joe Morrow (69)
BUF
OTT→
BUF
BUF Joe Morrow (P), Y12 R2 CAR pick (Radek Faksa)
OTT Y12 R1 OTT pick, Y12 R3 BUF pick (Stefan Matteau)