发源于云南省镇雄县场坝镇豆戛寨山箐,上游称鱼洞河,东流至川、滇、黔三省交界处的梯子岩,水量增大,经贵州省毕节市的七星关区、金沙县与四川省叙永县、古蔺县边界,进入仁怀市、习水县、赤水市,至四川省合江县入长江。全长444.5公里,流域面积2.04万平方公里。