Climate and average weather in Diani Beach

In Diani Beach, the weather is muggy, hot, wet, and partly cloudy and remarkably steady, with daytime highs holding near hot levels all year. The wettest stretch peaks around May.

Best: late May to early November

Over the course of the year, the temperature in Diani Beach typically varies from 22°C to 32°C, and is rarely below 21°C or above 34°C. February is the hottest month of the year, while July is the coldest.

Based on the travel score, the best times of year to visit Diani Beach for warm-weather activities are from early January to mid February and late May to early November.

Hottest
Feb
32°
Coldest
Jul
22°
Wettest
May
212 mm
Driest
Feb
17 mm
Rain / yr
947 mm
196 wet days
Daylight
11.8–12.2 h
shortest–longest
Elevation
0 m
4.3°S
Clearest
Sep
40% cloud

Diani Beach weather by month, at a glance

The whole year in one picture — sky, rain, humidity, temperature and travel score. Click any band to jump to its full chart.

Each stripe is one measure across the whole year, stacked so a single day reads top to bottom. The sky band runs overcast grey on top down to clear blue at the base — more blue means sunnier — followed by the rainfall curve, the humidity band, a temperature strip that tints each stretch of the year by how warm its average high is, and the travel-score line at the foot. Scan straight down any date to read that day across every measure at once; the score climbs highest around late May to early November.

Temperature through the year

Average highAverage lowShaded bands: 10–90% of days

Daily average highs and lows in Diani Beach, from 1991–2020 of climate data. The shaded bands show the range most days fall in — 10th to 90th percentile.

Temperatures in Diani Beach stay fairly even through the year, without a distinct hot or cool season. The warmest month is February, with an average high of 32°C and low of 25°C; the coolest is July, with an average low of 22°C and high of 27°C.

Days typically run about 6°C warmer than nights year-round.

20°25°30°35°JanFebMarAprMayJunJulAugSepOctNovDec
Avg high (°C)Avg low (°C)
Jan3225
Feb3225
Mar3225
Apr3025
May2824
Jun2723
Jul2722
Aug2722
Sep2822
Oct2923
Nov3024
Dec3125

How hot and cold Diani Beach really feels

Feels-like highFeels-like lowactual air temp

The felt-temperature range through the year — heat index on the day's high (summer humidity), wind chill on the night's low (winter wind). The dashed lines are the plain thermometer; the gap is how much hotter or colder it really feels.

On the hottest afternoons, once humidity is folded in, Diani Beach feels like about 38°C (around March 16). About 201 days a year carry some heat stress, peaking in March.

20°25°30°35°40°JanFebMarAprMayJunJulAugSepOctNovDecdangerous heat
Feels-like high (°C)Air high (°C)Feels-like low (°C)Air low (°C)
Jan36322525
Feb37322525
Mar38322525
Apr35302525
May32282424
Jun30272323
Jul27272222
Aug27272222
Sep30282222
Oct32292323
Nov34302424
Dec36312525

Average hourly temperature in Diani Beach

A compact picture of the whole year, hour by hour: each column is a day, each row an hour, and the color is the modeled average temperature. Darker overlays mark night, lighter ones the civil-twilight hours around sunrise and sunset.

Read left to right for the day of the year and top to bottom for the hour of the day; the color is the modeled temperature, cool blues through to hot reds on the same scale as the other charts. A vertical slice is a single day's swing — coolest just before dawn, warmest in the mid-afternoon — while a horizontal slice follows one hour across the seasons. The darker overlay marks night and the lighter one the twilight around sunrise and sunset. Colors run warmest on February afternoons, near 32°C, and coldest before dawn in July, near 22°C.

JanFebMarAprMayJunJulAugSepOctNovDec12 AM2 AM4 AM6 AM8 AM10 AM12 PM2 PM4 PM6 PM8 PM10 PM12 AM

Diani Beach weather by month

Every month at a glance. Click a month for its detailed page.

MonthHigh / Low (°C)Rainfall (mm)Wet daysDaylight (hours)Travel score
Jan32° / 25°234.312.24.6
Feb32° / 25°173.812.14.4
Mar32° / 25°5614.3123.7
Apr30° / 25°13624.111.93.3
May28° / 24°21223.211.84.1
Jun27° / 23°9220.511.84.9
Jul27° / 22°722011.85.2
Aug27° / 22°6119.611.95.3
Sep28° / 22°5417.6125.5
Oct29° / 23°9017.412.14.9
Nov30° / 24°7817.312.24.3
Dec31° / 25°5813.712.24.2

Chance of rain

