Sri Lanka is a tropical country with a year-round hot climate, moderated by oceanic winds. Two-thirds of the country made of the northern half and the southeastern quarter has a tropical wet and dry climate (Köppen climate classification Aw). The central highlands have a tropical monsoon climate (Köppen Am). The southwestern quarter has a tropical rainforest climate (Köppen Af), with an oceanic influence (Köppen Cfb) in small sections. Sri Lanka, an island country in South Asia, lies in the Indian Ocean. The Arabian Sea lies in the northwest and Bay of Bengal in the northeast. The Gulf of Mannar and the Palk Strait separates Sri Lanka from the Indian subcontinent. The tropical latitudes, the monsoon, and proximity to large bodies of water, chiefly influence the climate.
Sri Lanka lies between 5°N to 10°N, on the Indian Plate, in the Indian Ocean. The island is mainly flat, with low-lying coastal plains. Mountains rise only in the south-central part, but there are numerous rivers. Mahaweli River is the longest of the 16 principal rivers on the island, with a length of 208 miles. Bambarakanda Falls are the highest waterfalls at the height of 263 meters. Sri Lanka has a long coastline of 985 miles that supports marine ecosystems like fringing coral reefs and mangroves. The island has 45 estuaries and 40 lagoons. The mangrove ecosystem occupies over 7000 hectares and supports a diverse marine ecosystem. There are dozens of other off-shore islands, including the largest, Mannar Island. Adam’s Bridge is a former land connection to the Indian mainland, which is now mostly submerged. Pidurutalagala is the highest point at 2524 meters above sea level.
Summers are hot in Sri Lanka, followed by heavy rain in the monsoon season and mild winters. April and May are the hottest months, with average high temperatures in the 32.2°C (90°F) to 35°C (95°F) range. The average low temperatures in January range between a mild 18.3°C (64.9°F) to warm 23.9°C (75°F). Winters are pleasant with relatively less precipitation and ample sunshine. Nuwara Eliya, in the central highlands, at an altitude of 1900 meters, has cool temperatures between 8.9°C (48°F) and 21.1°C (70°F) throughout the year. Winter frost is likely in the high mountains, which receive the least sunshine. The average yearly temperature in Sri Lanka ranges between a warm 27.8°C (82°F) to 30°C (86°F). Temperatures vary from -13.9°C (7°F) to -11.1°C (12°F) between day and night and seasons. Microclimatic differences exist between the southwest, the central highlands, and the rest of the country.
Sri Lanka receives ample annual rainfall between 965.2mm (38") and 2540mm (100"). The northwest and the southeast are the driest, while the southwestern region is the wettest. The southwest monsoon runs from the last week of May to October. The mountains of the Central Highlands unload the moisture that the winds carry from the Indian Ocean. Windward mountain slopes in the southwest register up to 2540mm (100") of heavy rainfall, but leeward sides in the east receive little rain. The northeast monsoon from December to March brings moisture from the Bay of Bengal. The northeast mountain slopes receive up to 1270mm (50") during the northeast monsoon season. Sri Lanka receives abundant annual sunshine between 2500 hours and 2850 hours. The southeast and northwest regions receive the most sunshine in the country, while the mountainous regions in the interior register the least sunshine amid cloudy skies. The relative humidity is highest during the rainy season and lowest during the summer. The average seawater temperatures in Colombo remain in the warm 27.2°C (81°F) to 30°C (86°F) range.
The highest temperature on record in Colombo, the capital, is 40°C (104°F), while the record for the lowest temperature is 15.6°C (60.1°F).
The best time to visit Sri Lanka
The best time to visit Sri Lanka is from January to March, with comfortable temperatures between 21.1°C (70°F) to 31.1°C (88°F). The precipitation is relatively low in much of the country, except on the east coast. The retreating monsoon registers an impressive 210.8mm (8.3") in Batticaloa in January but tapers down by the end of the month. The winter season has pleasant conditions and is less humid than the rest of the year. Beach holidays are best from January to September in the northwest, east, and southeast coasts. The southwest coasts are delightful destinations between January and March. Tropical cyclones are rare during the winter.
The worst time to visit Sri Lanka
The worst time to visit Sri Lanka is from May to October during the rainy season. The humidity is at its peak, and the high heat index makes the conditions uncomfortable. The island receives heavy rainfall, and the possibility of rain is more than 50% every day. Rough seas make water activities challenging. Strong winds bring rubble and mess on the beaches. The rainy season is prone to thunderstorms, landslides, mudslides, and heavy rain. Tropical cyclones pose a significant threat along with tsunamis. The daily sunshine is at the lowest of the year due to the prevalent cloud cover.
Sri Lanka faces weather hazards, such as floods, droughts, tropical cyclones, and tsunamis. Tropical cyclones usually form between May and November. Tropical depressions are possible throughout the year due to the proximity to the equator and warm seawaters. A tsunami brought a substantial loss of life and property in December 2004 in Sri Lanka. Recurrent flood events, which damage the infrastructure, are the result of an increase in the average rainfall in the country. Torrential rainfall brought landslides and floods, which resulted in a loss of life of 200 people in May 2017 and September 2019. The Global Climate Risk Index put Sri Lanka in the second position for the impact of extreme weather events in 2017.
Weather in January
January is pleasant in the mild winter of Sri Lanka, with short days and moderate sunshine. Colombo registers average temperatures in the warm 22.2°C (72°F) to 31.1°C (88°F) range and is less humid than the wet season. The southwest region records its lowest monthly precipitation of 61mm (2.4") to 76.2mm (3"), with the skies mostly clear for 42% of the time. The seawaters are warm at 27.8°C (82°F), and the daily sunshine lasts for 8 hours. Trincomalee records 170.2mm (6.7") and Batticaloa 210.8mm (8.3") of rainfall, with 11 wet days in the month. The eastern coast is sunny, with temperatures between 22.8°C (73°F) to 27.8°C (82°F). The Nuwara Eliya mountainous region is cold between 8.9°C (48°F) to 20°C (68°F), with only 5 hours of daily sunshine. Jaffna and Mannar see hardly 50.8mm (2") of precipitation after the retreat of the monsoon. Temperatures usually range between 22.8°C (73°F) to 28.9°C (84°F). The average daily wind speeds range between 15.4km/h (9.6mph) in the south to 22.5km/h (14mph) in the north. January offers fair weather for a visit to Sri Lanka.
Weather in February
February is mild and the driest month in many places in Sri Lanka. Temperatures rise slightly to register between 22.8°C (73°F) to 30°C (86°F) in the northwest, with 9 hours of bright sunshine. The precipitation drops below 50.8mm (2") everywhere except the eastern coast where it is between 101.6mm (4") and 127mm (5"). The interior areas, such as Kandy and Anuradhapura, are hot between 18.9°C (66°F) to 32.2°C (90°F) and see significant diurnal temperature differences. Temperatures less than 10°C (50°F) register only in the central highlands at night. The relative humidity ranges between 65 and 95%, and the skies remain clear up to 44% of the time. The 12-hour daylight gives ample time for beach fun, swimming, and other water activities. Layered clothing is unnecessary, and a sweater is enough to withstand the cold. The average seawater temperatures are at 27.8°C (82°F), and the waters are calm after the end of the cyclone season. February is a great time for beach holidays in Sri Lanka.
Weather in March
March sees a rise in temperatures in Sri Lanka at the end of the cold season. The bright daily sunshine of 9 hours keeps the skies clear for 60% of the time in most places. The average temperatures in Colombo are in the warm 23.9°C (75°F) to hot 32.2°C (90°F). The precipitation registers up to 127mm (5") in the southwest, but the beaches see relatively dry periods and have calm waters. Hambantota, on the southeast coast, is relatively dry with only 66mm (2.6") of rain, and warm seawaters at 28.9°C (84°F). Colombo and Galle are more humid than Jaffna, which is dry and hot in March. Surfers love the Arugam Bay, south of Batticaloa, with moderate wind speeds and only 88.9mm (3.5") of rainfall. The average wind speeds decrease from 17.1km/h (10.6mph) to 13.7km/h (8.5mph) over the month. Pack a light rain jacket or umbrella for the rain and a sweatshirt for the evenings. Expect the temperatures to rise by the end of March in much of Sri Lanka.
Weather in April
April is a hot and dry month in the summer of Sri Lanka, with 9 hours of bright sunshine. The average temperatures range between 26.1°C (79°F) to 32.8°C (91°F) in the northwest, interior, and eastern regions. Jaffna and Mannar are hot, while Puttalam and Kapatiliya further south see up to 175.3mm (6.9") of rainfall in April. Nights are warm but less humid compared to the wet season. The southwest region receives 203.2mm (8") to 228.6mm (9") of precipitation in 14 wet days in the month. Colombo seawaters at an average of 30°C (86°F) are the warmest of the year. The skies are overcast between 60% and 80% of the time in the country. The daylight lasts up to 12 hours and 25 minutes, and it is a perfect time to visit the interior. However, avoid the afternoons with the scorching sun. Beach lovers can expect light breezes, with average wind speeds mostly below 16.1km/h (10mph). Prepare to face the heat during an April tour of Sri Lanka.
Weather in May
May is usually the hottest month of the year in Sri Lanka, with the average high temperatures in the 31.1°C (88°F) to 33.9°C (93°F) zone. The days are hot, but nights do not provide relief, with the humidity due to the impending monsoon. Extreme temperatures are rare, but heatwaves occasionally occur in the interior, with temperatures above 37.8°C (100°F). Nuwara Eliya offers respite from the heat, with average temperatures in the 12.8°C (55°F) to 21.1°C (70°F) zone and 175.3mm (6.9") of rain. Anuradhapura and Kandy receive 127mm (5") to 152.4mm (6") of rain, mostly from pre-monsoon showers in the second half of May. The relative humidity is in the range of 70% to 95% in most places. The average daily wind speeds range between 16.1km/h (10mph) to 29km/h (18mph), with a predominant direction from the west. Sunscreens, goggles, and broad-brimmed hats are necessary for extended stays on the beaches, with the sun’s ultraviolet index at the peak of 12. People from cold countries find the May heat to be unbearable in Sri Lanka.
Weather in June
June is hot, humid, and wet in Sri Lanka, as the southwest monsoon arrives in the country. The rainfall is heavy in the southwest region and registers between 177.8mm (7") to 228.6mm (9"), with at least 16 wet days in the month. The northwest region is relatively dry but cloudy and receives less than 38.1mm (1.5"). The eastern coast is hot and dry, with less than 63.5mm (2.5") of rainfall in Trincomalee and Batticaloa. Temperatures, however, scale the 35°C (95°F) mark during the day, and afternoons are hot. The average temperatures in Colombo range between 26.1°C (79°F) to 30°C (86°F) and the daily sunshine lasts for 6 hours. The skies remain cloudy for 86% of the time, and the conditions remain muggy 100% of the time. June 20 is the longest day of the year, with 12 hours and 32 minutes of daylight. Light summer clothes are suitable, but an umbrella or rain jacket is essential. Beach lovers prefer the eastern coast of Sri Lanka in June.
Weather in July
July is a humid and wet month in Sri Lanka, with a marked decrease in precipitation. The average temperatures range between 27.8°C (82°F) to 31.7°C (89.1°F), with predominantly muggy conditions. The southwest region receives up to 63.5mm (2.5") of rain, while it is less than 38.1mm (1.5") in the other parts of the country. The relative humidity ranges between 75% to 95%, and the sticky conditions induce much sweat. The skies remain cloudy for 85% to 90% of the time to keep the daily sunshine to less than 7 hours a day. The average daily wind speeds range between 19.3km/h (12mph) to 27.4km/h (17mph), with the lowest speeds on the eastern coast. The eastern coast is also drier and sunnier than the western coast in the wet season. The daylight lasts up to 12.5 hours with sunrise at 6 a.m. and sunset at 6.30 p.m. in most places. Visitors find July weather acceptable and the season, budget-friendly, in Sri Lanka.
Weather in August
August is a wet month in Sri Lanka, with ample rain amid generally humid conditions. The average temperatures are in the range of 27.8°C (82°F) to 31.1°C (88°F) in Jaffna, Mannar, and the northwestern region, which see than 30.5mm (1.2") of rainfall. Colombo and Galle are hot and humid in the 26.7°C (80.1°F) to 30.6°C (87.1°F) and receive 76.2mm (3") to 127mm (5") of rain. Expect heavy rainfall, sometimes for days together, but also sunny days. The sunshine returns quickly after a torrential downpour. The southwest monsoon has little influence in the southeast, which is relatively dry and sunny. The average relative humidity remains above 82% in August, and it is especially muggy in the coastal areas. Cloudy skies are the norm as the daily sunshine lasts for less than 7 hours. The sea temperatures are warm at 28.3°C (82.9°F), but tourist footfalls are less in the rainy season in the beach towns. A trip to Sri Lanka is generally avoidable in August.
Weather in September
September is humid and wet in the rainy season in Sri Lanka. The average temperatures in the northwest are in the 27.2°C (81°F) to 31.1°C (88°F) range, while they scale between 26.7°C (80.1°F) to 33.9°C (93°F) in the southeast. Anuradhapura and Kandy in the interior are in the hot range of 26.7°C (80.1°F) to 32.2°C (90°F), with 101.6mm (4") to 127mm (5") of rainfall in 15 wet days in September. The southwest receives heavy rainfall, with 254mm (10") in Colombo and Galle. The precipitation registers 50.8mm (2") to 101.6mm (4") even in the relatively dry region of the northwest. Raincoats and umbrellas are necessary while going out in the rainy season. Floods, landslides, and mudslides pose a risk for outdoor activities in hilly areas. September daylight usually lasts for 12 hours with at least 7 hours of sunshine. The average relative humidity ranges between 75% and 95%, and wind speeds are between 19.3km/h (12mph) and 25.7km/h (16mph). Watch out for tropical cyclones that frequently reach the shores of Sri Lanka in September.
Weather in October
October is the second peak of the southwest monsoon in Sri Lanka. The southwest region receives heavy rainfall between 304.8mm (12") to 381mm (15"), and even the interior regions receive up to 254mm (10"). Mountainous regions in the central highlands receive torrential rainfall and remain mostly cloudy with hardly 2 hours of daily sunshine. Even at the peak of October, the eastern region is relatively dry, with only 127mm (5") in Arugam Bay. The conditions are hot and humid, with average high temperatures in the 26.1°C (79°F) to 30.6°C (87.1°F) in most regions. The eastern coast sees daily highs above 35°C (95°F), with clear skies for 25% of the time. October heat is phenomenal and may even cause sunstroke. Expect thunderstorms in the afternoon. Nights are often wet, and the monsoon rains, sometimes, last for extended periods. The average daily wind speeds rapidly decrease in the month from 18.5km/h (11.5mph) to 13.8km/h (8.6mph). October trips to Sri Lanka mostly encounter wet weather.
Weather in November
November sees the departure of the southwest monsoon in Sri Lanka but brings the northeast monsoon to the eastern region. The western region receives between 203.2mm (8") to 254mm (10") of precipitation during the transitional period. The eastern region, including Trincomalee and Batticaloa receives 177.8mm (7") to 254mm (10") of rainfall, which is its highest of the year. Hambantota in the southeast receives 76.2mm (3") to 127mm (5") of precipitation. The average temperatures in Colombo are in the warm 23.9°C (75°F) to 30°C (86°F) zone, with warm days and humid nights. Jaffna and Mannar in the northwest register in the warm 25.6°C (78.1°F) to 30.6°C (87.1°F) range. The skies remain clear for 33% of the time, and the warm sunshine of 7 welcomes the tourists. The seawaters are warm for swimming at 28.9°C (84°F), and the beaches begin to attract visitors. Light jackets are suitable during evenings, although the average daily wind speeds drop below 16.1km/h (10mph) by the end of the month. November is an excellent time for budget travelers to visit Sri Lanka.
Weather in December
December is a mild winter month in Sri Lanka, with moderate daily sunshine of 7 hours. The average temperatures in Jaffna are in the warm 25.6°C (78.1°F) to 28.3°C (82.9°F), while in Colombo they register between 23.3°C (73.9°F) to 30.6°C (87.1°F). The interior is colder than the coast, with temperatures usually between 20.6°C (69.1°F) to 25.6°C (78.1°F). The southwestern region receives between 152.4mm (6") to 203.2mm (8") of rainfall with at least 12 wet days in the month. Much of the interior and the eastern shores receive between 101.6mm (4") to 152.4mm (6") of precipitation. The skies remain clear for 34% of the time, and the humidity levels register between 70% and 95%. December 21 is the shortest day of the year, with 11 hours and 43 minutes of daylight in Colombo. The seawater temperatures are mild below 27.8°C (82°F), and the waters remain calm at the end of the cyclone season. A light rain jacket for the rain and a sweater in hilly areas is advisable. Expect a gradual drop in temperatures by the end of December in Sri Lanka.