Der Schwarze Kocher entspringt südlich von Oberkochen. Die zweite Quelle, der Weiße Kocher, entspringt westlich von Unterkochen aus vielen kleinen Quellen. Der Name Weißer Kocher kommt von dem weißen Schaum, den das Wasser hat, wenn es schnell über die Steine rauscht. Im Gegensatz dazu fließt der Schwarze Kocher eher langsam und der bewachsene Boden verleiht dem Wasser eine dunkle Farbe. Beide Quellflüsse vereinigen sich in Unterkochen und fließen nördlich durch die Stadt Aalen und Wasseralfingen bis Hüttlingen, wo der Kocher nach Westen in Richtung Abtsgmünd abbiegt. Hier mündet die Lein in den Kocher. Der Kocher schlängelt sich dann weiter nach Nordwesten bis Unterrot, wo er in die Rot mündet und weiter bis zu den Städten Gaildorf und Schwäbisch Hall fließt. Bei Geislingen fließt die Bühler in den Kocher. In einem weiten Bogen wendet sich der Kocher dann wieder nach Westen, schneidet in die Hohenloher Ebene ein und fließt durch Künzelsau. Er fließt weiter bis Neuenstadt am Kocher, wo er in die Brettach mündet. Bei Bad Friedrichshall mündet der Kocher in den Neckar, wenige Kilometer flussaufwärts von der Jagstmündung, die mehr oder weniger parallel zum Kocher nach Nordosten fließt.
Verlauf des Kochers und seiner Hauptzuflüsse
Die Henkersbrücke überspannt den Kocher bei Schwäbisch Hall