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 • 2h 12m
$7 - $11
3 alternative options
Bus • 2h 30m
$8 - $12
Taxi • 2h 3m
$120 - $150
Drive • 2h 3m
$17 - $26
Questions & Answers
The cheapest way to get from Tallinn to Viljandi is to train which costs 6€ - 10€ and takes 2h 12m.
The quickest way to get from Tallinn to Viljandi is to taxi which costs 100€ - 130€ and takes 2h 3m.
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 2h 30m.
Yes, there is a direct train departing from Tallinn and arriving at Viljandi. Services depart five times a day, and operate every day. The journey takes approximately 2h 12m.
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 2h 12m and costs 6€ - 10€.
The train from Tallinn to Viljandi takes 2h 12m including transfers and departs five 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 2h 12m and costs 6€ - 10€. Alternatively, you can bus, which costs 7€ - 11€ and takes 2h 30m.
What companies run services between Tallinn, Estonia and Viljandi, Estonia?
Elron operates a train from Tallinn to Viljandi 5 times a day. Tickets cost $7 - $11 and the journey takes 2h 12m. Alternatively, Taisto Liinid OÜ operates a bus from Tallinn to Viljandi every 4 hours. Tickets cost $8 - $12 and the journey takes 2h 30m. 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 How to get from Luton Airport into central London, How to get from London to Edinburgh and Is ride-sharing platform BlaBlaCar right for you? - 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 2h 3m to drive from Tallinn to Viljandi.
There are 42+ hotels available in Viljandi. Prices start at $34 USD per night.