Kalaporras on kalojen kulkuväylänä toimiva kalatie padotuissa joissa. Kalaporras koostuu peräkkäisistä, pienehköistä vesialtaista ja altaiden välissä olevista pienistä putouksista. Kalaportaassa jatkuvasti virtaavassa vedessä kalat pystyvät uimaan korkeankin padon yläpuoliseen veteen, kun suuri putouskorkeus on jaettu moneen pieneen putoukseen. Suomessa on joitakin hankkeita meneillään kalaportaiden lisäämiseksi padotuissa joissa.
Veden virtausta kalaportaissa voidaan rajoittaa eri tavoin. Pohjapadolla rajatuissa portaissa kalat joutuvat loikkaamaan portaalta toiselle. Rakotyyppisissä portaissa vesi virtaa altaasta toiseen kapean raon kautta, jolloin kalat voivat uida ylävirtaan.