Upių tinklas
Lietuvos upės susidarė tirpstant ledynui paskutiniojo apledėjimo metu. Vandenys išgraužė upių slėnius, vėliau jie dar keitėsi dėl erozijos. Lietuva yra drėgmės pertekliaus zonoje, todėl jos upių tinklas tankus (vidutinis tankumas yra beveik 1 km/km²). Lietuvoje priskaičiuojama apie 30 000 įvairaus dydžio bei ilgio upių ir upelių, kurių bendras ilgis siekia apie 64 000 km. Jei sujungtume upes vieną su kita, galėtume Lietuvos upėmis apjuosti visą Žemės rutulį. Tačiau tik 18 upių yra ilgesnės negu 100 km. Upės Lietuvoje pasiskirsčiusios netolygiai. Tai priklauso nuo įvairių veiksnių: paviršiaus nuolydžio, kritulių kiekio, dirvožemio vandens laidumo, ežerų bei pelkių pasiskirstymo. Tankiausias upių tinklas būdingas Žemaičių aukštumos pietvakarinei daliai, kur iškrinta daugiausiai kritulių, ir Vidurio Lietuvos žemumai, nes čia paviršių sudaro vandeniui nelaidūs priemoliai. Rečiausias upių tinklas yra Pietryčių Lietuvoje, nes čia krituliai susigeria į smėlingą dirvą.
Upių baseinai
Lietuvos upės priklauso šešiems upių, įtekančių į Baltijos jūrą, baseinams. Tačiau daugiau kaip 70 % Lietuvos teritorijos upių subėga į Nemuno ir jo intakų (Neries, Nevėžio, Jūros, Merkio) baseinus. Nemuno baseinas užima beveik visą šalies teritoriją, išskyrus šiaurinę dalį. Į Baltijos jūrą Lietuvos teritorijoje be Nemuno įteka Baltijos mažųjų upių baseino upės (Šventoji, Bartuva, Danė, Smeltalė). Visos kitos šiaurinėje Lietuvos dalyje esančios upės į Baltijos jūrą įteka Latvijos teritorijoje. 13,8 % Lietuvos ploto užima Lielupės baseinas, kuriam priklauso Mūšos-Nemunėlio žemuma tekančios upės. 8 % teritorijos priklauso Ventos baseinui, 2,9 % – Dauguvos baseinui (Dysna, Laukesa). Mažiausia Lietuvos teritorijos dalis tenka Priegliaus baseinui (0,01 %).