Localizado en la zona mixteca del estado de Oaxaca, posee una superficie territorial de 820.35 kilómetros cuadrados y una altura promedio de 2,080 metros sobre el nivel del mar. Presenta límites al norte con los municipios de San Miguel Chicahua y San Pedro Jaltepetongo, al sur con Magdalena Jaltepec y Santa Inés de Zaragoza, al oeste Santa María Chachoapam y San Juan Sayultepec, finalmente en la parte este limita con los municipios de Santiago Huaucilla y San Pedro Cántaros Coxcaltepec.