The average train between Karlsruhe and Schaffhausen takes 3h 56m and the fastest train takes 2h 44m. There is a train service every few hours from Karlsruhe to Schaffhausen. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between Karlsruhe and Schaffhausen. The earliest departure is at 6:07 AM in the morning, and the last departure from Karlsruhe is at 9:09 PM which arrives into Schaffhausen at 5:24 AM. All services require a transfer, and take on average 3h 56m. The schedules shown below are for the next available departures.

3h 38m • 1 change

3h 43m • 1 change

3h 35m • 1 change

3h 38m • 1 change

3h 38m • 1 change

3h 43m • 1 change

3h 35m • 1 change

3h 38m • 1 change

3h 38m • 1 change

3h 43m • 1 change

3h 35m • 1 change

3h 38m • 1 change

3h 38m • 1 change

3h 43m • 1 change

3h 35m • 1 change

3h 38m • 1 change
Want to know about travelling from Karlsruhe to Schaffhausen? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Karlsruhe to Schaffhausen. However, there are services departing from Karlsruhe station and arriving at Schaffhausen station via Singen. The journey, including transfers, takes approximately 3h 56m.
Karlsruhe to Schaffhausen train services, operated by Deutsche Bahn Regio (DB Regional), depart from Karlsruhe Hauptbahnhof station.
Karlsruhe to Schaffhausen train services, operated by Deutsche Bahn Regio (DB Regional), arrive at Singen station.
Book your Karlsruhe to Schaffhausen train tickets online with Deutsche Bahn Regio (DB Regional), Swiss Federal Railways (SBB CFF FFS) and Deutsche Bahn Intercity (DB IC).
The distance between Karlsruhe and Schaffhausen is 146.9 km. The road distance is 230 km.
Deutsche Bahn Regio (DB Regional) operates a train from Karlsruhe Hauptbahnhof to Singen every 2 hours. Tickets cost CHF 45–85 and the journey takes 2h 41m. Deutsche Bahn Intercity (DB IC) also services this route once daily.