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