Sotobosque de hayedos, alcornocales, quejigares, fresnedas, pinares o de bosques mixtos, brezales, herbazales, pastizales montanos, lugares húmedos y sombríos, bordes de camino y márgenes de río, fisuras de rocas, taludes rocosos, lugares abiertos y soleados, en substrato silíceo, arenoso o calizo; crece desde el nivel del mar hasta 2000 m de altitud.