काली नदी का मूल स्त्रोत भारत और तिब्बत की सीमा पर स्थित लिपु-लीख दर्रे के निकट कालापानी माना जाता है, हालांकि नदी के कुछ भौगोलिक स्त्रोत यहाँ से ५ किलोमीटर आगे नेपाल तथा तिब्बत में भी स्थित हैं। १८१६ की सुगौली संधि के अनुसार कालापानी से आगे यह नदी भारत तथा नेपाल के बीच अंतर्राष्ट्रीय सीमा बनाती है। तवाघाट में (२९º५७'N, ८०º३६'E) धौलीगंगा नदी काली में दायीं ओर से मिलती है। आगे काली धारचूला नगर से होकर गुजरती है, और जौलजीबी नामक स्थान पर गोरी नदी से मिलती है। यह स्थान एक वार्षिक मेले के लिए जाना जाता है। 

२९º३६'N, ८०º२४'E पर काली में बायीं ओर से चमेलिया नदी नेपाल की गुरंस हिमल पहाड़ियों से दक्षिण पश्चिम में बहने के बाद मिलती है। थोड़ा आगे ही झूलाघाट नगर (२९º३४'N, ८०º२१'E) पड़ता है, जिसका बाज़ार नदी के दोनों किनारों पर फैला है। इसके बाद नदी पंचेश्वर पहुँचती है, जहाँ इसमें दायीं ओर से सरयू नदी आकर मिलती है। सरयू काली की सबसे बड़ी सहायक नदी है। पंचेश्वर के आसपास के क्षेत्र को 'काली कुमाँऊ' कहा जाता है। 
काली नदी जोगबुधा घाटी के पास पहाड़ो से नीचे मैदानो पर उतरती है, जहाँ इसमें दायीं ओर से लढ़िया (२९º१२'N, ८०º१४'E) तथा बायीं ओर से रामगुण नदी (२९º९'N, ८०º१६'E) आकर मिलती हैं। इसके बाद इसे शारदा के नाम से जाना जाता है। टनकपुर नगर में नदी पर एक बाँध है, जहाँ से पानी एक सिंचाई नहर की ओर भेजा जाता है। आगे चलकर यह नदी, करनाली नदी से मिलती है और बहराइच जिले में पहुँचने पर इसे एक नया नाम मिलता है: सरयू। सरयू आगे चलकर गंगा नदी में मिल जाती है।

सिंचाई और जलविद्युत ऊर्जा के लिए बनाया जा रहा पंचेश्वर बांध, जो नेपाल के साथ एक संयुक्त उद्यम है, शीघ्र ही सरयू या काली नदी पर बनाया जाएगा। टनकपुर पनविद्युत परियोजना (१२० मेगावाट) अप्रैल १९९३ में उत्तराखंड सिंचाई विभाग द्वारा साधिकृत की गई थी, जिसके अंतर्गत चमोली के टनकपुर कस्बे से बहने वाली शारदा नदी पर बैराज बनाया गया।

काली नदी गंगा नदी प्रणाली का एक भाग है। 

२००७ में काली नदी, गूँच मछ्लीयों के हमलो के कारण समाचारों में भी छाई।
पनबिजली
सिंचाई
प्रवाह
चमेलिया पनबिजली परियोजना