Viljandi is located 160 km South of Estonia's capital Tallinn and 245 km from Riga (Latvia).

Viljandi can be reached in two hours from Tallinn by car; good connections of public transport by coach or rail are also available. From Riga Viljandi can be reached within 3 hours drive. Air Baltic offers many direct connections from European cities to Riga.