S14 23905 Konstanz – Kreuzlingen

View line S14

Konstanz 20:38 → Kreuzlingen 20:41 Daily 0 h 03 min · 2 stops Thurbo

It has not run yet today

Last recorded run: Friday 6 November +1 min

Next service: today 20:38 from Konstanz · Sat 7 Nov

Next departure 20:38 today · Konstanz
On-time · 30 days
100%
29/29 runs under 3 min
RT coverage: 29 full · 0 partial · 0 no data
On-time · 90 days
100%
41/41 runs under 3 min
RT coverage: 41 full · 0 partial · 0 no data
Typical delay
0min
Median at arrival, 90 days
30 days: 0 min
P90
+2min
9 in 10 runs arrive with less than this
30 days: +2 min

Last 30 days

Arrival delay at Kreuzlingen, in minutes. One bar per run.

  • On time (<3 min)
  • 3–10 min
  • 10–30 min
  • 30+ min
  • Partial coverage
  • No data

Distribution · 90 days

41 runs with a known final delay. On time = under 3 min, the same cut the map uses.

  • Early 0% · 0
  • On time 100% · 41
  • 3–10 min 0% · 0
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • 100% M n=7
  • 100% T n=6
  • 100% W n=6
  • 100% T n=6
  • 100% F n=6
  • 100% S n=6
  • 100% S n=4

Stops and timetable

Timetable of the latest run from the operator’s GTFS (2 stops).

Last 90 days, 41 runs. At intermediate stops it is an estimate from the delay at origin and destination. Delays over 2 h count as “> 2 h”: our data does not measure them exactly.

StopSched.Usually 9 days in 10
20:38on time on time
20:41on time +2 min

Each run is closed into train_runs (country, train number, service day) from the live positions. Final delay = last delay seen. Partial coverage: the feed stopped before the final stop (last value used, hatched in the chart). No data: a run without any valid delay; counts as neither on time nor late. Data collected since 11 July 2026.

Will I make my connection?

Pick where you get off and how many minutes you have until your next train. We work it out from what this train did over the last 90 days.

Include the time to change platforms. It is an estimate from past data, not a guarantee. Days more than 2 h late count as a missed connection.

Recent runs

DateLast stopFinalMax
Fri 6 NovKreuzlingen 20:43+1 min+1 min
Thu 5 NovKreuzlingen 20:420 min—
Wed 4 NovKreuzlingen 20:420 min—
Tue 3 NovKreuzlingen 20:44+2 min+2 min
Mon 2 NovKreuzlingen 20:420 min—
Sun 1 NovKreuzlingen 20:42−1 min—
Sat 31 OctKreuzlingen 20:43+1 min+1 min
Fri 30 OctKreuzlingen 20:44+2 min+2 min
Thu 29 OctKreuzlingen 20:420 min—
Wed 28 OctKreuzlingen 20:44+2 min+2 min
Tue 27 OctKreuzlingen 20:420 min—
Mon 26 OctKreuzlingen 20:45+2 min+2 min
Sun 25 OctKreuzlingen 20:41−1 min—
Sat 24 OctKreuzlingen 20:41−1 min—
Fri 23 OctKreuzlingen 20:43+1 min—
Thu 22 OctKreuzlingen 20:420 min—
Wed 21 OctKreuzlingen 20:420 min—
Tue 20 OctKreuzlingen 20:420 min—
Mon 19 OctKreuzlingen 20:420 min—
Sun 18 OctKreuzlingen 20:43+1 min+1 min
Sat 17 OctKreuzlingen 20:44+2 min+2 min
Fri 16 OctKreuzlingen 20:44+2 min+2 min
Thu 15 OctKreuzlingen 20:420 min—
Wed 14 OctKreuzlingen 20:430 min—
Tue 13 OctKreuzlingen 20:420 min—
Mon 12 OctKreuzlingen 20:43+1 min—
Sun 11 OctKreuzlingen 20:41−1 min—
Sat 10 OctKreuzlingen 20:42−1 min—
Fri 9 OctKreuzlingen 20:43+1 min—
Thu 8 OctKreuzlingen 20:43+1 min+1 min