Arheoloogilised leiud on tuvastanud praeguse linna asupaigas kuni seitsme tuhande aasta taguse asula olemasolu ning keskajal oli seal mitu järveäärset küla. Linna piires on XVI sajandist teada küla "на Соломене озере" (karjalakeelsest sõnast salmi, 'väin'). Hiljem kandis see küla vene allikates Solomennoje nime (praegune Petroskoi Solomennoje elamurajoon), ning sama sajandi lõpul asetas flaami kartograaf Abraham Ortelius oma kaardile praeguse Petroskoi alale asula nimega Onegaborg.
11. septembril 1703 asutas vürst Aleksandr Menšikov 'Peetri aleviku' (vene keeles Petrovskaja Sloboda). Menšikov tegi seda tsaar Peetri ülesandel, et toota uues rauatehases Läänemere laevastikulePõhjasõja ajal (1700–1721) suurtükke ja ankruid. Algul kandis tehas Šuja tehase nime (vene keeles Šuiski zavod, Šuja jõe järgi), kuid aastakümme hiljem sai see valitseva monarhi järgi nime 'Peetri tehas' (vene keeles Petrovski zavod).
1777. aasta Katariina munitsipaalreformi ajal sai Peetri alevik linna õigused ja vene keeles nime Petrozavodsk (tuletatud Peetri tehasest). Ehitati uusklassitsistlik linnakeskus, mis lähtus Ümmargusest väljakust. 1784. aastal oli Petroskoi piisavalt suur, et tõrjuda kõrvale senine halduskeskus Aunus. Ehkki keiser Paul I kaotas Aunuse kubermangu, taastati see eraldi kubermanguna 1801. aastal ja Petroskoist sai selle halduskeskus.
2020. aasta rahvaloenduse andmetel oli Petroskoi elanikest venelasi 69,70%, karjalasi 2,66%, valgevenelasi 0,92%, ukrainlasi 0,88%, soomlasi 0,75%, vepslasi 0,57%, armeenlasi 0,30% ja asereid 0,28%. Teistest rahvustest inimesi ja neid, kel rahvus teadmata oli 23,94%.[1]