Nace al sur de Huauchinango con el nombre de Totolapa, que corre en medio de abruptas montañas y se precipita despeñándose hasta el fondo de los profundos barrancos, formando las cascadas llamadas Salto Chico y Salto Grande; sus aguas se emplean principalmente para la generación de energía eléctrica.
El río Necaxa que nace en el estado de Puebla y se extiende hacia el estado de Veracruz.
Se construyó la presa Necaxa, que conjuntamente con las presas de El Tejocotal, Los Reyes, Nexapa y Tenango forman el sistema hidroeléctrico Necaxa.
La presa Necaxa se ubica dentro del municipio de Juan Galindo y, de ella prosigue el río Tepexic, que corre de oeste a este, y constituye uno de los afluentes del Necaxa.
A través de un túnel se une al río de Patla, bañando en su recorrido por el estado de Puebla varios municipios de la Sierra Norte, como Patla y Chicontla, al ingresar a territorio del estado de Veracruz, atraviesa los municipios de Cuahuitlán, Coyutla, Espinal, Papantla, Gutiérrez Zamora y finalmente Tecolutla, aumentando su caudal al unírsele otros afluentes, formando así el río Tecolutla, que acaba desembocando en el golfo de México en el municipio del mismo nombre.