| Season | League | Team | GP | G | A | P | Playoff GP |
|---|---|---|---|---|---|---|---|
| 2025-26 | AHL | Abbotsford Canucks | 55 | 6 | 35 | 41 | — |
| 2025-26 | NHL | Canucks | 2 | 0 | 0 | 0 | — |
| 2024-25 | AHL | Abbotsford Canucks | 36 | 7 | 23 | 30 | — |
| 2024-25 | NHL | Canucks | 19 | 1 | 5 | 6 | — |
| 2023-24 | AHL | Abbotsford Canucks | 15 | 8 | 7 | 15 | — |
| 2023-24 | NHL | Canucks | 43 | 3 | 4 | 7 | 5 |
| 2022-23 | AHL | Abbotsford Canucks | 17 | 4 | 5 | 9 | — |
| 2022-23 | NHL | Canucks | 68 | 4 | 12 | 16 | — |
| 2021-22 | EHT | Sweden | 5 | 0 | 1 | 1 | — |
| 2021-22 | WC | Sweden | 7 | 0 | 2 | 2 | — |
| 2021-22 | Champions HL | Leksands IF | 9 | 1 | 1 | 2 | — |
| 2021-22 | SHL | Leksands IF | 51 | 6 | 8 | 14 | 3 |
| 2020-21 | SHL | Leksands IF | 51 | 2 | 8 | 10 | 4 |
| 2019-20 | SHL | Leksands IF | 8 | 1 | 2 | 3 | — |
| 2019-20 | HockeyAllsvenskan | Karlskrona HK | 6 | 1 | 0 | 1 | — |
| 2019-20 | J20 SuperElit | Leksands IF J20 | 30 | 14 | 33 | 47 | — |
| 2018-19 | HockeyAllsvenskan | Leksands IF | 3 | 0 | 0 | 0 | 4 |
| 2018-19 | Division 2 | Avesta BK | 1 | 0 | 0 | 0 | — |
| 2018-19 | J20 SuperElit | Leksands IF J20 | 45 | 14 | 27 | 41 | 2 |
| 2017-18 | J18 Allsvenskan | Leksands IF J18 | 12 | 6 | 6 | 12 | 3 |
| 2017-18 | J20 SuperElit | Leksands IF J20 | 21 | 1 | 2 | 3 | 2 |
| 2017-18 | J18 Elit | Leksands IF J18 | 20 | 8 | 9 | 17 | — |
| 2016-17 | J18 Allsvenskan | Leksands IF J18 | 15 | 4 | 7 | 11 | 5 |
| 2016-17 | J18 Elit | Leksands IF J18 | 15 | 6 | 5 | 11 | — |
| 2015-16 | J20 Div.1 | Avesta BK J20 | 5 | 0 | 2 | 2 | 4 |
| 2015-16 | U16 Div.1 | Avesta BK U16 | 25 | 36 | 34 | 70 | 3 |
| 2015-16 | J18 Div.1 | Avesta BK J18 | 19 | 15 | 20 | 35 | 3 |
| 2015-16 | TV-Pucken | Dalarna | 6 | 0 | 0 | 0 | — |
| 2014-15 | J18 Div.1 | Avesta BK J18 | 2 | 0 | 0 | 0 | — |