There are 4 ways to get from Tallinn to Viljandi by train, bus, taxi or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.
Train • 2 h 11 min
$7 - $11
3 alternative options
Bus • 2 h 30 min
$8 - $12
Taxi • 2 h 3 min
$120 - $150
Drive • 2 h 3 min
$17 - $26
Questions & Answers
The cheapest way to get from Tallinn to Viljandi is to train which costs 6€ - 10€ and takes 2 h 11 min.
The quickest way to get from Tallinn to Viljandi is to taxi which costs 100€ - 130€ and takes 2 h 3 min.
Yes, there is a direct bus departing from Tallinna bussijaam and arriving at Viljandi bussijaam. Services depart hourly, and operate every day. The journey takes approximately 2 h 30 min.
Yes, there is a direct train departing from Tallinn and arriving at Viljandi. Services depart four times a day, and operate every day. The journey takes approximately 2 h 11 min.
The distance between Tallinn and Viljandi is 129 km. The road distance is 158.4 km.
The best way to get from Tallinn to Viljandi without a car is to train which takes 2 h 11 min and costs 6€ - 10€.
The train from Tallinn to Viljandi takes 2 h 11 min including transfers and departs four times a day.
Tallinn to Viljandi bus services, operated by Taisto Liinid OÜ, depart from Tallinna bussijaam station.
Tallinn to Viljandi train services, operated by Elron, depart from Tallinn station.
The best way to get from Tallinn to Viljandi is to train which takes 2 h 11 min and costs 6€ - 10€. Alternatively, you can bus, which costs 7€ - 11€ and takes 2 h 30 min.
What companies run services between Tallinn, Estonia and Viljandi, Estonia?
Elron operates a train from Tallinn to Viljandi 4 times a day. Tickets cost $7 - $11 and the journey takes 2 h 11 min. Alternatively, Taisto Liinid OÜ operates a bus from Tallinn to Viljandi every 4 hours. Tickets cost $8 - $12 and the journey takes 2 h 30 min. Peatus Estonia also services this route every 4 hours.
Want to know more about travelling around the world?
Rome2rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including 5 delightfully under-the-radar French towns you need to visit, Travelling to and around Russia for the 2018 FIFA World Cup and Travelling Croatia’s Dalmatian Coast by boat, bus, car and train - to help you get the most out of your next trip.
More Questions & Answers
Tallinn to Viljandi bus services, operated by Taisto Liinid OÜ, arrive at Viljandi bussijaam station.
Tallinn to Viljandi train services, operated by Elron, arrive at Viljandi station.
Yes, the driving distance between Tallinn to Viljandi is 158 km. It takes approximately 2 h 3 min to drive from Tallinn to Viljandi.
There are 46+ hotels available in Viljandi. Prices start at $34 USD per night.