The calculated distance (air line) between Tartu and Viljandi is approximately 41 miles respectively 66 kilometers.
By car or train, the actual journey to Viljandi is certainly longer, as only the direct route (as the crow flies) between Tartu and Viljandi has been calculated here.