How likely it is to rain on a typical day, and how that shifts across the wetter and drier seasons.

Diani Beach gets about 947 mm of precipitation a year. On a typical day the chance of rain is very wet, but that rises and falls sharply with the seasons.

The wetter season lasts 8.5 months, from around Mar 22 to Dec 5, peaking in April at about 82% chance on a given day. The drier stretch runs the rest of the year, bottoming out around Jan 31.

May is the wettest month by volume, with 212 mm over about 23 wet days; February is the driest, with 17 mm.

0%10%20%30%40%50%60%70%80%90%JanFebMarAprMayJunJulAugSepOctNovDecdrierwetterdriermostly drysome rainoften wetvery wetApr 20 · 82%Jan 31 · 10%
Rain on a day (%)Rain days
Jan154
Feb154
Mar4614
Apr7924
May7523
Jun6921
Jul6520
Aug6320
Sep5818
Oct5717
Nov5817
Dec4314

Monthly rainfall

Over a full year, Diani Beach collects about 947 mm of rain across 196 wet days — roughly 79 mm in an average month.

It doesn’t fall evenly. May is the wettest month with 212 mm, while February is the driest at just 17 mm. The three wettest months alone bring about 46% of the year’s total.

050100150200250JanFebMarAprMayJunJulAugSepOctNovDec23175613621292726154907858
Rainfall (mm)Rain days
Jan234
Feb174
Mar5614
Apr13624
May21223
Jun9221
Jul7220
Aug6120
Sep5418
Oct9017
Nov7817
Dec5814

Clouds and sunshine

ClearMostly clearPartly cloudyMostly cloudyOvercast

How often the daytime sky is clear, partly cloudy or overcast.

In Diani Beach, the average share of the sky covered by clouds shows significant seasonal variation over the course of the year.

The clearer part of the year begins around August 3 and lasts for 3.4 months, ending around November 12. The clearest month is September, when the sky is clear, mostly clear, or partly cloudy 82% of the time on average.

The cloudier part of the year begins around March 25 and lasts for 4.3 months, ending around August 2. The cloudiest month is April, when it is overcast or mostly cloudy 49% of the time.

0%100%10%90%20%80%30%70%40%60%50%50%60%40%70%30%80%20%90%10%100%0%JanFebMarAprMayJunJulAugSepOctNovDecSep 8 · 85%May 1 · 44%clearmostly clearpartly cloudymostly cloudyovercastcloudierclearercloudier
Clearer (%)Cloudier (%)
Jan6733
Feb6535
Mar6634
Apr5149
May5347
Jun5842
Jul6040
Aug7327
Sep8218
Oct7327
Nov6733
Dec7129

Daylight, sunrise and sunset

DaylightNight

Hours of daylight through the year, with sunrise and sunset times.

The gold band is daylight — sunrise runs along its lower edge, sunset along the upper — so it widens toward summer and pinches toward winter, with night the dark area above and below. Close to the equator, Diani Beach barely changes through the year: days stay near 12 h 12 min of light in every season.

12 AM4 AM8 AM12 PM4 PM8 PM12 AMJanFebMarAprMayJunJulAugSepOctNovDec
Daylight (h)Sunrise (AM)Sunset (PM)
Jan12.26:246:38
Feb12.16:326:40
Mar12.06:306:32
Apr11.96:256:19
May11.86:246:12
Jun11.86:296:14
Jul11.86:346:20
Aug11.96:306:21
Sep12.06:176:15
Oct12.16:046:10
Nov12.26:016:13
Dec12.26:106:25

Sunny days

How many genuinely sunny days each month brings — days the sky stays clear or mostly clear — banded into plain-language zones.

Diani Beach averages about 12 sunny days a month — counting the days the sky stays clear or mostly clear — with a clear seasonal swing between 7 and 17 days.

The sunnier stretch runs 2.9 months, from around Aug 7 to Nov 1. The sunniest month is September, with roughly 17 sunny days (bright).

The greyest month is May, down near 10 sunny days — about 44% fewer than the September peak.

05101520JanFebMarAprMayJunJulAugSepOctNovDecgreyersunniergreyergloomymixedbrightSep 1717 daysMay 17 days
Sunny daysSky
Jan13Mixed
Feb11Mixed
Mar13Mixed
Apr9Mixed
May10Mixed
Jun10Mixed
Jul11Mixed
Aug14Mixed
Sep17Bright
Oct15Mixed
Nov12Mixed
Dec15Mixed

Humidity comfort

DryComfortableHumidMuggyOppressiveMiserable

Share of days at each humidity comfort level, based on the dew point — the measure that tracks how muggy it actually feels.

