Gran Canaria
- Day
- 21.2°C
- Sea
- 20.6°C
- Sun
- 6.4h
- Rain days
- 5
Find your sunshine
The warmest short-haul choices in December are Gran Canaria, La Gomera, Agadir and Tenerife, with daytime highs of 21°C. Within a flight of up to 4.5 h from London, expect comfortable warmth rather than heat above 25°C. Choose the Canary Islands for milder evenings and less chilly seas, or Agadir for a shorter flight with similar daytime warmth. The catch is that none offers reliably hot beach weather, and rain remains possible.
Long-term climate averages, not a forecast · 1991-2020
A sunny escape, any month
Turn up the warmth
Ranked by average daytime high. Check the rain before you pack. Flight times are estimates from London Gatwick.
A little detail goes a long way
All 78 destinations, ordered by average daytime high. Night is the average low; sea is the average surface temperature; sun is per day; rainy days count 1 mm or more; flight time is an estimate for a direct flight from London Gatwick.
Scroll sideways for more weather, down for more places. Click a heading to sort.
| # | Destination | ||||||
|---|---|---|---|---|---|---|---|
| 1 | Gran CanariaSpain | 21.2°C | 16.9°C | 20.6°C | 6.4 h | 5 | 4 h 24 min |
| 2 | La GomeraSpain | 21.2°C | 18.4°C | 21.1°C | 6.5 h | 5 | 4 h 24 min |
| 3 | AgadirMorocco | 20.8°C | 11.6°C | 17.7°C | 6.5 h | 4 | 3 h 48 min |
| 4 | TenerifeSpain | 20.7°C | 16.4°C | 21.1°C | 6.6 h | 6 | 4 h 24 min |
| 5 | FuerteventuraSpain | 20.2°C | 16.9°C | 20.0°C | 5.6 h | 3 | 4 h 12 min |
| 6 | LanzaroteSpain | 19.6°C | 16.9°C | 19.9°C | 5.5 h | 4 | 4 h 6 min |
| 7 | MarrakechMorocco | 18.8°C | 4.7°C | - | 6.2 h | 5 | 3 h 36 min |
| 8 | La PalmaSpain | 18.3°C | 16.1°C | 21.1°C | 5.8 h | 6 | 4 h 24 min |
| 9 | MadeiraPortugal | 17.8°C | 14.9°C | 19.9°C | 3.5 h | 11 | 3 h 48 min |
| 10 | SousseTunisia | 17.7°C | 9.0°C | 18.0°C | 5.5 h | 6 | 3 h 6 min |
| 11 | Costa de la LuzSpain | 16.5°C | 9.6°C | 16.5°C | 4.9 h | 8 | 2 h 54 min |
| 12 | AlbufeiraPortugal | 16.4°C | 9.5°C | 16.6°C | 4.5 h | 8 | 2 h 54 min |
| 13 | HammametTunisia | 16.4°C | 11.3°C | 18.1°C | 5.1 h | 7 | 3 h 6 min |
| 14 | AlgarvePortugal | 16.2°C | 10.3°C | 16.7°C | 4.6 h | 8 | 2 h 54 min |
| 15 | VallettaMalta | 16.2°C | 13.6°C | 18.1°C | 5.0 h | 10 | 3 h 18 min |
| 16 | SevilleSpain | 16.1°C | 7.7°C | - | 4.9 h | 7 | 2 h 42 min |
| 17 | AlicanteSpain | 15.9°C | 9.1°C | 16.2°C | 5.0 h | 5 | 2 h 30 min |
| 18 | BenidormSpain | 15.8°C | 8.9°C | 16.2°C | 5.0 h | 6 | 2 h 30 min |
| 19 | RhodesGreece | 15.8°C | 13.0°C | 19.3°C | 5.1 h | 12 | 4 h 12 min |
| 20 | MalagaSpain | 15.8°C | 10.7°C | 15.8°C | 4.5 h | 7 | 2 h 48 min |
| 21 | IbizaSpain | 15.7°C | 11.3°C | 16.4°C | 5.1 h | 6 | 2 h 30 min |
| 22 | CreteGreece | 15.6°C | 10.0°C | 18.0°C | 3.5 h | 11 | 4 h 6 min |
| 23 | KosGreece | 15.6°C | 12.9°C | 18.9°C | 4.9 h | 13 | 4 h 6 min |
| 24 | ValenciaSpain | 15.5°C | 7.9°C | 15.6°C | 5.0 h | 5 | 2 h 24 min |
| 25 | SicilyItaly | 15.4°C | 9.2°C | 16.8°C | 4.8 h | 8 | 3 h 12 min |
| 26 | MarbellaSpain | 15.4°C | 10.4°C | 15.9°C | 4.6 h | 9 | 2 h 48 min |
| 27 | FethiyeTurkey | 15.4°C | 7.3°C | 19.5°C | 4.9 h | 10 | 4 h 18 min |
| 28 | MarmarisTurkey | 15.3°C | 10.0°C | 19.3°C | 4.8 h | 12 | 4 h 12 min |
| 29 | MajorcaSpain | 15.1°C | 10.7°C | 16.4°C | 4.6 h | 7 | 2 h 24 min |
| 30 | ZanteGreece | 15.0°C | 12.3°C | 17.9°C | 4.3 h | 14 | 3 h 30 min |
| 31 | KefaloniaGreece | 14.9°C | 12.3°C | 17.7°C | 4.3 h | 13 | 3 h 30 min |
| 32 | BodrumTurkey | 14.9°C | 11.5°C | 18.3°C | 4.9 h | 12 | 4 h 6 min |
| 33 | MenorcaSpain | 14.7°C | 12.2°C | 16.3°C | 4.4 h | 8 | 2 h 24 min |
| 34 | NaxosGreece | 14.6°C | 12.2°C | 17.1°C | 4.3 h | 10 | 3 h 54 min |
| 35 | LisbonPortugal | 14.5°C | 10.2°C | 15.2°C | 4.1 h | 9 | 2 h 42 min |
| 36 | MykonosGreece | 14.5°C | 11.9°C | 16.7°C | 4.2 h | 10 | 3 h 54 min |
| 37 | AntalyaTurkey | 14.1°C | 7.1°C | 19.5°C | 4.6 h | 13 | 4 h 24 min |
| 38 | SardiniaItaly | 13.9°C | 8.8°C | 15.2°C | 4.2 h | 9 | 2 h 24 min |
| 39 | SantoriniGreece | 13.9°C | 11.2°C | 17.6°C | 4.3 h | 10 | 4 h |
| 40 | KusadasiTurkey | 13.8°C | 7.2°C | 17.5°C | 4.6 h | 11 | 4 h |
| 41 | PaxosGreece | 13.7°C | 10.9°C | 17.4°C | 4.2 h | 14 | 3 h 18 min |
| 42 | PortoPortugal | 13.6°C | 7.5°C | 14.1°C | 3.4 h | 13 | 2 h 24 min |
| 43 | SalouSpain | 13.4°C | 6.4°C | 15.2°C | 4.7 h | 5 | 2 h 12 min |
| 44 | CorfuGreece | 13.3°C | 10.1°C | 17.3°C | 3.9 h | 14 | 3 h 18 min |
| 45 | SorrentoItaly | 13.2°C | 9.4°C | 16.9°C | 4.1 h | 13 | 2 h 48 min |
| 46 | AthensGreece | 13.2°C | 7.2°C | 17.3°C | 4.1 h | 8 | 3 h 42 min |
| 47 | SkiathosGreece | 13.2°C | 11.1°C | 15.6°C | 3.6 h | 12 | 3 h 36 min |
| 48 | PargaGreece | 13.2°C | 8.3°C | 17.4°C | 4.1 h | 13 | 3 h 18 min |
| 49 | BarcelonaSpain | 13.1°C | 6.2°C | 14.9°C | 4.5 h | 6 | 2 h 6 min |
| 50 | PugliaItaly | 13.1°C | 8.7°C | 14.8°C | 4.1 h | 10 | 2 h 54 min |
| 51 | Amalfi CoastItaly | 13.0°C | 9.2°C | 16.9°C | 4.1 h | 13 | 2 h 48 min |
| 52 | NaplesItaly | 13.0°C | 7.1°C | 16.9°C | 4.1 h | 12 | 2 h 42 min |
| 53 | Lloret de MarSpain | 13.0°C | 5.1°C | 14.7°C | 4.4 h | 7 | 2 h 6 min |
| 54 | SarandaAlbania | 12.7°C | 6.0°C | 17.2°C | 3.9 h | 14 | 3 h 18 min |
| 55 | RomeItaly | 12.4°C | 5.1°C | 16.3°C | 4.4 h | 11 | 2 h 30 min |
| 56 | NiceFrance | 12.4°C | 6.3°C | 15.5°C | 4.2 h | 8 | 2 h |
| 57 | AlonissosGreece | 12.4°C | 9.7°C | 15.6°C | 3.7 h | 11 | 3 h 36 min |
| 58 | DubrovnikCroatia | 11.8°C | 6.3°C | 16.0°C | 4.1 h | 13 | 2 h 48 min |
| 59 | BudvaMontenegro | 11.7°C | 6.8°C | 16.0°C | 3.8 h | 14 | 2 h 54 min |
| 60 | HalkidikiGreece | 11.4°C | 7.4°C | 15.5°C | 3.7 h | 9 | 3 h 30 min |
| 61 | SplitCroatia | 11.2°C | 5.2°C | 15.7°C | 4.0 h | 12 | 2 h 36 min |
| 62 | ThassosGreece | 10.4°C | 6.3°C | 14.3°C | 3.8 h | 10 | 3 h 30 min |
| 63 | PulaCroatia | 10.4°C | 6.7°C | 13.7°C | 3.6 h | 12 | 2 h 18 min |
| 64 | IstanbulTurkey | 10.2°C | 6.3°C | 11.1°C | 3.0 h | 13 | 3 h 54 min |
| 65 | FlorenceItaly | 10.1°C | 2.9°C | - | 3.4 h | 12 | 2 h 12 min |
| 66 | MadridSpain | 10.1°C | 2.1°C | - | 4.1 h | 7 | 2 h 18 min |
| 67 | Lido di JesoloItaly | 8.2°C | 2.7°C | 12.3°C | 3.7 h | 8 | 2 h 12 min |
| 68 | Sunny BeachBulgaria | 8.1°C | 3.0°C | 9.8°C | 3.3 h | 9 | 3 h 36 min |
| 69 | VeniceItaly | 8.0°C | 2.6°C | 11.8°C | 3.5 h | 9 | 2 h 12 min |
| 70 | VeronaItaly | 7.8°C | 0.8°C | - | 3.8 h | 8 | 2 h 6 min |
| 71 | Lake GardaItaly | 7.6°C | 2.4°C | - | 3.6 h | 8 | 2 h |
| 72 | ParisFrance | 7.5°C | 2.5°C | - | 2.0 h | 13 | 1 h 6 min |
| 73 | MilanItaly | 7.0°C | -0.1°C | - | 3.5 h | 7 | 1 h 54 min |
| 74 | AmsterdamNetherlands | 6.4°C | 2.6°C | 6.4°C | 1.9 h | 13 | 1 h 12 min |
| 75 | BledSlovenia | 4.6°C | -1.8°C | - | 2.8 h | 9 | 2 h 12 min |
| 76 | PragueCzechia | 4.0°C | -1.1°C | - | 2.0 h | 10 | 2 h |
| 77 | BudapestHungary | 3.6°C | -1.8°C | - | 2.4 h | 8 | 2 h 36 min |
| 78 | KrakowPoland | 2.4°C | -3.1°C | - | 2.0 h | 10 | 2 h 30 min |
78 destinations shownDecember averages · climate, not a forecast.
Pool weather, a sea swim or a shorter flight? Start here.
None of the 78 destinations (short-haul) averages 25°C by day in December; these come closest.
The sea averages under 22°C at every destination (short-haul) in December; the warmest seas are listed here.
Nothing (short-haul) fits this in December; the nearest candidates are listed.
Gran Canaria leads the table with 21°C by day and 17°C at night, a 21°C sea and 5 rainy days (4 h 24 min from London). La Gomera leads with 21°C by day and 18°C at night, a 21°C sea and 5 rainy days (4 h 24 min from London). Agadir leads with 21°C by day and 12°C at night, a 18°C sea and 4 rainy days (3 h 48 min from London). Tenerife leads with 21°C by day and 16°C at night, a 21°C sea and 6 rainy days (4 h 24 min from London). Fuerteventura leads with 20°C by day and 17°C at night, a 20°C sea and 3 rainy days (4 h 12 min from London).
Warm rather than hot (20-25°C): Gran Canaria 21°C, La Gomera 21°C, Agadir 21°C, Tenerife 21°C, Fuerteventura 20°C. For scale, London averages 8°C in December.
Gran Canaria and La Gomera are the strongest all-round choices: both reach 21°C by day, have seas at 21°C and average 4 rainy days. La Gomera stays slightly milder at night, making it a good fit if outdoor evenings matter. Tenerife matches their daytime and sea temperatures but has 6 rainy days, so it is less compelling if avoiding rain is your priority. Fuerteventura trades a little warmth for fewer interruptions: 20°C days and 3 rainy days suit travellers who value drier weather over the warmest water. Lanzarote offers similar temperatures with a slightly shorter flight. La Palma is harder to choose for daytime warmth alone at 18°C, although its 21°C sea keeps it competitive for swimmers comfortable with cooler water.
Agadir suits travellers who want the warmest daytime weather without spending as long in the air. Its 21°C high matches the leading Canary Islands, with 4 rainy days and a flight of 3 h 48 min. The compromise comes after sunset and in the water: nights fall to 12°C and the sea is 18°C. Marrakech is better for time outdoors on land than a swimming holiday, with 19°C days but distinctly cold 5°C nights; bring a proper warm layer. Sousse cuts the flight to 3 h 6 min, but its 18°C days, 9°C nights and 6 rainy days make it a mild-weather choice rather than a convincing alternative for warmth.
Costa de la Luz and Albufeira suit travellers who would rather shorten the journey than chase the highest temperature. Both are 2 h 54 min from London, with 16°C days, 10°C nights and 8 rainy days. That is milder than London's 8°C, but better suited to spending time outdoors in layers than planning a beach holiday. Albufeira's sea is slightly warmer, though neither is a strong choice for comfortable swimming. Madeira offers 18°C days, milder 15°C nights and a 20°C sea, but its 11 rainy days are the main drawback. Choose it if gentle temperatures matter more than minimising rain, and leave your outdoor plans flexible.
A little more detail
Plain answers, grounded in the averages.
None of the 78 destinations we track within a short-haul flight of the UK average 25°C in December. The warmest are Gran Canaria (21°C), La Gomera (21°C), Agadir (21°C), Tenerife (21°C), Fuerteventura (20°C).
London averages a daytime high of 7.7°C in December, so the warmest destinations on this page are at least 14°C warmer.
The warmest seas here are 21°C around Gran Canaria, La Gomera, Tenerife and La Palma. That may suit you if you are comfortable with cooler water, but it is not bath-like warmth. Agadir and Sousse have noticeably cooler seas at 18°C.
Fuerteventura has the fewest rainy days among these choices, with 3 and a daytime high of 20°C. Gran Canaria, La Gomera and Agadir offer slightly warmer 21°C days with 4 rainy days. Fewer rainy days do not guarantee a rain-free stay.
Pack an evening layer even for the Canary Islands, where the warmer choices have nights of 16°C to 18°C. Take warmer clothing for Morocco: Agadir falls to 12°C, while Marrakech drops to 5°C, making the change from daytime warmth much more pronounced.
ERA5-Land climate reanalysis and NOAA satellite sea temperatures, 1991-2020
These are climate averages for December, not a forecast for your trip. Day and night mean average daily highs and lows; sea is the average sea temperature. Sun is average sunshine per day, estimated from cloud cover. A rainy day has 1 mm or more of rain. A dash means sea data is not available.
Flights are estimates for a direct flight from London Gatwick. Our swimming guide uses a sea temperature of 22°C or more; what feels comfortable is personal. How we measure holiday weather