Methodology and data sources
Every number on a beach page comes from a named open dataset or from a calculation described on this page. We do not write descriptions from memory, and we do not publish a page when the data behind it is thin.
Sources
| What | Source | Detail | Licence |
|---|---|---|---|
| Beach list (first wave) | KeywordTool.io search data | Beach names with monthly Google search volume, October 2026 | Used as a seed list |
| Additional beaches | Wikidata | Every item classed as a beach (or subclass) with coordinates and at least one Wikimedia page | CC0 |
| Location | OpenStreetMap via Photon and Nominatim | Geocoding of beach names; beach outlines replace town centres where matched | ODbL |
| Air temperature, rain, cloud, wind, humidity | NASA POWER | Monthly climatology 2001–2020 on a 0.5° × 0.625° grid | Public domain |
| Sea surface temperature | NOAA OISST v2.1 | Monthly long-term means 1991–2020 on a 0.25° grid; nearest ocean cell to the beach | Public domain |
| Beach outline, surface, rules, public facilities | OpenStreetMap, read from the Overture Maps base layers | Toilets, showers, parking, lifeguard posts, bus stops (1.5 km), stations (2.5 km), viewpoints, piers within 1 km | ODbL |
| Restaurants, cafés, bars, lodging, shops | Overture Maps places | Places with confidence ≥ 0.6 that are not marked permanently closed, within 1 km | CDLA-Permissive-2.0 |
| Water body, island, status, length | Wikidata | Statements on the beach’s item | CC0 |
| Reference excerpt and reading interest | Wikipedia and Wikimedia pageviews API | Two-sentence excerpt (English) and 12 months of page views | CC BY-SA 4.0 |
| Photos | Wikimedia Commons | Main image, category files and geotagged photos within 600 m; only CC0, public domain, CC BY and CC BY-SA | As stated under each photo |
| Satellite view | Copernicus Sentinel-2 (ESA), read from the open archive on AWS | Least-cloudy recent scene with the sun above 30°; a 2.4 × 1.6 km true-colour window around the beach, checked for clouds and scene edges | Free and open; “Contains modified Copernicus Sentinel data” |
| Orientation and open horizon | OpenStreetMap land polygons (osmdata.openstreetmap.de) | Land/water tested 0.4, 0.8 and 1.5 km away in 36 directions; facing = mean direction of open water | ODbL |
| Land cover around the beach | ESA WorldCover 2021 (10 m) | Share of each land-cover class within 1 km, over land | CC BY 4.0 |
| Lakes (inland beaches) | Natural Earth 10m lakes and regional lake layers | Lake name and area, orientation across the lake, distance to the far shore | Public domain |
| Open water ahead (fetch), island size | OpenStreetMap land polygons | Distance to the first land straight out from the beach (samples from 0.5 to 2,000 km); area of the land polygon the beach is on | ODbL |
| Sea depth offshore, ground height inland | GEBCO 2020 grid via OpenTopoData | 1 and 3 km out along the facing direction; 0.5 and 1.5 km inland | Public domain |
| Bathing-water quality (EU) | European Environment Agency | Nearest official bathing-water site within 800 m; class for each season 2015–2025 | EEA standard re-use policy |
| Towns, regions, time zones, country facts | GeoNames | Places with 1,000+ inhabitants; first-level administrative regions | CC BY 4.0 |
| Airports | OurAirports | Large and medium airports with scheduled service | Public domain |
Calculations
Beach-day index (0–10)
A monthly score from long-term averages, weighted: daytime high 35% (full marks between 25 and 31 °C, falling to zero 8 °C outside that band), sea temperature 25% (full marks at 23 °C or warmer, zero at 15 °C), rain 20% (zero at 250 mm a month), cloud cover 10% and wind 10% (full marks up to 4 m/s, zero at 10 m/s). For inland beaches without sea data the remaining weights are scaled to 100%. “Best months” are the months within 0.6 points of the beach’s highest score, provided they reach 5.5.
Comparisons
Country comparisons use the median of all published beaches in that country for the same month. The sea-temperature percentile compares a beach’s annual mean with every coastal beach in the atlas.
Sunrise, sunset and day length
Calculated for the 15th of each month with the NOAA solar position equations, in the local time zone of the nearest GeoNames town. The sun “sets over the sea” in a month when its sunset bearing falls in a direction where open water was found around the beach.
Distances
All distances are great-circle (straight-line) distances. Directions are given as one of eight compass points.
Beach length
When Wikidata records a length we use it. Otherwise we take the largest extent of the beach outline mapped in OpenStreetMap, which approximates the length along the shore.
Publishing thresholds
Each beach is scored on 25 independent data fields. A page is published for indexing only with a score of at least 55, at least six fields and at least one real image of the beach: a freely licensed photo or a recent satellite view. Pages scoring 35 or more with five fields can be shown to visitors but are kept out of search engines. Everything below that is not published at all. Near-duplicates (the same mapped beach under two names, or two entries less than 300 m apart with similar names) are merged and redirected.
Before publishing, every page is rendered and compared with every other page using five-word shingles and MinHash. When two pages are 80% or more identical, the weaker one is merged into the stronger if both describe the same place; otherwise it is kept out of search results, because it adds nothing a searcher would not already find on the other page. In the current build 16,667 pages were compared; 217 were merged and 3 taken out of the index.
Current build: 17,044 beaches assessed, 15,276 eligible for indexing, 1,174 visible without indexing, 594 not published. New pages go live automatically in daily batches rather than all at once.
| Field | Beaches | Share |
|---|---|---|
| Climate normals | 16,992 | 100% |
| Transport | 16,829 | 99% |
| Land cover within 1 km | 16,759 | 98% |
| Satellite view | 16,747 | 98% |
| Two or more atlas beaches within 60 km | 16,036 | 94% |
| Sea temperature | 15,834 | 93% |
| Orientation and sun over the sea | 15,423 | 90% |
| Settlements nearby | 15,316 | 90% |
| Open water ahead (fetch) | 15,225 | 89% |
| Sea depth and terrain | 14,714 | 86% |
| Named places nearby | 11,320 | 66% |
| Facilities (3+ mapped) | 10,881 | 64% |
| Beach length or area | 9,609 | 56% |
| At least one photo | 7,026 | 41% |
| Island size | 6,474 | 38% |
| Nearest services (remote beaches) | 5,767 | 34% |
| Surface type | 5,537 | 32% |
| Three or more photos | 4,328 | 25% |
| Wikipedia article | 4,268 | 25% |
| EU bathing-water quality | 3,828 | 22% |
| Reading-interest seasonality | 3,076 | 18% |
| Wikidata facts | 2,828 | 17% |
| Beach rules (lifeguard, dogs, fee…) | 1,910 | 11% |
| Search-volume figure | 1,767 | 10% |
| Lake name and size (inland beaches) | 211 | 1% |
Known limitations
- Climate and sea values are averages over decades. A given day can be very different; check a forecast before you travel.
- The climate grid is about 55 km wide, so a cell can mix land and sea. Coastal day-time highs may read slightly warmer than on the sand.
- OpenStreetMap coverage varies by country. A missing lifeguard station or shower means none is mapped, not that none exists.
- Search-volume figures are for the beach name in the market where it was found and can be inflated when the name is shared with a town.
Found an error? Report it; corrections are applied to the dataset, so every page built from it improves.