Svensson platzierte sich bei seinem ersten Start im Scandinavian Cup im Januar 2012 in Åsarna mit Platz fünf im Sprint gleich unter den Top-10. Bei den Junioren-Weltmeisterschaften 2013 in Liberec gewann er die Bronzemedaille mit der schwedischen Staffel und ein Jahr später bei den Titelkämpfen in Val di Fiemme Silber im Sprint. Im März 2014 gab Svensson in Lahti sein Debüt im Skilanglauf-Weltcup, bei dem er Platz 63 im Sprint und Rang 70 über 15 km Freistil belegte. Am 10. Januar 2015 wurde Svensson im Scandinavian Cup Neunter beim Sprint in Falun und erzielte eine Woche später beim Weltcup in Otepää mit Rang 28 im Sprint seine ersten Weltcuppunkte. Bei seinem nächsten Weltcupeinsatz im Februar 2015 in Östersund belegte Svensson Rang 46 im Sprint. Zu Beginn der Saison 2015/16 holte er im Sprint in Vuokatti seinen ersten Sieg im Scandinavian Cup. Im weiteren Saisonverlauf belegte er den 37. Platz bei der Tour de Ski 2016 und den 41. Rang bei der Ski Tour Canada und errang zum Saisonende den vierten Platz in der U23-Wertung. Bei den U23-Weltmeisterschaften 2016 in Rasnov kam er auf den vierten Platz im Sprint. Anfang April 2016 wurde er zusammen mit Karl-Johan Dyvik schwedischer Meister im Teamsprint.[1] Nach Platz 47 bei der Weltcup-Minitour in Lillehammer zu Beginn der Saison 2016/17, siegte er im Sprint beim Scandinavian Cup im Januar 2017 in Lahti. Im Januar 2017 erreichte er in Toblach mit dem zweiten Platz zusammen mit Karl-Johan Westberg seine erste Podestplatzierung im Weltcup. Anfang Februar 2017 wurde er schwedischer Meister mit der Staffel und Dritter im Sprint. Bei den Nordischen Skiweltmeisterschaften 2017 in Lahti errang er den 19. Platz im Sprint. In der Saison 2017/18 errang er den 28. Platz bei der Tour de Ski 2017/18 und den 18. Platz beim Weltcupfinale in Falun und erreichte damit den 31. Platz im Gesamtweltcup. Bei den Olympischen Winterspielen 2018 in Pyeongchang wurde er Fünfter im Sprint.
In der Saison 2018/19 belegte Svensson den 49. Platz beim Lillehammer Triple und den 19. Rang beim Weltcupfinale in Québec und errang damit den 32. Platz im Gesamtweltcup und den 16. Platz im Sprintweltcup. Seine besten Ergebnisse bei den Nordischen Skiweltmeisterschaften 2019 in Seefeld in Tirol waren der zehnte Platz im Sprint und der vierte Rang zusammen mit Calle Halfvarsson im Teamsprint. Anfang April 2019 wurde er in Gällivare zusammen mit Hugo Jacobssonschwedische Meister im Teamsprint. In der folgenden Saison belegte er den 58. Platz beim Ruka Triple und den 39. Platz bei der Tour de Ski 2019/20. Zudem kam er siebenmal in die Punkteränge und errang damit den 45. Platz im Gesamtweltcup und den 14. Platz im Sprintweltcup. Nach Platz 54 beim Ruka Triple zu Beginn der Saison 2020/21, holte er bei der Tour de Ski 2021 im Sprint seinen ersten Weltcupsieg und errang den 16. Platz in der Tourwertung. Es folgte im Sprint in Falun der zweite Platz und in Ulricehamn erneut der erste Platz im Sprint. Beim Saisonhöhepunkt, den Nordischen Skiweltmeisterschaften in Oberstdorf, lief er im Sprint und im Teamsprint jeweils auf den sechsten Platz und mit der Staffel auf den vierten Rang. Zum Saisonende kam er im Engadin auf den 17. Platz im 15-km-Massenstartrennen und auf den zehnten Rang in der Verfolgung und erreichte abschließend den zehnten Platz im Gesamtweltcup und den vierten Rang im Sprintweltcup.
In der Saison 2021/22 kam Svensson bei der Tour de Ski 2021/22 auf den 34. Platz und im Gesamtweltcup auf den 44. Rang. Bei den Olympischen Winterspielen 2022 in Peking wurde er Sechster im Sprint und jeweils Vierter im Teamsprint sowie mit der Staffel.