Los principales cuerpos de agua están representados por los ríos Tacotalpa que al pasar por el municipio adopta el nombre de río de la Sierra, recibiendo como afluentes a los ríos de Teapa y Puyacatengo, otro que atraviesa el municipio es el río Puente Grande.