The distance between Tallinn and Viljandi is around 148km (92 miles) and the quickest way to get there is to drive which takes around 2hrs.
We've found 3 different ways to get from Tallinn to Viljandi by train, bus and car. The recommended routes, which include information on duration, ticket price, and level of difficulty, can be found below.
👋 Also check out Viljandi → Tallinn if you're planning a return trip.
Take the train to Viljandi.
Elron
Take the bus to Viljandi bussijaam.
Aktsiaselts Hansa Bussiliinid
+ 3 othersThere are several options for getting from Tallinn to Viljandi by train, bus and car. The cheapest option is to take the bus which costs around and will take around 2h 20m. If you need to get there more quickly, you can drive and arrive in approximately 2hrs, though it is a bit more costly at approximately €30 ($30).
The distance between Tallinn and Viljandi is around 148km (92 miles). In a direct line (as the crow flies), the distance is 129km (80 miles)
It takes around 2h 5m to get from Tallinn and Viljandi by train. If you are travelling by car it will take around 2hrs to drive there.
The quickest way to get from Tallinn to Viljandi is to drive which takes around 2hrs and will set you back approx €30 ($30).
The cheapest way to travel between Tallinn and Viljandi, if you exclude driving, is to take the bus which will typically cost around for a standard one-way ticket.
Yes there is a train service that runs between Tallinn and Viljandi. It typically takes around 2h 5m and departs 5 times a day.
Yes there is a direct train service that runs between Tallinn and Viljandi with no changeovers required. The train runs 5 times a day and takes 2h 5m.
Elron run train services between Tallinn and Viljandi. Trains depart 5 times a day and will take around 2h 5m, however, this may vary depending on the particular service and whether it runs express or stops all stations.
Yes there is a bus that runs regularly from Tallinn and Viljandi. It typically takes around 2h 20m and departs every 20 mins.
Yes there is a direct bus service that runs between Tallinn and Viljandi with no changeovers required. The bus runs every 20 mins and takes 2h 20m.
Aktsiaselts Hansa Bussiliinid, Lux Express, Taisto Express OÜ and Go Bus AS run regular bus services between Tallinn and Viljandi. Buses run every 20 mins and take around 2h 20m on average but will vary depending on you book with.
It doesn't look like you can fly directly from Tallinn to Viljandi. We recommend that you take the train to Viljandi. instead which will take 2h 5m.
The closest major airport to Viljandi is Tallinn Airport (TLL) (TLL) which is approximately 125km (78 miles) from Viljandi.
Yes it is possible to drive from Tallinn and Viljandi. The distance is around 158km (98 miles) by road and it will take around 2hrs in normal traffic conditons.
If you don't have a car, the easiest way to get from Tallinn to Viljandi is to take the train which takes, on average, 2h 5m and will usually cost around €7 ($7).
Transport option | Duration | Cost | Frequency | Distance |
---|---|---|---|---|
Train | 2h 5m | €7($7) | 5 times a day | 148km (92 miles) |
Bus | 2h 20m | every 20 mins | 167km (103 miles) | |
Drive | 2hrs | €30($30) | on demand | 158km (98 miles) |
Aktsiaselts Hansa Bussiliinid
Lux Express
Taisto Express OÜ
Go Bus AS
Elron
The following major airports near Viljandi offer regular flights to various popular destinations within Estonia and internationally.