N31 Bus

Click to load interactive map
List of stops
      Map
      Wednesday to Sunday

      Heerbrugg, Bahnhof – Hohenems, Bahnhof

      Heerbrugg, Bahnhof

      01:02 +101:58 +102:58 +1

      Heerbrugg, Schloss

      01:02 +101:59 +102:59 +1

      Widnau, Rhydorf

      01:04 +102:01 +103:01 +1

      Widnau, Gemeindehaus

      01:05 +102:01 +103:01 +1

      Widnau, Post

      01:05 +102:02 +103:02 +1

      Widnau, Auenstrasse

      01:06 +102:03 +103:03 +1

      Widnau, Güetli

      01:07 +102:03 +103:03 +1

      Diepoldsau, Hennemoos

      01:08 +102:05 +103:05 +1

      Diepoldsau, Dorf

      01:11 +102:08 +103:08 +1

      Diepoldsau, Storchenbühl

      01:12 +102:09 +1

      Diepoldsau, Heimstrasse

      01:13 +102:09 +1

      Diepoldsau, Schweizer Zoll

      01:13 +102:10 +1

      Hohenems, Zoll

      01:14 +102:11 +1

      Hohenems, Emspark

      01:15 +102:12 +1

      Hohenems, Gutenbergstrasse

      01:16 +102:13 +1

      Hohenems, Sohlstrasse

      01:17 +102:14 +1

      Hohenems, Bahnhof

      01:19 +102:17 +1
      Times marked with "—" indicate that the vehicle does not stop at this stop.
      The schedule is provided in the local timezone. Times with "(+1)" indicate departures on the next day.

      Hohenems, Bahnhof – Heerbrugg, Bahnhof

      Hohenems, Bahnhof01:41 +102:41 +1
      Hohenems, Sohlstrasse01:43 +102:43 +1
      Hohenems, Gutenbergstrasse01:44 +102:44 +1
      Hohenems, Emspark01:45 +102:45 +1
      Hohenems, Zoll01:46 +102:46 +1
      Diepoldsau, Schweizer Zoll01:46 +102:46 +1
      Diepoldsau, Heimstrasse01:47 +102:47 +1
      Diepoldsau, Storchenbühl01:48 +102:48 +1
      Diepoldsau, Dorf01:49 +102:49 +1
      Diepoldsau, Hennemoos01:50 +102:50 +1
      Widnau, Güetli01:52 +102:52 +1
      Widnau, Auenstrasse01:53 +102:53 +1
      Widnau, Post01:54 +102:54 +1
      Widnau, Gemeindehaus01:55 +102:55 +1
      Widnau, Rhydorf01:56 +102:56 +1
      Heerbrugg, Schloss01:57 +102:57 +1
      Heerbrugg, Bahnhof01:59 +102:59 +1
      Times marked with "—" indicate that the vehicle does not stop at this stop.
      The schedule is provided in the local timezone. Times with "(+1)" indicate departures on the next day.
      Times marked with "—" indicate that the vehicle does not stop at this stop.
      The schedule is provided in the local timezone. Times with "(+1)" indicate departures on the next day.
      Last updated on April 3, 2026
      Build real-time departures into your app Free API Access →

      Route Path (Streets & Roads)

      Outbound: Heerbrugg, Bahnhof – Hohenems, Bahnhof
      Bahnhofstrasse - Balgacherstrasse - Bahnhofstrasse - Poststrasse - Diepoldsauerstrasse - Tramstrasse - Hohenemserstrasse - Diepoldsauer Straße
      Inbound: Hohenems, Bahnhof – Heerbrugg, Bahnhof
      Diepoldsauer Straße - Hohenemserstrasse - Tramstrasse - Diepoldsauerstrasse - Poststrasse - Bahnhofstrasse - Balgacherstrasse - Bahnhofstrasse
      All data is available in GTFS feed: odp-swiss