July and June are typically the warmest months in Haapsalu when the average temp is 58°F. February and January are the coldest months when the average temperature is 27°F. September and August are the months with the most rain.