The average train between Silkeborg and Viborg takes 2h 16m 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 12:03 AM at night, and the last departure from Silkeborg is at 7:43 PM which arrives into Viborg at 10:07 PM. All services require a transfer, and take on average 2h 16m. The schedules shown below are for the next available departures.

1h 51m • 1 change

1h 51m • 1 change

1h 51m • 1 change

1h 51m • 1 change

6h 29m • 1 change

1h 58m • 1 change

2h 10m • 1 change

2h 4m • 1 change

6h 29m • 1 change

1h 58m • 1 change

2h 10m • 1 change

2h 4m • 1 change

6h 29m • 1 change

1h 58m • 1 change

2h 10m • 1 change

2h 4m • 1 change
Want 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 16m.
Silkeborg to Viborg train services, operated by GoCollective, depart from Silkeborg St. station.
Silkeborg to Viborg train services, operated by GoCollective, arrive at Viborg St. station.
Book your Silkeborg to Viborg train tickets online with GoCollective.
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 15m.