Sie entspringt in den Radstädter Tauern Bundesland Salzburg . Von dort fließt sie in einem der Eiszeit entstandenen Tal an der Grenze zwichen Nördlichen Kalkalpen und der Zentralalpen in östlicher Richtung durch die Steiermark und passiert das Dachsteinmassiv auf der Südseite. Zwischen Admont und Hieflau durchbricht sie in einer etwa 15 langen Schlucht dem sogenannten Gesäuse den Kalkalpenstock der Ennstaler Alpen. Danach sie nach Norden ab und erreicht an Einmündung des Laußabachs das Bundesland Oberösterreich . Nördlich von Steyr bildet sie die Grenze zwischen Oberösterreich Niederösterreich (früher auch Österreich ob der Enns und Österreich unter der Enns ). Schließlich mündet sie bei Mauthausen und der Stadt Enns in die Donau .
Die Enns ist ein typischer Wildwasserfluss hat mit über 6.000 km² das fünftgrößte Österreichs . An der Mündung beträgt die durchschnittliche 201 m³ pro Sekunde .