A Schwarzer Kocher Oberkochentől délre ered. A második forrás, a Weißer Kocher Unterkochentől nyugatra több kisebb forrásból ered. A Weißer Kocher elnevezés a víz fehér habjáról származik, amikor gyorsan átcsap a köveken. Ezzel szemben a Schwarzer Kocher meglehetősen lassan folyik, és a fedett talaj sötét színt kölcsönöz a víznek. Mindkét forrásvíz Unterkochenben egyesül, és észak felé folyik Aalen és Wasseralfingen városán keresztül Hüttlingenig, ahol a Kocher nyugatra, Abtsgmünd irányába fordul. Itt a Lein folyó a Kocherbe ömlik. A Kocher ezután tovább kanyarog északnyugat felé Unterrotig, ahol a Rot folyóba torkollik, és Gaildorf és Schwäbisch Hall városokig tart. Geislingen közelében a Bühler folyó a Kocherbe ömlik. A Kocher aztán egy széles kanyarban ismét nyugatra fordul, belevág a Hohenlohe-síkságba, és Künzelsaun keresztül folyik. Tovább halad Neuenstadt am Kocherig, ahol a Brettach folyóba torkollik. Bad Friedrichshall közelében a Kocher a Neckarba torkollik, néhány kilométerrel feljebb a Jagst folyó torkolatától, amely nagyjából a Kocherrel északkeletre párhuzamosan folyik.
.