El municipio se encuentra en el sur del estado de Puebla en la región Mixteca, tiene una extensión territorial de 430.678 kilómetros cuadrados y sus coordenadas extremas son 18° 07' - 18° 25' de latitud norte y 97° 24' - 97° 41' de longitud oeste.