# St. Gallen S-Bahn

The St. Gallen S-Bahn (German: S-Bahn St. Gallen) is an S-Bahn-style commuter rail in Eastern Switzerland and neighbouring areas. The network connects stations in the Swiss cantons of Appenzell Ausserrhoden, Appenzell Innerrhoden, Glarus, Grisons, Schaffhausen, St. Gallen, Thurgau and Zürich, as well as a few stations in Austria (Bregenz, Vorarlberg) and Germany (Konstanz, Baden-Württemberg and Lindau, Bavaria). Some services also operate as part of the Bodensee S-Bahn.
Services are operated by Appenzeller Bahnen (AB), Südostbahn (SOB), and THURBO. Within Switzerland and until Konstanz, services operate within the Tarifverbund Ostwind [de] (Ostwind transit district) of northeastern Switzerland and Liechtenstein.

## Lines
### S-Bahn

As of December 2023, the network consists of 22 lines, numbered 1‒2, 4‒7, 9‒10, 12, 14‒15, 17, 20‒26, 44 and 81‒82, using the "S" prefix typical for most S-Bahn systems. Only lines S1, S2, S4, S5, S20, S21, S22, S81 and S82 pass through or terminate in St. Gallen.
Unless stated otherwise, the lines are 1,435 mm or 4 ft 8+1⁄2 in standard gauge adhesion railways.
| # | Route | Notes | Operator |
| S1 | Wil SG–St. Gallen–Romanshorn–Kreuzlingen–Stein am Rhein–Schaffhausen | Operates every half hour | THURBO |
| S2 | Nesslau-Neu St. Johann–Herisau–St. Gallen–Rorschach–Altstätten SG | | THURBO |
| S4 | Rapperswil–Uznach–Wattwil–St. Gallen–Buchs SG–Sargans | Does not call at stations between Rapperswil and Uznach | SOB |
| S5 | Weinfelden–Bischofszell Stadt–Gossau SG–St. Gallen–St. Margrethen | Does not call at Mörschwil | THURBO |
| S6 | Rapperswil–Blumenau–Schmerikon–Uznach–Ziegelbrücke–Schwanden (–Linthal) | Operates to Linthal only during off-peak hours | SOB |
| S7 | (Weinfelden–) Romanshorn–Arbon–Rorschach (–St. Margrethen–Bregenz–Lindau-Reutin–Lindau-Insel) | Operates every two hours between Rorschach and Lindau-Insel only during weekends. Only Weinfelden–St. Margrethen is within the Ostwind transit district | THURBO |
| S9 | Wil SG–Bütschwil–Wattwil | | THURBO |
| S10 | Wil SG–Weinfelden–Amriswil–Romanshorn | | THURBO |
| S12 | Sargans–Bad Ragaz–Landquart–Chur | Only Sargans–Bad Ragaz is within the Ostwind transit district | THURBO |
| S14 | Weinfelden–Kreuzlingen–Konstanz | | THURBO |
| S15 | Wil SG–Wängi–Frauenfeld | Operates over the metre (3 ft 3+3⁄8 in) gauge Frauenfeld–Wil line | AB (FWB) |
| S17 | Rapperswil–Blumenau–Schmerikon–Uznach–Ziegelbrücke–Sargans | Introduced in 2023 | SOB |
| S20 | Appenzell–Gais–Bühler–Teufen AR–St. Gallen–Speicher–Trogen | Operates over the metre (3 ft 3+3⁄8 in) gauge Appenzell–St. Gallen–Trogen line. Rush-hour service, calls between Gais and St. Gallen only at Bühler, Teufen AR and Niederteufen | AB |
| S21 | Appenzell–Gais–Bühler–Teufen AR–St. Gallen–Speicher–Trogen | Operates over the metre (3 ft 3+3⁄8 in) gauge Appenzell–St. Gallen–Trogen line | AB |
| S22 | Teufen AR–St. Gallen–Speicher–Trogen | Operates over the metre (3 ft 3+3⁄8 in) gauge Appenzell–St. Gallen–Trogen line. Only during rush hour | AB |
| S23 | Gossau SG–Herisau–Urnäsch–Appenzell–Wasserauen | Operates over the metre (3 ft 3+3⁄8 in) gauge Gossau–Wasserauen line | AB |
| S24 | Altstätten Stadt–Gais | Operates over the metre (3 ft 3+3⁄8 in) gauge Altstätten–Gais line (part rack railway) | AB |
| S25 | Rorschach Hafen–Rorschach–Heiden | Operates over the standard gauge Rorschach–Heiden line (part rack railway) | AB |
| S26 | Rheineck–Walzenhausen | Operates over the 1,200 mm (3 ft 11+1⁄4 in) gauge Rheineck–Walzenhausen line (part rack railway) | AB |
| S44 | Weinfelden–Kreuzlingen–Konstanz | Operates since December 2022, without intermediate stops and with connecting services to IC81 in Weinfelden | THURBO |
| S81 | Herisau–St. Gallen | Same trainset operates as Alpenrhein-Express (IR13) between Chur and St. Gallen | SOB |
| S82 | St. Gallen–Wittenbach | Operates only during rush hour | THURBO |
The following S-Bahn services operating within the Ostwind transit district and connecting with services of St. Gallen S-Bahn are not part of the latter:
* The S2 (Buchs SG‒Schaan-Vaduz‒Feldkirch), S3 (St. Margrethen‒Bregenz) and R5 (St. Margrethen‒Dornbirn/Feldkirch) services, operated by ÖBB, belong to the Vorarlberg S-Bahn network
* The S6 (Konstanz‒Engen), named Seehas, belongs to Bodensee S-Bahn
* The S2 (Unterterzen/Ziegelbrücke‒Zürich Airport), S9 (Schaffhausen‒Uster), S12 (Schaffhausen/Wil‒Brugg AG), S23 (Romanshorn‒Zürich HB, peak-hour only), S24 (Thayngen/Weinfelden‒Zug), S25 (Linthal‒Zürich HB), S29 (Stein am Rhein‒Winterthur), S30 (Weinfelden‒Winterthur), S33 (Schaffhausen‒Winterthur), S35 (Wil‒Winterthur) and S40 (Rapperswil‒Einsiedeln) are part of Zürich S-Bahn network
* The S27 (Ziegelbrücke–Siebnen-Wangen), nicknamed March shuttle, is a peak-hour service operated by Südostbahn (SOB) which is not part of any S-Bahn network
* Three S-Bahn services (S62, S64, S65) between Schaffhausen and their respective German termini in Erzingen, Singen (Hohentwiel) and Jestetten, are operated by THURBO/SBB GmbH and part of Schaffhausen S-Bahn

