Начал заниматься хоккеем в академии клуба «Онге». В 15 лет перешёл во вторую команду клуба в юниорской лиге до 18 лет. В сезоне 2010/11 Петтерссон перешёл в школу клуба «Тимро», где начал выступать в юниорских лигах. В сезоне 2011/12 стал лучшим бомбардиром чемпионата Швеции до 18 лет, набрав 19 (8+11) очков, а в плей-офф набрал 5 (1+4) очков. В сезоне 2012/13 был лучшим бомбардиром юниорской лиги до 20 лет, набрав 44 (13+31) очка. Петтерссон также в том же сезоне дебютировал в основной команде «Тимро», где он сыграл два матча регулярного чемпионата и два матча в Квалсериене, забросив одну шайбу. По итогам сезона команда попала в Аллсвенскан. В мае 2013 года Петтерссон продлил контракт с «Тимро» на один год[1]. На драфте НХЛ 2013 года «Нэшвилл Предаторз» выбрал Петтерссон в шестом раунде, под общим 155-м номером. В своём дебютном сезоне набрал 14 очков (6+8) в 44 матчах регулярного сезона. Петтерссон также сыграл часть своего сезона в молодёжной команде до 20 лет, став вторым лучшим бомбардиром команды.
В сезоне 2014/15 годов набрал 35 очков (12+23) в составе «Тимро» в Аллсвенскане, по итогам сезона стал лучшим бомбардиром команды. В конце января 2015 года Петтерссон перешёл в «МОДО», выступающем в Шведской хоккейной лиге[2]. В первом сезоне он забросил одну шайбу в двух матчах регулярного чемпионата и набрал 4 (1+3) очка в четырёх матчах отборочной серии. В марте 2015 года он продлил контракт с командой на два года[3].
Сезон 2015/16 стал первым полным сезоном Петтерссона в Шведской хоккейной лиге, он набрал 26 очков (12+14) в 52 матчах регулярного сезона и 5 (3+2) очков в семи матчах отборочного раунда. Петтерссон стал вторым лучшим бомбардиром «МОДО» в регулярном сезоне после Виктора Улофссона. Команда вылетела в Аллсвенскан в конце сезона, но Петтерссон не стал продлевать свой контракт и решил перейти в «Шеллефтео», подписав двухлетний контракт, чтобы продолжить свою карьеру в SHL[4]. Однако уже 7 декабря 2016 года он перешёл в команду «Векшё Лейкерс»[5]. В регулярном сезоне SHL Петтерссон набрал 38 (15+23) очков, а в плей-офф стал лучшим бомбардиром «Лейкерс», набрав 7 (4+3) очков.
8 мая 2017 года Петтерссон подписал двухлетний контракт начального уровня с «Нэшвилл Предаторз»[6], где начал выступать за его фарм-клуб «Милуоки Эдмиралс» в Американской хоккейной лиге. 4 января 2018 гола Петтерссон был включён в состав на матч звёзд АХЛ 2018[7]. Всего в сезоне 2017/18 провёл 72 матча, набрав 46 (13+33) очков, став лучшим бомбардиром команды. В сезоне 2018/19 Петтерссон продолжил лидировать в атаке «Эдмиралс», набрав 33 (11+22) очка в 49 играх. 8 февраля 2019 года был обменян в клуб «Аризона Койотис» на Лорана Дофина[8], где он начал выступать за фарм-клуб «Тусон Роудраннерс». Летом 2019 года завершил своё выступление в Северной Америке, покинув «Койотис» в качестве ограниченно свободного агента.
13 июня 2019 года вернулся на родину и подписал двухлетний контракт со своим бывшим клубом «Векшё Лейкерс» из SHL[9]. Сыграл в его составе два сезона, проведя 118 матчей, набрав 80 (34+46) очков. В сезоне 2020/21 стал лучшим бомбардиром команды и стал чемпионом Швеции. 13 июля 2021 года перешёл в московский «Спартак», выступающий в Континентальной хоккейной лиге, подписав контракт на один сезон[10]. В сезоне 2021/22 провёл 47 матчей, в которых набрал 25 (13+12) очков. 9 апреля 2022 года вернулся в свой первый клуб — «Тимро», заключив контракт на пять лет[11].