The warmest months in Viljandi are usually July and August, with an average temperature of 18°C. January and February are the chilliest months, when the average temperature is -3°C. The rainiest months are June and July.