There are 3 ways to get from Tallinn Old Town to Viljandi by train, bus, 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.
Tallinn Old Town to Viljandi by foot and train
Questions & Answers
The cheapest way to get from Tallinn Old Town to Viljandi is to bus which costs €5 - €9 and takes 3h 30m.
The fastest way to get from Tallinn Old Town to Viljandi is to drive which takes 1h 53m and costs €24 - €35.
No, there is no direct bus from Tallinn Old Town to Viljandi. However, there are services departing from Estonia and arriving at Viljandi bussijaam via Tallinna bussijaam. The journey, including transfers, takes approximately 3h 30m.
Yes, there is a direct train departing from Tallinn and arriving at Viljandi. Services depart every four hours, and operate every day. The journey takes approximately 2h 5m.
The distance between Tallinn Old Town and Viljandi is 149 km. The road distance is 154.1 km.
The best way to get from Tallinn Old Town to Viljandi without a car is to train which takes 2h 13m and costs €8 - €14.
The train from Tallinn to Viljandi takes 2h 5m including transfers and departs every four hours.
Tallinn Old Town to Viljandi bus services, operated by Estonian Lines OÜ, depart from Tallinna bussijaam station.
Tallinn Old Town to Viljandi train services, operated by Elron, depart from Tallinn station.
The best way to get from Tallinn Old Town to Viljandi is to train which takes 2h 13m and costs €8 - €14. Alternatively, you can bus, which costs €5 - €9 and takes 3h 30m.
What companies run services between Tallinn Old Town, Estonia and Viljandi, Estonia?
Elron operates a train from Tallinn to Viljandi every 4 hours. Tickets cost €8–14 and the journey takes 2h 5m. Alternatively, Estonian Lines OÜ operates a bus from Tallinna bussijaam to Viljandi bussijaam 4 times a day, and the journey takes 2h 15m. Go Bus AS also services this route once daily.
- Phone
- +372 616 0245
- [email protected]
- Website
- Elron
Train from Tallinn to Viljandi
- Ave. Duration
- 2h 5m
- Frequency
- Every 4 hours
- Estimated price
- €8–14
- Website
- Elron
- Express Train Ticket
- €9–14
- Phone
- +372 518 8493
- [email protected]
- Website
- Estonian Lines OÜ
Bus from Tallinna bussijaam to Viljandi bussijaam
- Ave. Duration
- 2h 15m
- Frequency
- 4 times a day
- Website
- Estonian Lines OÜ
- Phone
- +372 640 4000
- [email protected]
- Website
- Go Bus
Bus from Tallinna bussijaam to Viljandi bussijaam
- Ave. Duration
- 2h 20m
- Frequency
- Once daily
- Estimated price
- €4–7
- Website
- Go Bus
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 do I buy a London Underground ticket?, Italian Lakes: Getting around by train, and Train travel in Spain: A guide to Renfe - to help you get the most out of your next trip.
More Questions & Answers
Tallinn Old Town to Viljandi bus services, operated by Estonian Lines OÜ, arrive at Viljandi bussijaam station.
Tallinn Old Town to Viljandi train services, operated by Elron, arrive at Viljandi station.
Yes, the driving distance between Tallinn Old Town to Viljandi is 154 km. It takes approximately 1h 53m to drive from Tallinn Old Town to Viljandi.
There are 148+ hotels available in Viljandi.














