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

3h 1m • 1 change

3h 1m • 1 change

3h 1m • 1 change

3h 3m • 1 change

3h 27m • 1 change

2h 59m • 1 change

3h 1m • 1 change

3h 1m • 1 change

3h 27m • 1 change

2h 59m • 1 change

3h 1m • 1 change

3h 1m • 1 change

3h 27m • 1 change

2h 59m • 1 change

3h 1m • 1 change

3h 1m • 1 change
Want to know about travelling from Odense 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 Odense to Viborg. However, there are services departing from Odense station and arriving at Viborg station via Aarhus H. The journey, including transfers, takes approximately 3h 2m.
Odense to Viborg train services, operated by Danish Railways (DSB), depart from Odense St. station.
Odense to Viborg train services, operated by Danish Railways (DSB), arrive at Viborg St. station.
Book your Odense to Viborg train tickets online with Danish Railways (DSB) and GoCollective.
The distance between Odense and Viborg is 132.6 km. The road distance is 253 km.
You can take a train from Odense St. to Viborg St. via Aarhus H in around 3h 28m.