Nace en el estado de Zacatecas, unos 60 km al oeste de la ciudad de Fresnillo y a unos 40 km al sur del trópico de Cáncer, en el parteaguas de este río y el río Aguanaval.
Unos 85 km adelante, entra en el estado de Jalisco para desembocar en el río Santiago, aproximadamente a unos 40 km al noroeste de la ciudad de Tequila.
Sus últimos 32 km sirven de límite entre los estados de Jalisco y Nayarit.
Las principales localidades que atraviesa son: Su principal afluente es el río Colotlán.