The calculated distance (air line) between Sankt Johann in Tirol and Villach is approximately 92 miles respectively 149 kilometers.
By car or train, the actual journey to Villach is certainly longer, as only the direct route (as the crow flies) between Sankt Johann in Tirol and Villach has been calculated here.
Air line (approximately)
149 kilometers
80 nautical miles