Sofia has a relatively mild climate, perhaps a little cooler than other destinations in Europe. The warmest it gets is the lower-80s during the hottest months of the year, July and August. During these months, it cools off to the upper-50s during the night, and in August, many locals leave town for vacation, so it is much less crowded in terms of people, noise and traffic. 

October can also be beautiful: there are at least 15 very warm days, due to the effect what the locals refer to as "the gypsy summer" - a warm wave after the usual September chill and rain. The trees turn golden and the streets are lined with guilded leaves and chestnuts.

Since the temperatures drop below freezing in the winter, Sofia gets a fair amount of snow. 26 days out of the year see snowfall on average, mostly during December, January and February. Temperatures run from highs in the upper-30s and lows in the lower-20s. In the winter, bring a heavy coat, hat, gloves and a scarf to keep warm.

Sofia is also pretty wet. 77 out of 365 days see rain on average. All months see some rain (so make sure you are adequately prepared with  a waterproof shell and shoes that won't soak through), but it peaks in April and May when ten or more days are rainy on average. It may be rainy in May - but it is certainly the most beautiful month to visit Sofia. Temperature is usually warm, could even be hot on some days. But the primary reason is that Sofia is a very green city - there is an enourmous amount of vegitation for a European city: parks, tree lined street, lawns, etc - and it is best enjoyed in May. It basically turns the city around - turning it from a greyish bleak city in the winter and early spring months, into a charming and picteresque town. May is an ideal time to strall along the central residential areas, such as lower Lozenets, Oborishte and Ivan Assen. The linden trees blossom at that time and inhaling the scent is simply exhilarating.

Sofia is also located at about 2,000 feet above sea level. Although this is not an extremely high elevation, it is still important to keep in mind if you are going there from a relatively low elevation. Take it easy for a day or two when you arrive to allow your body to get adjusted. Drink plenty of water and sit down and take a break if you begin to feel dizzy..