Il prend sa source dans le Land de Salzbourg dans les Radstädter Tauern à 1 375 m d´altitude. Il coule vers l´est, traverse Radstadt (4800 habitants) et passe ensuite en Styrie dans la station de sport d´hiver de Schladming (4500 habitants) et forme pendant 100 km une longue et large vallée bordée au nord par les falaises de calcaire du massif du Dachstein et au sud par les pentes douces des Niedere Tauern. La plus grosse ville de cette vallée est Liezen (6800 habitants) qui est aussi la capitale du district. Après Admont (2600 habitants) et son abbaye, il traverse une gorge de 15 km, les Gesäuse qui lui permettent de franchir les Alpes de la vallée de l´Enns. Il tourne vers le nord, reçoit sur sa droite les eaux de la Salza peu avant son entrée en Haute-Autriche, reçoit ensuite à gauche celle de la Steyr lors de la traversée de la ville de Steyr (un centre métallurgique, 40.000 habitants) et forme ensuite la frontière entre la Haute-Autriche (anciennement l´Autriche au dessus de l´Enns) et la Basse-Autriche (anciennement l´Autriche en dessous de l´Enns) jusqu'à son confluent dans le Danube jute après la ville de Enns (11000 habitants, Lauriacum au temps des romains) en face de Mauthausen à 245 m d´altitude. Pendant l´occupation (1945-1955), c´est donc sur un pont de l´Enns que se trouvait la principale frontière entre la zone soviétique et les zones occidentales.
10 centrales électriques ont été construites sur l´Enns assurant une production de 345 MW essentiellement pendant la semaine de 8 à 21 heures. Le débit est donc plus important pendant la journée que pendant la nuit. Ces centrales sont placées sous la direction de Ennskraftwerk AG, une filiale de la Verbund. Le débit à Admont est de 50 m³/s et de 200 m³/s au confluent.
L´Enns est particulièrement apprécié des amateurs de kayak. Une piste cyclable (R7) de plus de 240 km a été tracée le long de son cours depuis la source jusqu´au Danube.