Colinda al norte con el municipio de Santiago de Anaya, al noroeste por Metztitlán, al este por Atotonilco el Grande, al sudeste por el municipio de Mineral del Chico, al sur por los municipios de El Arenal y San Agustín Tlaxiaca y finalmente al este se encuentra San Salvador. Posee una extensión territorial de 280.10 kilómetros cuadrados.