Krkonoše sú starým masívom tvoreným prevažne hercýnskymi žulami (nazývané Krkonoše a vyskytujúce sa v niekoľkých variantoch), tvoriace intruzívne jadro Izersko-karkonského bloku obklopené premenenými prekambrickými a paleozoickými horninami (napríklad amfibolity a rohovce). V perme bol odkrytý žulový blok Krkonoš (290-245 min rokov, ale jeho zdvíhanie pokračuje rýchlosťou 1-1,5 mm za rok) a odvtedy vonkajšie faktory formovali povrch krajiny. Miesto intenzívnych denudatívnych pohybov (deštruktívne, rovnanie) z obdobia paleogénu je povrch rovnice – Równia pod Śnieżkou, nad ktorými sú nejaké tvrdé inselbergy.
Počas alpskej orogenézy boli Krkonoše spolu s celými Sudetmi opäť zdvihnuté a rozdrvené zlomami.. Do vytvorených puklín prenikla láva, vymrznutie na povrch v podobe čadičových žíl (napríklad v západnej stene Malého zasneženého kotlíka).
Na konci behu od 1,8 min rokov do 10 tisíc. pred rokmi doba ľadová (pleistocén) Krkonoše zaľadnené. Vtedy sa vytvoril tucet miestnych údolných ľadovcov. Na oboch stranách masívu Śnieżky vznikli ľadovcové cirkusy, z ktorého vytekali ľadové jazyky (na poľskej strane v údolí Łomniczka a na českej strane v údolí Úpy – tento jazyk bol najdlhší a dosiahol 5 km). Procesy erózie a akumulácie ľadovcov a vody–v dobe ľadovej sa vytvorilo množstvo reliéfov (kotly, Údolia v tvare U, matka, aluviálne a výsypné kužele a priehlbiny, neskôr naplnené vodami jazier). V chladných klimatických podmienkach sa zintenzívnilo mrazové vetranie, ktorého účinkom sú okrem iného aj rozsiahle sutiny (štrková jama, najmä veľké na Snežke), osamelé odľahlé skaly a sutinové vence.
Dnes sa reliéf hôr stále mení, hlavne vplyvom gravitačných pohybov hmoty, povrchových a podzemných vôd, povrchové oplachy a oplachy spôsobené aj ľudskou činnosťou.
Hlavný hrebeň Karkonosze je európskou časťou vôd oddeľujúcich povodia Severného mora (Povodie Labe) a Baltského mora (povodie Odry). Horské jazerá (kĺbov) postglaciálneho pôvodu je málo: Mały a Wielki Staw a Śnieżne Stawki v Śnieżne Kotły.