How we calculate
We count, for each of 465 places, the hours when the Sun is below −18°, the Moon is below the horizon and ERA5 total cloud cover is at most 20 %, hour by hour over 2006–2025, and rate light pollution with our own index from NASA VIIRS night lights.
Places
International Dark Sky Places designated by DarkSky International in Europe (parks, reserves, sanctuaries and communities), other dark-sky parks listed in Wikidata and the national parks of the EU, EFTA, the UK and the Western Balkans from Wikidata. Boundaries come from OpenStreetMap (the relation linked in Wikidata); where there is none, we use a circle around the Wikidata point sized from the park’s area (2–15 km; 3 km for dark-sky communities), and say so on the page. Marine parks without land, and places with incomplete data, get no page.
Light pollution
We use NASA’s Black Marble VNP46A4 yearly composite of night-time lights (snow-free, all viewing angles) for the latest available year, averaged to a 1′ grid (≈ 1.9 × 1.1 km). For every grid cell we add up the light of all cells within 100 km, weighted by distance^−2.5 (a simple Walker-law kernel; nearest 1 km treated as 1 km). This sky-glow index has no physical unit; to make it readable we give the share of Europe’s land cells that are brighter than the place. Classes: darkest 5 %, 5–20 %, 20–50 %, 50–80 %, and the brightest 20 %. The page’s darkest spot is the land cell with the lowest index inside the boundary. The index ignores terrain, airglow and the atmosphere, so it ranks places rather than predicting sky brightness in mag/arcsec².
Clear, moonless, dark hours
For the ERA5 grid cell (0.25°) of the darkest spot we take hourly total cloud cover for 2006–2025 — 20 years, about one Metonic cycle, so the Moon’s phases are averaged fairly. An hour counts when the Sun is below −18° (astronomical night), the Moon’s centre is below the horizon (with parallax), and total cloud cover is at most 20 %. A night is “good” when it has at least 2 such hours. Sun and Moon positions come from the JPL DE440s ephemeris (Skyfield). Months in which the Sun never reaches −18° (high latitudes in summer) have no astronomical darkness and are marked.
Meteor showers
Peak times are computed from the solar longitudes of maxima in the International Meteor Organization’s calendar. For each place we give the Moon’s illuminated share, the moonless hours with the Sun below −12° on the peak night, and the radiant’s highest altitude in that darkness. The chance of a clear peak night is the share of the same calendar night ± 1 in 2006–2025 that had at least 2 hours with cloud ≤ 20 % while the Sun was below −12°.
Limits
ERA5 is a reanalysis on a 25 km grid: it smooths local fog, valley inversions and mountain-top clearings, and its cloud cover is a model value, not an observation from the ground. These are climate odds from past years, not a forecast.
How we checked
- Cloud cover: for 20 random places we re-read every hourly ERA5 value of 2006–2025 straight from the Open-Meteo files (bypassing our cache): 20 of 20 identical; a sample also matched the Open-Meteo Historical Weather API exactly.
- Sun and Moon: an independent calculation (astral library, Moon corrected for parallax) put 99.99% of hours in the same class (dark and moonless or not); recomputed monthly tables differ by at most 0.1 clear hours a month and the best month matched in 20 of 20 places.
- Light pollution: the FFT sky-glow index matches a direct sum within 4.4%; city centres (London, Paris, Berlin, Madrid, Milan) all rank brighter than known dark sites (Rum, Kielder, Hardangervidda, Gredos, Edale).
- Meteor-shower peaks: our times agree with an independent low-precision solar-longitude formula (Meeus) within 10 minutes.
Climate, not a forecast: these are shares of past nights (ERA5 reanalysis, 2006–2025), not a prediction for a particular night. Check a forecast before you go.