### RegioExpress

A RegioExpress (RE) between Herisau and Konstanz (Germany), nicknamed der Konstanzer, supports the S-Bahn network. The S-Bahn network is further complemented by InterRegio (IR) services, such as the IR Voralpen-Express (operated by Südostbahn between St. Gallen and Luzern) and IR 13 of Swiss Federal Railways (Zürich HB–Winterthur–St. Gallen–Sargans–Chur), which stop at all major stations.
| # | Route | Notes | Operator |
| RE1 | Herisau–St. Gallen–Romanshorn–Kreuzlingen Hafen–Konstanz | Hourly RegioExpress (RE, express train) service supplementing the S-Bahn network. Continues as S14 from Konstanz | THURBO |

### Nighttime services

During weekends, in the night from Friday to Saturday and from Saturday to Sunday, there are nighttime S-Bahn services (designated SN followed by the route number). As of the December 2023 timetable change, the following night routes existed:
* SN14: Weinfelden–Konstanz
* SN15: Frauenfeld–Wil
* SN22: Winterthur–St. Margrethen
* SN30: Winterthur–Romanshorn
* SN71: Kreuzlingen–Romanshorn
* SN72: St. Gallen–Romanshorn

### Previous services

* S3: St. Gallen–St. Margrethen (until 2021, merged with the former S5 into the current S5 of St. Gallen S-Bahn)
* S8: Schaffhausen–Romanshorn–St. Gallen (until 2021, merged with the former S1 into the current S1 of St. Gallen S-Bahn)
* S11: St. Gallen–Gossau SG–Wil SG (until 2018, operated only during peak hour)
* S55: Weinfelden–Sulgen–Gossau SG–St. Gallen (until 2018, operated only during peak hour)