Karlsson, die für den Sollefteå SK startet, trat international erstmals im Januar 2017 bei den Nordischen Junioren-Skiweltmeisterschaften in Soldier Hollow in Erscheinung. Dort belegte sie den 23. Platz im Sprint und den fünften Rang mit der Staffel. Im März 2017 wurde sie in Kalix schwedische Juniorenmeisterin über 5 km klassisch und 10 km Freistil. Bei den Nordischen Junioren-Skiweltmeisterschaften 2018 in Goms holte sie im Sprint und mit der Staffel jeweils die Bronzemedaille und im Skiathlon die Goldmedaille. Zudem kam sie dort auf den siebten Platz über 5 km klassisch.
Im Februar 2018 wurde sie in Jönköping schwedische Juniorenmeisterin im Sprint, über 15 km klassisch und 5 km Freistil. Im selben Monat lief sie bei der Minitour in Trondheim ihre ersten Rennen im Scandinavian-Cup. Dabei errang sie den 16. Platz im Sprint, den zweiten Platz über 5 km klassisch und erreichte mit der drittschnellsten Zeit bei der Abschlussetappe den dritten Platz in der Tourwertung.
In der Saison 2018/19 holte Karlsson in Vuokatti über 10 km klassisch und im 20-km-Massenstartrennen ihre ersten Siege im Scandinavian-Cup und errang damit den zehnten Platz in der Gesamtwertung des Scandinavian-Cups. Bei den Nordischen Junioren-Skiweltmeisterschaften 2019 in Lahti gewann sie mit der Staffel die Bronzemedaille und über 5 km Freistil und im 15-km-Massenstartrennen jeweils die Goldmedaille. Zudem wurde sie dort Fünfte im Sprint.
Ihr Debüt im Weltcup hatte sie im Februar 2019 in Cogne. Dort holte sie sich mit dem siebten Platz über 10 km klassisch ihre ersten Weltcup-Punkte. Auf dieser Strecke gewann sie wenige Tage später bei den Weltmeisterschaften 2019 in Seefeld in Tirol die Silbermedaille. Mit der Damenstaffel gewann sie die Goldmedaille und beim abschließenden 30-km-Freistil-Rennen die Bronzemedaille. Beim Weltcupfinale in Québec wurde sie Neunte und erreichte abschließend den 40. Platz im Gesamtweltcup.
Nachdem sie zu Beginn der Saison 2019/20 das Ruka Triple als Achte beendet hatte, trat sie erst im Februar 2020 bei der Skitour im Weltcup an. Dabei belegte sie in Östersund den 19. Platz über 10 km Freistil und bei der anschließenden Verfolgung, wobei sie die zweitschnellste Zeit lief, den 13. Platz. Im März 2020 wurde sie in Lahti Dritte mit der Staffel und holte im 30-km-Massenstartrennen am Holmenkollen ihren ersten Weltcupsieg.
Zu Beginn der Saison 2020/21 siegte Karlsson beim FIS-Rennen in Bruksvallarna und errang beim Ruka Triple mit Platz zwei über 10 km klassisch, den vierten Gesamtplatz. Bei der Tour de Ski 2021, die sie vorzeitig beendete, wurde sie Dritte in der Verfolgung. Beim Saisonhöhepunkt, den Weltmeisterschaften 2021 in Oberstdorf gewann sie die Bronzemedaille im 30-km-Massenstartrennen und jeweils die Silbermedaille über 10 km Freistil und im Skiathlon. Zudem wurde sie dort Sechste mit der Staffel und erreichte zum Saisonende den 16. Platz im Gesamtweltcup und den 12. Rang im Distanzweltcup.
Am 27. November 2021 feierte Karlsson ihren zweiten Weltcupsieg beim 10 km klassisch Individualstart in Ruka und wurde in der Freistil Verfolgung tags darauf Zweite. Den dritten Weltcupsieg errang sie beim folgenden Weltcup in Lillehammer über 10 km Freistil. Es folgten zwei zweite Plätze und einen dritten Platz und erreichte damit den 12. Platz im Gesamtweltcup sowie den zweiten Rang im Distanzweltcup. Bei den Olympischen Winterspielen 2022 in Peking holte sie die Bronzemedaille mit der Staffel. Zudem errang sie dort den 12. Platz über 10 km Freistil und den fünften Platz im Skiathlon. Ende März 2022 wurde sie schwedische Meisterin über 10 km klassisch.