Le Schwarzer Kocher prend sa source au sud d’Oberkochen. La deuxième source, le Weißer Kocher prend sa source à l’ouest d’Unterkochen à partir de nombreuses petites sources. Le nom Weißer Kocher vient de l’écume blanche de l’eau lorsqu’elle se précipite rapidement sur les pierres. En revanche, le Schwarzer Kocher s’écoule plutôt lentement et le sol couvert donne à l’eau une couleur sombre. Les deux cours d’eau se rejoignent à Unterkochen et coulent vers le nord à travers la ville d’Aalen et Wasseralfingen jusqu’à Hüttlingen, où le Kocher tourne vers l’ouest en direction d’Abtsgmünd. C’est là que la rivière Lein se jette dans la Kocher. La Kocher serpente ensuite vers le nord-ouest jusqu’à Unterrot, où elle reçoit la rivière Rot et continue vers les villes de Gaildorf et Schwäbisch Hall. Près de Geislingen, la rivière Bühler se jette dans la Kocher. Dans une large courbe, la Kocher tourne à nouveau vers l’ouest, entrant dans la plaine de Hohenlohe et traversant Künzelsau. Elle continue jusqu’à Neuenstadt am Kocher où elle reçoit la rivière Brettach. Près de Bad Friedrichshall, la Kocher se jette dans le Neckar, à quelques Kilomètres en amont de l’embouchure de la rivière Jagst, qui coule plus ou moins parallèlement au nord-est de la Kocher.
.