Humidity comfort is graded by the dew point — the temperature at which the air would be fully saturated — because it tracks how muggy it actually feels far better than relative humidity does. A low dew point feels dry and crisp; a high one feels sticky and oppressive no matter the reading on a humidity gauge.

Diani Beach is humid all year round — on a typical day the air feels at least humid, and there is no real dry season to wait for.

The stickiest month is January, when it feels muggy, oppressive or miserable about 100% of the time. Even in January, the mildest month, the air is dry or comfortable only 0% of the time.

0%10%20%30%40%50%60%70%80%90%100%JanFebMarAprMayJunJulAugSepOctNovDecmiserableoppressivemuggy
Humid (%)Muggy (%)Oppressive (%)Miserable (%)
Jan03917
Feb02899
Mar006337
Apr006237
May04888
Jun132670
Jul166330
Aug070300
Sep050500
Oct018802
Nov018216
Dec018019

Wind

Average wind speed through the year, banded into plain-language speed zones so a number reads as 'breezy' or 'calm' without knowing the scale.

This is the average sustained wind speed at the standard 10 metres above open ground — the steady flow a weather station reports, not the sharper gusts that come and go, which can run half again as fast. It's the number that says whether a place is generally breezy or calm.

Across the year, average wind speed in Diani Beach is typically light breeze, near 13 km/h, and varies moderately with the seasons.

The windier part of the year lasts 5.3 months, from around Apr 14 to Sep 22. The windiest month is June, averaging about 18 km/h (light breeze).

The calmer part of the year runs from around Sep 23 to Apr 13, with November the calmest month at about 9 km/h.

0510152025JanFebMarAprMayJunJulAugSepOctNovDeccalmerwindiercalmercalmlight breezebreezyJun 17 · 18 km/hNov 23 · 9 km/h
Wind speed (km/h)Feels
Jan13light breeze
Feb12calm
Mar10calm
Apr14light breeze
May16light breeze
Jun18light breeze
Jul17light breeze
Aug15light breeze
Sep14light breeze
Oct12calm
Nov9calm
Dec10calm

Hazard calendar for Diani Beach

In seasonPeak

When the seasonal hazards worth planning around — the rainy season, tropical-cyclone risk and dust haze — are active through the year.

Diani Beach sits in the South Indian Ocean cyclone belt; the season peaks January–March.

Diani Beach's rainy season runs April–May, when most of the year's rain falls.

Cyclone
Rainy season
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec

Best time to visit Diani Beach

TravelBeach/poolTemperatureCloudsPrecipitation

To characterize how pleasant the weather is in Diani Beach throughout the year, we compute two travel scores — one for general sightseeing, one for beach and pool weather.

Around early June, Diani Beach is still near the start of its best-weather window — great conditions with the peak-season crowds not yet at full swing.

Inferred from the travel-score curve; month-by-month visitor numbers are a planned addition.

The travel score favors clear, rainless days with daytime highs between 18°C and 28°C. Based on this score, the best times of year to visit Diani Beach for general outdoor tourist activities run from late May to early November and again from late December to mid February, with a peak score in the third week of September.

0246810JanFebMarAprMayJunJulAugSepOctNovDecbest timebest timetravel scoretemperaturecloudsprecipitationSep 18 · 5.5

The travel score (filled area), and its constituents: the temperature score (red line), the cloud cover score (blue line), and the precipitation score (green line).

Travel score (0–10)Rating
Jan4.6fair
Feb4.4fair
Mar3.7fair
Apr3.4poor
May4.2fair
Jun4.9fair
Jul5.1fair
Aug5.3fair
Sep5.4fair
Oct4.9fair
Nov4.3fair
Dec4.2fair

The beach/pool score favors clear, rainless days with daytime highs between 24°C and 34°C. Based on this score, the best times of year to visit Diani Beach for hot-weather activities run from late September to late October and again from mid December to mid March, with a peak score in the last week of January.

024681012JanFebMarAprMayJunJulAugSepOctNovDecbest timebest timebeach/pool scoretemperaturecloudsprecipitationJan 29 · 7.5

The beach/pool score (filled area), and its constituents: the temperature score (red line), the cloud cover score (blue line), and the precipitation score (green line).

What to pack for Diani Beach, by month

EssentialRecommendedOptional

Month by month, what's worth putting in the bag — from the temperature range, rain chance, sun and wind. Tap a month for a quick packing note.

Diani Beach packs about the same all year — highs hold near 32°C. Across the year the things worth having are light clothes, sun protection and rain gear.

Light clothing
Warm layer
Winter coat
Rain gear
Sun protection
Windbreaker

