Se localiza en la porción noroeste de la Sierra Norte; la Sierra de Puebla forma parte de la Sierra Madre Occidental, está formado por sierras más o menos individuales, paralelas unas con otras, y suelen formar grandes o pequeñas altiplanicies intermontañosas que aparecen frecuentemente escalonadas hacia la costa. Tiene una superficie de 99.14 kilómetros cuadrados que lo ubica en el lugar 140 respecto a los demás municipios del estado.