July and August are typically the warmest months in Haapsalu, when the average temperature is 16°C. February and January are the coldest months, when the average temperature is 0°C. December and August are the months with the most rain.