El municipio es recorrido por varios ríos permanentes que en general lo bañan de sur a norte, destacan los siguientes: el río Xolóatl, que nace en las estribaciones del cerro Tesivio y recorre el municipio por más de 15 kilómetros, comunicándose posteriormente al río Las Margaritas afluente del río Viejo que a su vez es tributario del Tecolutla.