In February, Diani Beach sees daytime highs around 32°C and nights near 25°C. Pack light clothes and sun protection. About 4 days see rain.

Sea temperature near Diani Beach

Average ocean temperature at the nearest coast, month by month, banded into swim-comfort zones — the other half of the beach question.

The sea offshore is warmest in March at about 29°C and coldest in August near 25°C.

The water stays above 20°C all year — warm enough for a swim any month.

24°26°28°30°JanFebMarAprMayJunJulAugSepOctNovDecrefreshingwarmtropicalcomfortable to swim
Sea temperature (°C)Comfort
Jan28Warm
Feb28Tropical
Mar29Tropical
Apr29Tropical
May28Warm
Jun27Warm
Jul26Warm
Aug25Warm
Sep26Warm
Oct27Warm
Nov28Warm
Dec28Tropical

UV index (midday) in Diani Beach by month

LowModerateHighVery highExtreme

Clear-sky midday UV index through the year, shaded by the WHO exposure levels — how much sun protection each month calls for.

Under clear skies, the midday UV index in Diani Beach peaks around March 18 at about 15 (extreme) — sunscreen, a hat and midday shade are essential. It bottoms out near June 18 at about 10 (very high).

The index reaches 3 or more — the level where the WHO recommends sun protection — every month of the year.

025710JanFebMarAprMayJunJulAugSepOctNovDecExtremeVery highExtremeMar 18UV 15Jun 18UV 10
UV index (midday)Level
Jan14Extreme
Feb14Extreme
Mar15Extreme
Apr14Extreme
May11Extreme
Jun9Very high
Jul10Extreme
Aug11Extreme
Sep13Extreme
Oct13Extreme
Nov13Extreme
Dec12Extreme

Average hourly UV index in Diani Beach

LowModerateHighVery highExtreme

Modeled clear-sky UV for every hour of every day — when in the day sun protection actually matters.

The whole year hour by hour: each column is a day, each row an hour, and the color is the modeled clear-sky UV index — the midday peak scaled down as the sun sits lower in the sky. Darker overlays mark night, lighter ones the civil-twilight hours around sunrise and sunset.

UV falls off far faster than brightness as the sun drops, so even in March the burn window is concentrated in the middle of the day: about 8.5 hours a day reach index 3 (protection recommended), and 6.5 hours reach 6 or more. Mornings and late afternoons stay comparatively gentle year round.

JanFebMarAprMayJunJulAugSepOctNovDec12 AM2 AM4 AM6 AM8 AM10 AM12 PM2 PM4 PM6 PM8 PM10 PM12 AM
UV ≥ 3 (h/day)UV ≥ 6 (h/day)
Jan8.56.5
Feb86.5
Mar8.56.5
Apr86
May7.55.5
Jun74.5
Jul7.55
Aug7.55.5
Sep86
Oct86
Nov86
Dec86

Air quality in Diani Beach by month

GoodModeratePoorUnhealthyVery unhealthy

Average fine-particle pollution (PM2.5) through the year — so you can see which months the air is worst, not just the yearly average.

Air quality in Diani Beach is worst in January — around 22 µg/m³ PM2.5 (moderate), about 1.8× the cleanest month (October, 12 µg/m³).

Modeled monthly averages (CAMS reanalysis, 2015–2024).

0102030JanFebMarAprMayJunJulAugSepOctNovDecModerateJan 1422 µg/m³Oct 1313 µg/m³
PM2.5 (µg/m³)Level
Jan22Moderate
Feb20Moderate
Mar16Moderate
Apr13Moderate
May14Moderate
Jun16Moderate
Jul16Moderate
Aug15Moderate
Sep13Moderate
Oct12Moderate
Nov15Moderate
Dec21Moderate
Almanac & agriculture

Growing season

Chance of a frost-free dayFrost-free year round

Diani Beach is frost-free year round — even the coldest nights rarely reach freezing, so there is no start or end to the growing season.

0%25%50%75%100%JanFebMarAprMayJunJulAugSepOctNovDecfrost-free year round
Frost-free chance (%)Frost nights
Jan1000
Feb1000
Mar1000
Apr1000
May1000
Jun1000
Jul1000
Aug1000
Sep1000
Oct1000
Nov1000
Dec1000

Growing degree days

Degree days (base 10°C)Frost-free shaded

Growing degree days tally heat above 10°C: each day adds however many degrees its average temperature runs over that threshold, and cold days add nothing. Diani Beach banks about 6,052 degree days a year, and the running total — which growers use to time plantings and predict maturity — climbs fastest around March.

