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