Thailand’s monsoons arrive around July and last into November (the ‘rainy season’). They can be uncomfortably, unpredictably sticky. This is followed by a dry, cool period from November to mid-February, followed by much higher relative temperatures from March to June.
By far the best time to visit is between November and February when the weather is kind and the beaches are at their finest. This period is Thailand’s main season for national and regional festivals.
The peak season is November to late March, with secondary peak months in July and August. If your main objective is to avoid crowds and to take advantage of discounted rooms and low-season rates, you should consider travelling during the least crowded months (April to June, September and October). On the other hand it’s not difficult to leave the crowds behind, even during peak months, if you simply avoid the most popular destinations (eg, Chiang Mai and all islands and beaches). This is also the prime time for diving in terms of visibility and accessibility.
Climate-wise, the best time for visiting most of Thailand is between November and February when it is not too wet and not too hot. The south is best visited when the rest of Thailand is miserably hot (March to May). If you’re spending time in Bangkok, be prepared to roast in April and do some wading in October -probably the most challenging two months, weather-wise, in the capital.