Se localiza en la parte noroeste del estado, en la región de la mixteca, en las coordenadas 97°41' de longitud oeste y 18°11' de latitud norte, a una altura de 1,700 metros sobre el nivel del mar. Limita al norte con Estado de Puebla; al sur con Cozoltepec, San Pedro y San Pablo Tequixtepec; al oriente con Estado de Puebla; al poniente con el Estado de Puebla. La superficie total del municipio es de 346.93 km²