Duration: 24.10. 23:25 – 27.10. 04:20. Duration: 31.10. 23:25 – 3.11. 04:20
Due to construction work
Please consult online timetable. Passengers travelling between Rorschach and St.Margrethen and between Rorschach and Heerbrugg please use the replacement bus service (EV). Bikes cannot be transported. Registration recommended for customers in a wheelchair
| Line | Dep | Direction | Track | Interval |
|---|---|---|---|---|
| S-Train | 20:45 | Weinfelden | 5 | 60' |
| 20:51 | St. Gallen | 5 | ||
| S-Train | 20:54 | Weinfelden | 3 | 60' |
| S-Train | 20:56 | Sargans | 4 | 60' |
| S-Train | 21:03 | Rapperswil SG | 5 | 60' |
| 21:09 | Chur | 4 | ||
| S-Train | 21:11 | Heiden | 2 | |
| S-Train | 21:14 | St. Margrethen SG | 4 | |
| 21:21 | Zürich HB | 5 | ||
| S-Train | 21:24 | Romanshorn | 3 | 60' |
| S-Train | 21:26 | Altstätten SG | 4 | 60' |
| S-Train | 21:33 | St. Gallen | 5 | 60' |
| 21:39 | Sargans | 4 | 60' | |
| S-Train | 21:45 | Weinfelden | 5 | |
| 21:51 | St. Gallen | 5 | ||
| S-Train | 21:54 | Weinfelden | 3 | |
| S-Train | 21:56 | Sargans | 4 | 60' |
| S-Train | 22:03 | Rapperswil SG | 5 | |
| S-Train | 22:14 | St. Margrethen SG | 4 | |
| 22:21 | Zürich HB | 5 | ||
| S-Train | 22:24 | Romanshorn | 3 | |
| S-Train | 22:26 | Altstätten SG | 4 | |
| S-Train | 22:33 | St. Gallen | 5 | |
| 22:39 | Sargans | 4 | ||
| S-Train | 22:45 | Weinfelden | 5 | |
| S-Train | 22:54 | Weinfelden | 3 | |
| S-Train | 22:56 | Sargans | 4 | |
| S-Train | 23:03 | Rapperswil SG | 5 | |
| 23:21 | St. Gallen | 5 | ||
| S-Train | 23:24 | Romanshorn | 3 | |
| S-Train | 23:26 | Altstätten SG | 4 | |
| S-Train | 23:33 | St. Gallen | 5 | |
| 23:39 | Sargans | 4 | ||
| S-Train | 23:54 | Romanshorn | 3 | |
| S-Train | 23:56 | Sargans | 4 | |
| S-Train | 00:03 | Herisau | 5 | |
| 00:21 | St. Gallen | 5 | ||
| S-Train | 00:24 | Romanshorn | 3 | |
| S-Train | 00:43 | Altstätten SG | 4 | |
| S-Train | 01:03 | Herisau | 4 | |
Friday 10/17/2025
|
||||
| S-Train | 04:54 | Weinfelden | 3 | 60' |
| S-Train | 05:15 | St. Gallen | 5 | |
| S-Train | 05:24 | Romanshorn | 3 | 60' |
| S-Train | 05:26 | Altstätten SG | 5 | 60' |
| S-Train | 05:32 | Nesslau-Neu St. Johann | 2 | 60 - 61' |
| 05:39 | Lausanne | 4 | 60' | |
| 05:39 | Sargans | 5 | 60' | |
| S-Train | 05:45 | Weinfelden | 5 | 60' |
| S-Train | 05:54 | Weinfelden | 3 | 60' |
| S-Train | 05:56 | Sargans | 4 | 60' |
| S-Train | 06:03 | Rapperswil SG | 5 | 60' |
| 06:09 | Chur | 4 | 60' | |
| S-Train | 06:11 | Heiden | 2 | 60' |
| S-Train | 06:14 | St. Margrethen SG | 4 | 60' |
| 06:21 | Zürich HB | 5 | 60' | |
| S-Train | 06:24 | Romanshorn | 3 | 60' |
| S-Train | 06:26 | Altstätten SG | 5 | 60' |
| S-Train | 06:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 06:39 | Lausanne | 4 | 60' | |
| 06:39 | Sargans | 5 | 60' | |
| S-Train | 06:45 | Weinfelden | 5 | 60' |
| 06:51 | St. Gallen | 5 | 60' | |
| S-Train | 06:54 | Weinfelden | 3 | 60' |
| S-Train | 06:56 | Sargans | 4 | 60' |
| S-Train | 07:03 | Rapperswil SG | 5 | 60' |
| 07:09 | Chur | 4 | 60' | |
| S-Train | 07:11 | Heiden | 2 | 60' |
| S-Train | 07:14 | St. Margrethen SG | 4 | 60' |
| 07:21 | Zürich HB | 5 | 60' | |
| S-Train | 07:24 | Romanshorn | 3 | 60' |
| S-Train | 07:26 | Altstätten SG | 5 | 60' |
| S-Train | 07:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 07:39 | Lausanne | 4 | 60' | |
| 07:39 | Sargans | 5 | 60' | |
| S-Train | 07:45 | Weinfelden | 5 | 60' |
| 07:51 | St. Gallen | 5 | 60' | |
| S-Train | 07:54 | Weinfelden | 3 | 60' |
| S-Train | 07:56 | Sargans | 4 | 60' |
| S-Train | 08:03 | Rapperswil SG | 5 | 60' |
| 08:09 | Chur | 4 | 60' | |
| S-Train | 08:11 | Heiden | 2 | 60' |
| S-Train | 08:14 | St. Margrethen SG | 4 | 60' |
| 08:21 | Zürich HB | 5 | 60' | |
| S-Train | 08:24 | Romanshorn | 3 | 60' |
| S-Train | 08:26 | Altstätten SG | 5 | 60' |
| S-Train | 08:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 08:39 | Lausanne | 4 | 60' | |
| 08:39 | Sargans | 5 | 60' | |
| S-Train | 08:45 | Weinfelden | 5 | 60' |
| 08:51 | St. Gallen | 5 | 60' | |
| S-Train | 08:54 | Weinfelden | 3 | 60' |
| S-Train | 08:56 | Sargans | 4 | 60' |
| S-Train | 09:03 | Rapperswil SG | 5 | 60' |
| 09:09 | Chur | 4 | 60' | |
| S-Train | 09:11 | Heiden | 2 | 60' |
| S-Train | 09:14 | St. Margrethen SG | 4 | 60' |
| 09:21 | Zürich HB | 5 | 60' | |
| S-Train | 09:24 | Romanshorn | 3 | 60' |
| S-Train | 09:26 | Altstätten SG | 5 | 60' |
| S-Train | 09:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 09:39 | Lausanne | 4 | 60' | |
| 09:39 | Sargans | 5 | 60' | |
| S-Train | 09:42 | Bregenz | 3 | |
| S-Train | 09:45 | Weinfelden | 5 | 60' |
| 09:51 | St. Gallen | 5 | 60' | |
| S-Train | 09:54 | Weinfelden | 3 | 60' |
| S-Train | 09:55 | Rorschach Hafen | 2 | 60' |
| S-Train | 09:56 | Sargans | 4 | 60' |
| S-Train | 10:03 | Rapperswil SG | 5 | 60' |
| 10:09 | Chur | 4 | 60' | |
| S-Train | 10:11 | Heiden | 2 | 60' |
| S-Train | 10:14 | St. Margrethen SG | 4 | 60' |
| 10:21 | Zürich HB | 5 | 60' | |
| S-Train | 10:24 | Romanshorn | 3 | 60' |
| S-Train | 10:26 | Altstätten SG | 5 | 60' |
| S-Train | 10:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 10:39 | Lausanne | 4 | 60' | |
| 10:39 | Sargans | 5 | 60' | |
| S-Train | 10:45 | Weinfelden | 5 | 60' |
| 10:51 | St. Gallen | 5 | 60' | |
| S-Train | 10:54 | Weinfelden | 3 | 60' |
| S-Train | 10:55 | Rorschach Hafen | 2 | 60' |
| S-Train | 10:56 | Sargans | 4 | 60' |
| S-Train | 11:03 | Rapperswil SG | 5 | 60' |
| 11:09 | Chur | 4 | 60' | |
| S-Train | 11:11 | Heiden | 2 | 60' |
| S-Train | 11:14 | St. Margrethen SG | 4 | 60' |
| 11:21 | Zürich HB | 5 | 60' | |
| S-Train | 11:24 | Romanshorn | 3 | 60' |
| S-Train | 11:26 | Altstätten SG | 5 | 60' |
| S-Train | 11:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 11:39 | Lausanne | 4 | 60' | |
| 11:39 | Sargans | 5 | 60' | |
| S-Train | 11:45 | Weinfelden | 5 | 60' |
| 11:51 | St. Gallen | 5 | 60' | |
| S-Train | 11:54 | Weinfelden | 3 | 60' |
| S-Train | 11:55 | Rorschach Hafen | 2 | 60' |
| S-Train | 11:56 | Sargans | 4 | 60' |
| S-Train | 12:03 | Rapperswil SG | 5 | 60' |
| 12:09 | Chur | 4 | 60' | |
| S-Train | 12:11 | Heiden | 2 | 60' |
| S-Train | 12:14 | St. Margrethen SG | 4 | 60' |
| 12:21 | Zürich HB | 5 | 60' | |
| S-Train | 12:24 | Romanshorn | 2 | 60' |
| S-Train | 12:26 | Altstätten SG | 5 | 60' |
| S-Train | 12:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 12:39 | Lausanne | 4 | 60' | |
| 12:39 | Sargans | 5 | 60' | |
| S-Train | 12:45 | Weinfelden | 5 | 60' |
| 12:51 | St. Gallen | 5 | 60' | |
| S-Train | 12:54 | Weinfelden | 3 | 60' |
| S-Train | 12:55 | Rorschach Hafen | 2 | 60' |
| S-Train | 12:56 | Sargans | 4 | 60' |
| S-Train | 13:03 | Rapperswil SG | 5 | 60' |
| 13:09 | Chur | 4 | 60' | |
| S-Train | 13:11 | Heiden | 2 | 60' |
| S-Train | 13:14 | St. Margrethen SG | 4 | 60' |
| 13:21 | Zürich HB | 5 | 60' | |
| S-Train | 13:24 | Romanshorn | 3 | 60' |
| S-Train | 13:26 | Altstätten SG | 5 | 60' |
| S-Train | 13:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 13:39 | Lausanne | 4 | 60' | |
| 13:39 | Sargans | 5 | 60' | |
| S-Train | 13:45 | Weinfelden | 5 | 60' |
| 13:51 | St. Gallen | 5 | 60' | |
| S-Train | 13:54 | Weinfelden | 3 | 60' |
| S-Train | 13:55 | Rorschach Hafen | 2 | 60' |
| S-Train | 13:56 | Sargans | 4 | 60' |
| S-Train | 14:03 | Rapperswil SG | 5 | 60' |
| 14:09 | Chur | 4 | 60' | |
| S-Train | 14:11 | Heiden | 2 | 60' |
| S-Train | 14:14 | St. Margrethen SG | 4 | 60' |
| 14:21 | Zürich HB | 5 | 60' | |
| S-Train | 14:24 | Romanshorn | 3 | 60' |
| S-Train | 14:26 | Altstätten SG | 5 | 60' |
| S-Train | 14:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 14:39 | Lausanne | 4 | 60' | |
| 14:39 | Sargans | 5 | 60' | |
| S-Train | 14:45 | Weinfelden | 5 | 60' |
| 14:51 | St. Gallen | 5 | 60' | |
| S-Train | 14:54 | Weinfelden | 3 | 60' |
| S-Train | 14:55 | Rorschach Hafen | 2 | 60' |
| S-Train | 14:56 | Sargans | 4 | 60' |
| S-Train | 15:03 | Rapperswil SG | 5 | 60' |
| 15:09 | Chur | 4 | 60' | |
| S-Train | 15:11 | Heiden | 2 | 60' |
| S-Train | 15:14 | St. Margrethen SG | 4 | 60' |
| 15:21 | Zürich HB | 5 | 60' | |
| S-Train | 15:24 | Romanshorn | 3 | 60' |
| S-Train | 15:26 | Altstätten SG | 5 | 60' |
| S-Train | 15:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 15:39 | Lausanne | 4 | 60' | |
| 15:39 | Sargans | 5 | 60' | |
| S-Train | 15:42 | Bregenz | 2 | 120' |
| S-Train | 15:45 | Weinfelden | 5 | 60' |
| 15:51 | St. Gallen | 5 | 60' | |
| S-Train | 15:54 | Weinfelden | 3 | 60' |
| S-Train | 15:55 | Rorschach Hafen | 2 | |
| S-Train | 15:56 | Sargans | 4 | 60' |
| S-Train | 16:03 | Rapperswil SG | 5 | 60' |
| 16:09 | Chur | 4 | 60' | |
| S-Train | 16:11 | Heiden | 2 | 60' |
| S-Train | 16:14 | St. Margrethen SG | 4 | 60' |
| 16:21 | Zürich HB | 5 | 60' | |
| S-Train | 16:24 | Romanshorn | 3 | 60' |
| S-Train | 16:26 | Altstätten SG | 5 | 60' |
| S-Train | 16:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 16:39 | Lausanne | 4 | 60' | |
| 16:39 | Sargans | 5 | 60' | |
| S-Train | 16:45 | Weinfelden | 5 | 60' |
| 16:51 | St. Gallen | 5 | 60' | |
| S-Train | 16:54 | Weinfelden | 3 | 60' |
| S-Train | 16:55 | Rorschach Hafen | 2 | |
| S-Train | 16:56 | Sargans | 4 | 60' |
| S-Train | 17:03 | Rapperswil SG | 5 | 60' |
| 17:09 | Chur | 4 | 60' | |
| S-Train | 17:11 | Heiden | 2 | 60' |
| S-Train | 17:14 | St. Margrethen SG | 4 | 60' |
| 17:21 | Zürich HB | 5 | 60' | |
| S-Train | 17:24 | Romanshorn | 3 | 60' |
| S-Train | 17:26 | Altstätten SG | 5 | 60' |
| S-Train | 17:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 17:39 | Lausanne | 4 | 60' | |
| 17:39 | Sargans | 5 | 60' | |
| S-Train | 17:42 | Bregenz | 3 | |
| S-Train | 17:45 | Weinfelden | 5 | 60' |
| 17:51 | St. Gallen | 5 | 60' | |
| S-Train | 17:54 | Weinfelden | 3 | 60' |
| S-Train | 17:56 | Sargans | 4 | 60' |
| S-Train | 18:03 | Rapperswil SG | 5 | 60' |
| 18:09 | Chur | 4 | 60' | |
| S-Train | 18:11 | Heiden | 2 | 60' |
| S-Train | 18:14 | St. Margrethen SG | 4 | 60' |
| 18:21 | Zürich HB | 5 | 60' | |
| S-Train | 18:24 | Romanshorn | 3 | 60' |
| S-Train | 18:26 | Altstätten SG | 5 | 60' |
| S-Train | 18:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 18:39 | Lausanne | 4 | ||
| 18:39 | Sargans | 5 | 60' | |
| S-Train | 18:45 | Weinfelden | 5 | |
| 18:51 | St. Gallen | 5 | ||
| S-Train | 18:54 | Weinfelden | 3 | |
| S-Train | 18:56 | Sargans | 4 | |
| S-Train | 19:03 | Rapperswil SG | 5 | |
| 19:09 | Chur | 4 | ||
| S-Train | 19:11 | Heiden | 2 | |
| S-Train | 19:14 | St. Margrethen SG | 4 | |
| 19:21 | Zürich HB | 5 | ||
| S-Train | 19:24 | Romanshorn | 3 | |
| S-Train | 19:26 | Altstätten SG | 5 | |
| S-Train | 19:33 | Nesslau-Neu St. Johann | 5 | |
| 19:39 | Lausanne | 4 | ||
| 19:39 | Sargans | 5 | ||
| S-Train | 19:42 | Bregenz | 3 | |
| S-Train | 19:45 | Weinfelden | 5 | |
| 19:51 | St. Gallen | 5 | ||
| S-Train | 19:54 | Weinfelden | 3 | |
| S-Train | 19:56 | Sargans | 4 | |
| S-Train | 20:03 | Rapperswil SG | 5 | |
| 20:09 | Chur | 4 | ||
| S-Train | 20:11 | Heiden | 2 | |
| S-Train | 20:14 | St. Margrethen SG | 4 | |
| 20:21 | Zürich HB | 5 | ||
| S-Train | 20:24 | Romanshorn | 3 | |
| S-Train | 20:26 | Altstätten SG | 5 | |
| S-Train | 20:33 | Nesslau-Neu St. Johann | 5 | |
| 20:39 | Sargans | 4 | ||