Jego ojciec Mikael (ur. 1964)[1], brat Oliver (ur. 1992)[2] i kuzyn Calle Järnkrok także zostali hokeistami. Inny szwedzki hokeista Hampus Lindholm (ur. 1994, obaj występowali w kadrach juniorskich kraju) nie jest z nim spokrewniony.
Wychowanek klubu Gävle GIK. Karierę rozwijał w kolejnych grupach wieku juniorskiego w klubie Brynäs. W KHL Junior Draft w 2011 został wybrany przez SKA Sankt Petersburg. W marcu 2012 przeszedł do zespołu seniorskiego Brynäs w lidze Elitserien[3] i w rozegrał z nim sezon Elitserien (2012/2013). W drafcie NHL z 2013 został wybrany przez amerykański klub Carolina Hurricanes z numerem 5 i w lipcu 2013 podpisał kontrakt wstępny z tym klubem[4]. W lidze NHL gra od sezonu NHL (2013/2014). W tym czasie w listopadzie 2013 był tymczasowo przekazany do zespołu farmerskiego w lidze AHL. W czerwcu 2018 przeszedł do Calgary Flames[5]. W lipcu 2018 przedłużył umowę z tym klubem o sześć lat[6].