Nilsson ble født i Visby på øya Gotland, Sverige. Ungdomslaget hans var Visby/Roma HK. Han flyttet til Leksands IF før sesongen 2010–11 og spilte for klubbens J18-lag i J18 Allsvenskan, J18-ligaen i toppklasse i Sverige. I sesongen 2012–13 spilte han 41 kamper for Leksands J20-lag i J20 SuperElit og scoret 23 poeng. For 2013–14 sesongen ble Nilsson satt i listen over Leksands seniorlag i Svenska hockeyligan (SHL). Han har spilt 12 kamper for laget.