Estonian weather is quite tricky... It can be in winter time around -30C and half a year later there will be +30C. Usually Estonians have joke that there are 10 month bad skiing weather and 2 month summer...

Best time of course to come is May-September. Then it is quite warm (but still take your warm jacket - you never know). If you like skiiing then best time for coming is January - February.

On March-April it can happen that during day there is -5 - +10 C in same day - just early mornings are really icy but afternoon if sun is high it is already really nice and warm...

The first winter months are generally the nicest to come if you like winter/snow. There's lots of fresh snow in the trees and on roofs and generally it will make Tallinn look like a fairytale. So mid-November to mid-January. The time around Christmas is especially nice with christmas fleemarkets, christmas trees and decorations and so on. This is however also the darkest period with daylight from 9am to 3.30pm.