23 January 1994|
|Height||5 ft 8 in (173 cm)|
|Weight||176 lb (80 kg; 12 st 8 lb)|
Nilsson was born in Visby on the island of Gotland, Sweden. His youth team was Visby/Roma HK. He moved to Leksands IF prior to the 2010–11 season, playing for the club's J18 team in J18 Allsvenskan, the top-tier J18 league in Sweden. In the 2012–13 season, he played 41 games for Leksand's J20 team in J20 SuperElit, scoring 23 points. For the 2013–14 season, Nilsson was put in the roster of Leksand's senior team in the Swedish Hockey League (SHL), the top-tier senior ice hockey league in Sweden. He has played 12 games for the team.
On 16 July 2019, with Leksands promoted to the SHL from the Allsvenskan, Nilsson left as a free agent to sign a one-year contract in Norway with the Sparta Warriors of the GET-ligaen.
He appeared in the Swedish national junior team as well, playing 6 games for the U18 team at the 2012 IIHF World U18 Championships and earning a silver medal, as well as playing a further 10 exhibition games for the team.