Tiene colindancia al norte y a este con el municipio de Abasolo, al sur con el estado de Michoacán y al oriente con el municipio de Valle de Santiago. Posee una extensión territorial de 130.57 kilómetros cuadrados y se localiza a una altitud promedio de 1,715 metros sobre el nivel del mar.