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ą.