Karkonosze są starym masywem zbudowanym przede wszystkim z granitów hercyńskiech (zwanych karkonoskimi i występujących w kilku odmianach), tworzących intruzyjne jądro bloku izersko-karkonoskiego w otoczeniu przeobrażonych skał prekambryjskich i paleozoicznych (na przykład amfibolitów i hornfelsów). Granitowy blok karkonoski został odsłonięty w permie (290-245 min lat, ale jego wypiętrzanie trwa nadal z szybkością 1-1,5 mm rocznie) i od tego czasu czynniki zewnętrzne kształtowały powierzchnię terenu. Siadem intensywnych ruchów denudacyjnych (niszczących, zrównujących) z okresu paleogenu jest powierzchnia zrównania – Równia pod Śnieżką, ponad którą sterczą twardzielcowe ostańce.
Podczas orogenezy alpejskiej Karkonosze wraz z całymi Sudetami zostały ponownie wydźwignięte i potrzaskane uskokami. W powstałe szczeliny wdarła się lawa, zastygając na powierzchni w formie żył bazaltowych (na przykład w zachodniej ścianie Małego Śnieżnego Kotła).
Pod koniec trwającej od 1,8 min lat do 10 tys. lat temu epoki lodowcowej (plejstocenu) Karkonosze uległy zlodowaceniu. Powstało wówczas kilkanaście lokalnych lodowców dolinnych. Po obu stronach masywu Śnieżki powstały cyrki lodowcowe, z których spływały jęzory lodowe (po stronie polskiej w dolinie Łomniczki i po stronie czeskiej w dolinie Upy – ten jęzor był najdłuższy i osiągał 5 km). Procesy erozji i akumulacji lodowcowej i wodno–lodowcowej w czasie zlodowacenia doprowadziły do powstania wielu form ukształtowania terenu (kotłów, dolin U-kształtnych, moren, stożków napływowych i usypiskowych oraz zagłębień, wypełnionych później wodami jezior). W warunkach zimnego klimatu nasiliło się wietrzenie mrozowe, którego efektem są między innymi rozległe rumowiska (gołoborza, szczególnie duże na Śnieżce), samotne skałki ostańcowe oraz wieńce gruzowe.
Współcześnie rzeźba gór podlega nadal zmianom, zachodzącym głównie pod wpływem grawitacyjnych ruchów masowych, działalności wód powierzchniowych i podziemnych, spłukiwaniu powierzchniowemu i również będących skutkiem działań człowieka.
Głównym Grzbietem Karkonoszy przebiega europejski dział wód rozdzielający zlewiska Morza Północnego (dorzecze Łaby) i Morza Bałtyckiego (dorzecze Odry). Górskie jeziora (stawy) pochodzenia polodowcowego są nieliczne: Mały i Wielki Staw oraz Śnieżne Stawki w Śnieżnych Kotłach.