Das Kraftwerk St. Johann ist das oberste Glied der Kraftwerkskette an der Mittleren Salzach. Ihm folgt flussabwärts das Unterlieger-Kraftwerk Urreiting, während flussaufwärts das Kraftwerk St. Veit situiert ist. Im Süden der Ortschaft St. Johann im Pongau und der Salzach-Brücke gelegen, erfolgt die Zufahrt vom rechten Flussufer über eine Abzweigung von der Landesstraße 109.
Das Kraftwerk ist senkrecht zur Flussachse situiert und besteht aus dem am rechten Ufer anschließenden Krafthaus und der bis zum linken Ufer reichenden Wehranlage. Das Krafthaus wurde über einer Fläche von etwa 41/33 m errichtet und ragt im Durchschnitt 15 m über dem Spiegel des Unterwassers auf. Die niedrige Bauweise wurde durch den horizontalen Einbau der Maschinensätze ermöglicht.
Das Krafthaus von St. Johann erhielt einen Mittelrisalit, der über einer Lamellenverblendung im Erdgeschoß zur Gänze mit eloxierten Aluminiumtafeln verkleidet ist. Es setzt sich aus zwei über rechteckigem Grundriss errichteten, mit den Längsseiten aneinander gebauten Trakten zusammen, die in der Höhe gestaffelt und mit begrünten Flachdächern versehen sind. Der höhere Haupttrakt enthält die Maschinenhalle und besitzt eine breite Attika, die mit Elementen aus eloxiertem Aluminium verkleidet ist.
Der längere, niedrigere Nebentrakt ist zweigeschoßig und besitzt glatte, zum Teil mit Kletterpflanzen bewachsene Sichtbeton-Außenflächen, in die unterwasserseitig hochrechteckige Fensteröffnungen eingeschnitten sind. Horizontale Fugen gliedern die Betonflächen und führen die Kompositionslinien von Fenster- und Torelementen weiter. Ein breites, leicht aus der Fassadenflucht vorkragendes Band aus flachen Betontrögen trennt die Geschoße und dient zur Aufnahme von Kletterpflanzen. Im Erdgeschoß befindet sich vor den Räumen der Transformatoren eine Öffnung mit Lamellenverkleidung.
Die mit Lichtkuppeln versehene Unterwasserplattform ist begrünt und mit Bäumchen bepflanzt. Uferseitig schließt im rechten Winkel zum Krafthaus ein niedriger Garagentrakt an, der ebenfalls eine Attikaverkleidung aus eloxierten Aluminiumtafeln besitzt.Von der Fassade zurückversetzt liegt das bis zur Dachkante reichende Einfahrtstor zur Maschinenhalle.
Auch die Anordnung der Räume und die Innengestaltung ist bei den Kraftwerken Bischofshofen, Urreiting, St. Veit, St. Johann und ebenso jene des Kraftwerks Kreuzbergmaut im Wesentlichen gleich gelöst und bei St. Veit lediglich gespiegelt ausgeführt: Vom Einfahrtstor gelangt man in die Maschinenhalle mit dem direkt hinter der Einfahrt situierten Montageplatz. Der Raum der Halle ist vollkommen leer, da die beiden horizontal eingebauten Rohrturbinen zur Gänze unter dem Bodenniveau situiert sind.
In der Bodenfläche sind die Abstiegsschächte zu den Maschinensätzen angeordnet. Als Träger für die Bahn des Hallenkrans dienen Betonbinder, an deren Unterseite Leuchtstoff-Röhren angebracht sind. Oberwasser- und unterwasserseitig der Maschinenhalle ist jeweils ein zweiarmiger Stiegenlauf angeordnet. In die Platten-Balkendecke sind einzelne, verglaste Bänder zur Belichtung der Halle integriert. Zwei Stahltore in der unterwasserseitigen Längswand der Halle erschließen die Räume der beiden Haupttransformatoren. Der anschließende Leitstand ist von der Maschinenhalle durch einen Raumteiler aus Glas und Aluminium getrennt. Im Obergeschoß befinden sich unter Anderem eine 30 kV-Schaltanlage, oberwasserseitig an die Wehranlage anschließend der Hydraulik-Raum für die Steuerung der Wehrfelder, unterwasserseitig Personalräume. In den Untergeschoßen sind die Maschinensätze, die hydraulischen Turbinenregler, die Eigenbedarfs-Transformatoren, der Fernwirkraum und andere technische Einrichtungen situiert.
Die Wehranlage besitzt drei jeweils 10 m breite Felder mit einer Stauwandhöhe von 10,6 m. Die 38,20 m langen und 3 m breiten Wehrpfeiler sind mit abgerundeten Enden gestaltet und unterwasserseitig abgestuft. Am rechten Flussufer befindet sich eine Fischtreppe. Der etwa 1,8 km lange Stauraum ist in seinem obersten Drittel im ursprünglichen Zustand belassen. Der 2,1 km lange Unterwasser-Bereich ist auf die Uferverbauung im Ortsgebiet von St. Johann abgestimmt. Entlang der Ufer führen Rad-, Geh- und Reitwege.