L'Inn prend sa source à 2 484 mètres d'altitude, non loin du Col de la Maloja en Engadine (Suisse). Elle provient du lac de Lunghin. À sa source, elle est appelée En, en romanche. Elle traverse ensuite les lacs de Sils, de Silvaplana et de Saint-Moritz, les communes de Samedan, Bever, Zuoz, Zernez et Scuol avant de longer la frontière helvético-autrichienne sur quelques kilomètres. Puis elle entre en Autriche et traverse le Tyrol autrichien et la ville d'Innsbruck, qui lui doit son nom (littéralement Pont de l'Inn). Entre Kufstein et Erl, elle définit la frontière austro-allemande avant d'entrer en Bavière (Allemagne). À Passau elle se jette dans le Danube dont le débit, à cet endroit, est moins important que celui de l’Inn.
Depuis que la frontière sud de l'Autriche a été ramenée, par les traités de 1919, à la ligne de faîte des Alpes, la vallée de l'Inn est devenue l'artère vitale du Tyrol.