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