Se localiza en el estado de Chiapas, a 83 km al este de la ciudad de Tuxtla Gutiérrez, por la carretera núm. 190. La temperatura media anual es de 18°C y recibe una precipitación  pluvial promedio de 1 186 milímetros.

Situado en el altiplano central, a más de 2,200 m.s.n.m., dos tercios de su superficie es montañosa, el resto lo ocupa un extenso valle. Limita al norte con los municipios de San Juan Chamula y Tenejapa; al este con Huixtán; al sur con Teopisca; al suroeste con Totolapa, Chiapilla y San Lucas, y al oeste con Zinacantán.

Las principales corrientes son los ríos Amarillo y Fogótico y los arroyos Chamula, Peje de Oro y Ojo de Agua. Del Valle de San Cristóbal desembocan en los sumideros, conductos por donde penetran al subsuelo, volviendo a la superficie en el municipio de San Lucas para formar el río Frío. Otros recursos son las aguas de Chapultepec y de Cochil.