The distance between Rakvere and Viljandi is around 134km (83 miles) and the quickest way to get there is to drive which takes around 1h 60m.
We've found 4 different ways to get from Rakvere to Viljandi by bus, train and car. The recommended routes, which include information on duration, ticket price, and level of difficulty, can be found below.
👋 Also check out Viljandi → Rakvere if you're planning a return trip.
Take the bus to Paide bussijaam 6 and then to Viljandi bussijaam.
Multiple bus operators
1 similiar route
We’ve grouped similar routes together, click the arrows to see the other options.
Take the train to Tallinn and then to Viljandi.
Elron
There are several options for getting from Rakvere to Viljandi by bus, train and car. The cheapest option is to take the bus which costs around €7 ($7) and will take around 2h 35m. If you need to get there more quickly, you can drive and arrive in approximately 1h 60m, though it is a bit more costly at approximately €25 ($25).
The distance between Rakvere and Viljandi is around 134km (83 miles). In a direct line (as the crow flies), the distance is 118km (73 miles)
It takes around 2h 35m to get from Rakvere and Viljandi by bus. If you are travelling by car it will take around 1h 60m to drive there.
The quickest way to get from Rakvere to Viljandi is to drive which takes around 1h 60m and will set you back approx €25 ($25).
The cheapest way to travel between Rakvere and Viljandi, if you exclude driving, is to take the bus which will typically cost around €7 ($7) for a standard one-way ticket.
Yes there is a train service that runs between Rakvere and Viljandi. It typically takes around 3h 25m and departs 5 times a day.
There are no direct train services that runs from Rakvere to Viljandi. However, you can instead can take several connecting trains with a changeover in Tallinn. These services run 5 times a day and will take a minimum of 3h 25m.
Elron run train services between Rakvere and Viljandi. Trains depart 5 times a day and will take around 3h 25m, 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 Rakvere and Viljandi. It typically takes around 2h 35m and departs once daily.
There are no direct bus services that runs from Rakvere to Viljandi. However, you can instead can take several connecting buses with changeovers in Paide bussijaam 6. These services run once daily and will take a minimum of 2h 35m.
MK Reis-X OÜ, PRESTO osaühing, SEBE, Aktsiaselts Hansa Bussiliinid, Lux Express and Taisto Express OÜ run regular bus services between Rakvere and Viljandi. Buses run once daily and take around 2h 35m on average but will vary depending on you book with.
It doesn't look like you can fly directly from Rakvere to Viljandi. We recommend that you take the bus to Paide bussijaam 6 and then to Viljandi bussijaam. instead which will take 2h 35m.
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 Rakvere and Viljandi. The distance is around 134km (83 miles) by road and it will take around 1h 60m in normal traffic conditons.
If you don't have a car, the easiest way to get from Rakvere to Viljandi is to take the bus which takes, on average, 2h 35m and will usually cost around €7 ($7).
Transport option | Duration | Cost | Frequency | Distance |
---|---|---|---|---|
Bus + 1 similar | 2h 35m | €7($7) | once daily | 158km (98 miles) |
Bus via Vändra | 3h 45m | €10($10) | once daily | 192km (120 miles) |
Train | 3h 25m | €12($12) | 5 times a day | 251km (156 miles) |
Drive | 1h 60m | €25($25) | on demand | 134km (83 miles) |
MK Reis-X OÜ
PRESTO osaühing
SEBE
Aktsiaselts Hansa Bussiliinid
Lux Express
Elron
The following major airports near Viljandi offer regular flights to various popular destinations within Estonia and internationally.