There are 4 ways to get from Tallinn to Viljandi by bus, train, 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.
Questions & Answers
The cheapest way to get from Tallinn to Viljandi is to train which costs 6€ - 10€ and takes 2 h 21 min.
The quickest way to get from Tallinn to Viljandi is to taxi which costs 100€ - 130€ and takes 2 h 3 min.
The distance between Tallinn and Viljandi is 129 km. The road distance is 158.4 km.
The bus from Tallinna bussijaam to Viljandi bussijaam takes 2 h 10 min including transfers and departs hourly.
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 10 min.
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 2 h 21 min.
What companies run services between Tallinn, Estonia and Viljandi, Estonia?
Taisto Liinid OÜ operates a bus from Tallinn to Viljandi hourly. Tickets cost $7 - $11 and the journey takes 2 h 10 min. Peatus Estonia also services this route every 2 hours. Alternatively, Elron operates a train from Tallinn to Viljandi 5 times a day. Tickets cost $7 - $11 and the journey takes 2 h 21 min.
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 Getting around the Cyclades, How to plan an amazing trip around Scandinavia and Want to know more about Flixbus? - to help you get the most out of your next trip.