Se localiza al oriente del Estado, en las coordenadas 19º35' de latitud norte y 100º20' de longitud oeste, a una altura de 2,300 metros sobre el nivel del mar. Limita al norte con Aporo y Angangueo, al este con el Estado de México, al sur con Zitácuaro y al oeste con Tuxpan. Su distancia a la capital del Estado es de 156 km.
Su superficie es de 145.7 km² y representa el 0.24 por ciento del total del Estado.
Su relieve lo constituyen el sistema volcánico transversal, Sierra de Angangueo, cerros: Camacho, de San Cristóbal, Huacal, Picacho, Las Trojes y otros.
Su hidrografía se constituye por, la presa de Ocampo, el río Puerco y los arroyos "El Salto" y el Ojo de agua.
Tiene clima templado con lluvias en verano y templado con lluvias todo el año. Tiene una precipitación pluvial anual de 901.7 milímetros y con temperaturas que oscilan entre 8.3 y 25.4º centígrados.
En el municipio dominan los bosques de coníferas, pino, oyamel y junípero y el bosque mixto con cedro y pino. Su fauna se conforma por, comadreja, conejo, cacomiztle, zorro, tejón, tórtola y pato y en el invierno la mariposa monarca.
La superficie forestal maderable, es ocupada por encino, pino y oyamel, la no maderable, es ocupada por matorrales diversos.
Los suelos del municipio datan del período cenozoico, terciario inferior y paleoceno y corresponden principalmente a los del tipo podzólico. Su uso es primordialmente forestal y en menor proporción agrícola.