Se localiza al noroeste del Estado, en las coordenadas 19º57’ de latitud norte y 102º26’ de longitud oeste, a una altura de 1,670 metros sobre el nivel del mar. Limita al norte con Chavinda, al este con Zamora, Jacona y Tangancícuaro, al sur con Tangancícuaro, y al oeste con Tingüindín y Villamar. Su distancia a la capital del Estado es de 165 km.
Su superficie es de 315.50 Km² y representa el 0.53 por ciento del total del Estado 165 km.
Su relieve lo constituyen el sistema volcánico transversal, los cerros Blanco, Huanúmera, Prieto, Cuate, La Loca, Guayabo y la sierra Tarécuaro.
Su hidrografía se constituye principalmente por arroyos: colorado y prieto, manantiales de agua fría y algunas presas.
Su clima es templado, tiene una precipitación pluvial anual de 700.0 milímetros y temperaturas que oscilan entre 2.6 y 38.0º centígrados.
En el municipio domina el bosque mixto con pino y encino y el bosque tropical deciduo con parota, guaje, cascalote y cirian. Su fauna la conforman el venado, cacomixtle, gato montés, ardilla, mapache, cerceta, torcaz y pato.
La superficie forestal de maderables es ocupada por pino, encino, y en el caso de las no maderables, por matorrales de distintas especies.
Los suelos del municipio datan de los períodos cenozoico, terciario y mioceno, corresponden principalmente a los del tipo chernozem. Su uso es primordialmente ganadero y en menor proporción forestal y agrícola.