The average train between Silkeborg and Viborg takes 2h 11m and the fastest train takes 1h 51m. There is a train service every few hours from Silkeborg to Viborg. 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 Silkeborg and Viborg. The earliest departure is at 2:28 AM at night, and the last departure from Silkeborg is at 10:03 PM which arrives into Viborg at 12:25 AM. All services require a transfer, and take on average 2h 11m. The schedules shown below are for the next available departures.

2h 24m • 1 change
2h 7m • 1 changeArrives next day

2h 22m • 1 change
1h 58m • 1 change
2h 10m • 1 change
2h 4m • 1 change
2h 7m • 1 change
1h 58m • 1 change
2h 10m • 1 change
2h 4m • 1 change
2h 7m • 1 change
3h 31m • 1 change
2h 17m • 1 change
2h 17m • 1 change
2h 17m • 1 changeWant to know about travelling from Silkeborg to Viborg? 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 Silkeborg to Viborg. However, there are services departing from Silkeborg station and arriving at Viborg station via Aarhus H. The journey, including transfers, takes approximately 2h 11m.
Silkeborg to Viborg train services, operated by Danish Railways (DSB), depart from Silkeborg St. station.
Silkeborg to Viborg train services, operated by Danish Railways (DSB), arrive at Viborg St. station.
Book your Silkeborg to Viborg train tickets online with Danish Railways (DSB).
The distance between Silkeborg and Viborg is 32.7 km. The road distance is 137 km.
You can take a train from Silkeborg St. to Viborg St. via Aarhus H in around 2h 18m.