The Enns has its source in the Radstädter Tauern mountains in the Austrian state of Salzburg. In a valley which developed during the ice age, it flows at the border between the Northern Limestone Alps and the Central Eastern Alps on an eastern trajectory through Styria, where it passes the Dachstein group at its southern side. Between Admont and Hieflau, it takes a turn to the North and passes through the Gesäuse, a gorge of a length of 15 km (9.3 mi), where it penetrates the limestone of the Ennstaler Alpen. Flowing to the north from there on, it reaches the state of Upper Austria at the mouth of the
Laußabach. North of Steyr, it forms the border between Upper Austria and Lower Austria (formerly also known as Austria above the Enns and Austria below the Enns). Finally, it meets the Danube at Mauthausen and the city of Enns.
The Enns is a typical wild water river and draws its water from an area of more than 6,000 square kilometres (2,300 sq mi), which is the fifth-largest in Austria. The average outflow at its mouth is 201 cubic metres per second (7,100 cu ft/s).
The Anisian Age in the Triassic Period of geological time is named from Anisus, the Latin name of the river Enns.