Nasce no município de Franca na localização geográfica, latitude 20º31'23" Sul e longitude 47º08'06 Oeste. Da nascente segue em direção norte do estado de São Paulo, fazendo a divisa com Minas Gerais.
Passa pelos municípios de: Franca, Cristais Paulista, Ibiraci, Claraval e Pedregulho. Em Pedregulho se torna afluente do rio Grande desaguando na represa da UHE Luiz Carlos Barreto de Carvalho na localização geográfica, latitude 20º12'17" Sul e longitude 47º12'20 Oeste.
Percorre neste trajeto uma distância de mais ou menos 46 quilômetros.
O rio Canoas era conhecido no início do século XIX como "rio das Capivaras". Há duas explicações para a mudança: uma é que às margens do rio, no atual município de Guaranésia, havia se instalado José Maria Ilhoa, que era conhecido como "Canoas", e o Rancho do Canoas acabou por dar novo nome ao rio.[2] Outra versão, porém, dá conta de que a navegação do rio por canoeiros motivou a mudança, e que Ilhoa ganhou o apelido justamente por ter seu rancho à beira do rio das Canoas.[3]