Where to go on holiday in December

The best places to go in December, ranked from twenty years of historical climate data. Pick by what matters to you — warm sun, sightseeing, or a relaxing break — then open the live tool to fine-tune.

Choosing where to go on holiday in December comes down to one question: which destinations are actually warm, sunny and dry that month — not in general, but in December specifically? This ranking is built from twenty years of historical climate records (ECMWF ERA5, served by Open-Meteo). For each destination we average the daily mean temperature, sunshine hours, rainfall and wind speed across every December on record, then score the result against three traveller profiles: all-round, beach and city-break.

December sits in the European winter, so the field splits sharply. Long-haul tropical destinations (Caribbean, Maldives, Sri Lanka, Bali) are at or near their best, while most of mainland Europe is mild but unreliable. The strongest short-haul options are the Canary Islands, Madeira, the southern coast of Cyprus, the Red Sea and Marrakech — all of which stay warm and dry enough to score well. The current top five for December are Tenerife, Cape Verde, Gambia, Cancún, Phuket.

The tables below are split into three bands. All-round (the default) rewards destinations that are simply comfortable in December — mild temperatures, decent sun, low rain. Beach holiday tightens the criteria for swimming and sunbathing (22–33°C, 7+ hours of sun, fewer than two rainy days per week). City break loosens the temperature range to 15–26°C for sightseeing. Each row links to the destination's full guide and the live weather tool so you can check the specific dates you have in mind.

Top all-round picks

  1. Tenerife (Spain) — 19.3°C, 9.6h sun/day, 0.7 rainy days/week. Score: 100/100.
  2. Cape Verde (Cape Verde) — 23.5°C, 10.2h sun/day, 0.1 rainy days/week. Score: 100/100.
  3. Gambia (Gambia) — 27°C, 9.9h sun/day, 0.1 rainy days/week. Score: 100/100.
  4. Cancún (Mexico) — 24.3°C, 9.5h sun/day, 3.3 rainy days/week. Score: 98/100.
  5. Phuket (Thailand) — 26.2°C, 9.7h sun/day, 3.7 rainy days/week. Score: 96/100.
  6. Curaçao (Curaçao) — 27.2°C, 11h sun/day, 4.5 rainy days/week. Score: 91/100.
  7. Dominican Republic (Dominican Republic) — 18.4°C, 10.3h sun/day, 4.7 rainy days/week. Score: 89/100.
  8. Madeira (Portugal) — 14.9°C, 8.3h sun/day, 3 rainy days/week. Score: 89/100.
  9. Zanzibar (Tanzania) — 27.4°C, 11.3h sun/day, 4.7 rainy days/week. Score: 89/100.
  10. Maldives (Maldives) — 27.3°C, 9.8h sun/day, 4.9 rainy days/week. Score: 88/100.

Best for beach & sun

  1. Gambia (Gambia) — 27°C, 9.9h sun/day, 0.1 rainy days/week. Score: 100/100.
  2. Cape Verde (Cape Verde) — 23.5°C, 10.2h sun/day, 0.1 rainy days/week. Score: 93/100.
  3. Cancún (Mexico) — 24.3°C, 9.5h sun/day, 3.3 rainy days/week. Score: 92/100.
  4. Tenerife (Spain) — 19.3°C, 9.6h sun/day, 0.7 rainy days/week. Score: 91/100.
  5. Phuket (Thailand) — 26.2°C, 9.7h sun/day, 3.7 rainy days/week. Score: 89/100.
  6. Curaçao (Curaçao) — 27.2°C, 11h sun/day, 4.5 rainy days/week. Score: 83/100.
  7. Zanzibar (Tanzania) — 27.4°C, 11.3h sun/day, 4.7 rainy days/week. Score: 83/100.
  8. Maldives (Maldives) — 27.3°C, 9.8h sun/day, 4.9 rainy days/week. Score: 82/100.
  9. Mauritius (Mauritius) — 22.2°C, 11.4h sun/day, 5.6 rainy days/week. Score: 78/100.
  10. Bali (Indonesia) — 27°C, 10.1h sun/day, 5.9 rainy days/week. Score: 76/100.

Best city & sightseeing weather

  1. Tenerife (Spain) — 19.3°C, 9.6h sun/day, 0.7 rainy days/week. Score: 100/100.
  2. Cape Verde (Cape Verde) — 23.5°C, 10.2h sun/day, 0.1 rainy days/week. Score: 100/100.
  3. Algarve (Portugal) — 14.1°C, 7.4h sun/day, 1.9 rainy days/week. Score: 97/100.
  4. Gambia (Gambia) — 27°C, 9.9h sun/day, 0.1 rainy days/week. Score: 97/100.
  5. Gran Canaria (Spain) — 13.9°C, 9.6h sun/day, 1.6 rainy days/week. Score: 96/100.
  6. Marrakech (Morocco) — 13.4°C, 8.7h sun/day, 1 rainy days/week. Score: 94/100.
  7. Madeira (Portugal) — 14.9°C, 8.3h sun/day, 3 rainy days/week. Score: 93/100.
  8. Cancún (Mexico) — 24.3°C, 9.5h sun/day, 3.3 rainy days/week. Score: 92/100.
  9. Mallorca (Spain) — 12.4°C, 7.5h sun/day, 1.3 rainy days/week. Score: 91/100.
  10. Phuket (Thailand) — 26.2°C, 9.7h sun/day, 3.7 rainy days/week. Score: 89/100.

Frequently asked questions

Where is it warmest in December?

In December the warmest, sunniest spots in our dataset are Tenerife (19.3°C, 9.6h sun/day); Cape Verde (23.5°C, 10.2h sun/day); Gambia (27°C, 9.9h sun/day). The full ranking averages temperature, sunshine, rainfall and wind over twenty years of historical climate data.

Where can you go on holiday in December?

December sits in the European winter, so the genuinely hot beach options are long-haul — Caribbean, Maldives, South-East Asia — while the Canary Islands, Madeira, southern Cyprus and the Red Sea offer the warmest short-haul sun. The ranking above shows the top destinations for December across three traveller profiles: all-round, beach and city-break.

Is December a good month to travel?

December is one of the best months for long-haul winter sun and one of the worst for European beach holidays. Use the ranking to pick destinations that actually stay warm and dry.

Where can you go in December without the crowds?

December is a strong shoulder-season month for several Mediterranean and Atlantic-island destinations. Look outside the top three for places that score well but get less mainstream coverage — Madeira, Cape Verde, Sicily, the Algarve and Croatia are often overlooked.

Is December good for sightseeing?

Our sightseeing band ranks destinations by mild temperatures (15–26°C) and low rainfall in December, so you can pick a trip with comfortable walking weather. Tenerife, Cape Verde, Gambia score well this month.

What about rain and sea temperature in December?

Each row in the ranking shows the average rainfall (days per week) and sunshine hours for December, based on twenty years of historical data. Sea temperatures lag air temperatures by about a month — so for swimming, look for destinations that were already warm in the previous month too.