El municipio se encuentra localizado en el extremo occidental del Valle de Acatlán, en el suroeste del estado mexicano de Puebla.