Crece desde los 24° a 18° de latitud norte y entre los 1800 y 2700 m sobre el nivel del mar. No soporta grandes periodos de temperaturas tan bajas como -10 °C, pero puede sobrevivir en climas más fríos por poco tiempo. Es moderadamente tolerante a la sequía, en este ámbito es superior que Pinus taeda. El rango de lluvias va desde los 750 a 2000 mm anuales, y ocurre principalmente en verano pero en el estado de Veracruz en la Sierra Madre Oriental su hábitat es lluvioso todo el año.