• Our partners include:

  • RailEurope
  • Deutsche Bahn
  • Trenitalia
  • SNCF
  • Flixbus
  • RENFE
  • Ouibus
  • BlaBlaCar
  • Booking.com
  • Skyscanner

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.

Recommended option

Train  •  2 h 11 min

  1. Take the train from Tallinn to Viljandi Elr4

$7 - $11

3 alternative options

Bus  •  2 h 30 min

  1. Take the bus from Tallinna bussijaam to Viljandi bussijaam 179 / ...

$8 - $12

Taxi  •  2 h 3 min

  1. Take a taxi from Tallinn to Viljandi 99 miles

$120 - $150

Drive  •  2 h 3 min

  1. Drive from Tallinn to Viljandi 99 miles

$17 - $26

Questions & Answers

The cheapest way to get from Tallinn to Viljandi is to train which costs 6€ - 10€ and takes 2 h 11 min.

More details

The quickest way to get from Tallinn to Viljandi is to taxi which costs 100€ - 130€ and takes 2 h 3 min.

More details

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 30 min.

More details

Yes, there is a direct train departing from Tallinn and arriving at Viljandi. Services depart four times a day, and operate every day. The journey takes approximately 2 h 11 min.

More details

The distance between Tallinn and Viljandi is 129 km. The road distance is 158.4 km.

Get driving directions

The best way to get from Tallinn to Viljandi without a car is to train which takes 2 h 11 min and costs 6€ - 10€.

More details

The train from Tallinn to Viljandi takes 2 h 11 min including transfers and departs four times a day.

More details

Tallinn to Viljandi bus services, operated by Taisto Liinid OÜ, depart from Tallinna bussijaam station.

More details

Tallinn to Viljandi train services, operated by Elron, depart from Tallinn station.

More details

The best way to get from Tallinn to Viljandi is to train which takes 2 h 11 min and costs 6€ - 10€. Alternatively, you can bus, which costs 7€ - 11€ and takes 2 h 30 min.

Mode details

Map of how to get from Tallinn to Viljandi.
Launch map view
  • Distance: 80.4 miles
  • Duration: 2 h 11 min

What companies run services between Tallinn, Estonia and Viljandi, Estonia?

Elron operates a train from Tallinn to Viljandi 4 times a day. Tickets cost $7 - $11 and the journey takes 2 h 11 min. Alternatively, Taisto Liinid OÜ operates a bus from Tallinn to Viljandi every 4 hours. Tickets cost $8 - $12 and the journey takes 2 h 30 min. Peatus Estonia also services this route every 4 hours.

Train operators
Elron
Website
elron.ee
Train from Tallinn to Viljandi
Ave. Duration
2 h 11 min
Frequency
4 times a day
Estimated price
$7 - $11
Schedules at
elron.ee
Bus operators
Taisto Liinid OÜ
Website
taisto.ee
Bus from Tallinna bussijaam to Viljandi bussijaam
Ave. Duration
2 h 30 min
Frequency
Every 4 hours
Estimated price
$8 - $12
Schedules at
taisto.ee
Peatus Estonia
Website
peatus.ee
Bus from Tallinna bussijaam to Viljandi bussijaam
Ave. Duration
2 h 25 min
Frequency
Every 4 hours
Estimated price
$8 - $12
Schedules at
peatus.ee
Other operators
Taxi from Tallinn to Viljandi
Ave. Duration
2 h 3 min
Estimated price
$120 - $150
Guide Service Taxi
Phone
+372 5818 9293
GTAKSO
Phone
+372 5552 7632
Pink Taxi
Phone
+372 522 0147

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 5 delightfully under-the-radar French towns you need to visit, Travelling to and around Russia for the 2018 FIFA World Cup and Travelling Croatia’s Dalmatian Coast by boat, bus, car and train - 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.

More details

Tallinn to Viljandi train services, operated by Elron, arrive at Viljandi station.

More details

Yes, the driving distance between Tallinn to Viljandi is 158 km. It takes approximately 2 h 3 min to drive from Tallinn to Viljandi.

Get driving directions

There are 46+ hotels available in Viljandi. Prices start at $34 USD per night.

More details