El municipio se sitúa en la vertiente oriental de la Sierra Norte de Puebla, por lo que se encuentra a una altitud relativamente baja, de entre 80 y 360 msnm en su punto más alto, que es el cerro de la Campana, localizado en el suroeste del municipio.