Elva har sitt utspring i Udmurtia vest i Russland, og flyter derfra et stykke østover før den snur mot sør og tilbake mot vest i Perm kraj. Den renner inn igjen i Udmurtia før den i Tatarstan møter Volga. Den totale lengden er 1 805 km. På denne strekningen flyter den forbi byene Solikamsk, Berezniki, Perm, Sarapul og Naberezjnyje Tsjelny.