• 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  •  2h 12m

  1. Take the train from Tallinn to Viljandi Elr4

$7 - $11

3 alternative options

Bus  •  2h 30m

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

$8 - $12

Taxi  •  2h 3m

  1. Take a taxi from Tallinn to Viljandi 99 miles

$120 - $150

Drive  •  2h 3m

  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 2h 12m.

More details

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

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 2h 30m.

More details

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 2h 12m.

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 2h 12m and costs 6€ - 10€.

More details

The train from Tallinn to Viljandi takes 2h 12m including transfers and departs five 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 2h 12m and costs 6€ - 10€. Alternatively, you can bus, which costs 7€ - 11€ and takes 2h 30m.

Mode details

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

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

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

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

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 to get from Luton Airport into central London, How to get from London to Edinburgh and Is ride-sharing platform BlaBlaCar right for you? - 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 2h 3m to drive from Tallinn to Viljandi.

Get driving directions

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

More details