02,0004,0006,000JanFebMarAprMayJunJulAugSepOctNovDec
Growing degree days (°C·days)
Jan569
Feb521
Mar580
Apr524
May501
Jun456
Jul448
Aug446
Sep450
Oct494
Nov507
Dec556

Solar energy

Average daily shortwave solar energy reaching the ground, banded into brightness zones so the number means something at a glance.

Solar energy is how much sunlight actually reaches the ground each day, measured in kilowatt-hours per square metre (kWh/m²) — the combined effect of how long the sun is up, how high it climbs, and how much cloud gets in the way. It's the raw fuel a solar panel has to work with: for scale, 1 kWh/m² a day is dim and wintry, while 7+ is desert-bright.

Diani Beach receives about 5.7 kWh/m² a day of solar energy on average — bright — with a clear seasonal swing between 4.6 and 6.6 kWh/m².

The brighter stretch of the year lasts 7.2 months, from around Aug 29 to Apr 3. The brightest month is February, averaging about 6.5 kWh/m² (intense).

The dimmest month is May, down near 4.7 kWh/m² — roughly 28% less than the February peak.

012345678JanFebMarAprMayJunJulAugSepOctNovDecbrighterdimmerbrighterdimmoderatebrightintenseFeb 206.6 kWhMay 104.6 kWh
Solar energy (kWh/m²)Level
Jan6.2Intense
Feb6.6Intense
Mar6.2Intense
Apr5.3Bright
May4.6Bright
Jun4.9Bright
Jul5.0Bright
Aug5.5Bright
Sep6.0Intense
Oct6.1Intense
Nov6.0Bright
Dec6.1Intense

Where is Diani Beach?

Diani Beach sits at 4.3°S, 39.6°E, 0 m above sea level, in Kenya. The nearest listed city is Ukunda, 4.0 km away.

Kilifi

Topography around Diani Beach

How much the land rises and falls, and what covers it, within 3, 16 and 80 km of Diani Beach.

Within 3 km, the terrain around Diani Beach has only modest variations in elevation — a maximum elevation change of 30 m around an average of 7 m above sea level; within 16 km, significant variations in elevation — a maximum elevation change of 336 m; within 80 km, large variations in elevation — a maximum elevation change of 800 m.

The land around Diani Beach is covered by water (53%) and trees (30%) within 3 km, water (51%) and trees (28%) within 16 km, and water (43%) and grassland (22%) within 80 km.

3 km
30 m
16 km
336 m
80 km
800 m
treesshrubsgrasslandcroplandartificial surfacesbare terrainwatermangroves
Nearby: Ukunda 4.0 km · Matuga 13 km · Mombasa 26 km · Jomvu 33 km · Mazeras 35 km · Mtwapa 42 km · Mariakani 48 km · Kilifi 78 km

Kenya travel facts

Travel advisory
Level 2
Exercise Increased Caution
Power plugs
Type G
240 V · 50 Hz
Prices
≈ 34% of US
price level, 2025
GDP per capita
$2,363
2025
Happiness
4.7 / 10
World Happiness, 2025
Homicide rate
4.9
per 100k, 2022
Road deaths
28.3
per 100k/yr, 2019
Income group
Lower middle
World Bank
English
High
EF EPI 593
Religion
Christian 86%Muslim 11%other 2%none 2%

Sources: World Bank, US State Department, World Happiness Report, WHO/UNICEF, EF EPI, CIA World Factbook.

Data sources

Temperature, precipitation, cloud, humidity, wind and solar figures are a 1991–2020 climatology for Diani Beach (-4.2798°, 39.5947°, elevation 0 m), computed from hourly ERA5 reanalysis — contains modified Copernicus Climate Change Service information. Sun figures are astronomical calculations, not observations. City data © GeoNames, CC BY 4.0. Map outlines from Natural Earth (public domain); interactive map © Google. Tropical-cyclone seasons are the published climatological basin seasons (NOAA National Hurricane Center / regional warning centres). Sea temperatures are the NOAA OISST v2.1 1991–2020 monthly climatology (public domain), sampled at the nearest ocean point. UV index is derived from CAMS (Copernicus Atmosphere Monitoring Service) clear-sky UV data — contains modified Copernicus Atmosphere Monitoring Service information. Monthly air-quality (PM2.5) seasonality is from the CAMS EAC4 reanalysis (Copernicus Atmosphere Monitoring Service), scaled to the WHO annual mean where available. Topography is sampled from the Copernicus DEM GLO-90 elevation model (© ESA/Airbus) and ESA WorldCover 2021 land cover (CC BY 4.0).