Methodology
0xCarbon multiplies great-circle distance by the UK Government's 2026 emission factor for each mode, doubles it for a return, and pairs it with ERA5 monthly mean temperature. For each month and journey-time budget it keeps only Pareto-optimal destinations. Rail journey times are modelled estimates, not timetabled services.
Sources
Every figure traces to a published, openly licensed source. Nothing is estimated by hand and nothing is editorial. The last row is the exception that proves it: Google's model was read for comparison and feeds none of the numbers, so it is listed as what it is.
| What | Source | Licence |
|---|---|---|
| Emission factors | UK Government (DESNZ/DEFRA) GHG Conversion Factors for Company Reporting 2026, version 1.2, published 2026-07-31 | Open Government Licence v3.0 |
| Temperature, sunshine, rainfall | ERA5 reanalysis via Open-Meteo, 2023–2024 monthly means | CC BY 4.0 |
| Places, coordinates | GeoNames, settlements above 20,000 population | CC BY 4.0 |
| Airports | OurAirports, large and medium fields with scheduled service | Public domain |
| Flight methodology, for comparison only | Google Travel Impact Model 3.0.0 — read while building this, not used to compute anything here | CC BY 4.0 |
The calculation
Distance is great-circle between origin and destination coordinates. That distance is multiplied by the mode's DEFRA factor and doubled, giving the return figure quoted throughout. Flights use the short-haul factor below 3,700 km and the long-haul factor above it, matching DEFRA's own boundary; journeys within Great Britain use the domestic factor.
A journey with one end in Britain crosses two railways, and each leg is priced on its own factor — UK national rail at 0.03092 and international at 0.01135 kg per passenger-km. Charging the whole trip at the international rate, as an earlier version did, understated Glasgow to Paris by 107%.
Rail is modelled three ways, according to where you start. From Great Britain, the continent is reachable only through the Channel Tunnel, so a continental journey runs as two legs — origin to London, then London to destination — rather than as a straight line across the sea. From continental Europe, rail runs direct, and only journeys to Britain are routed through London. From Dublin there is no fixed rail link in either direction, so every journey from there is a flight and the site says so on the page. Track distance is the great-circle path times 1.3, reflecting that rails bend.
Places with no through rail connection are excluded from rail routing by their GeoNames administrative region, not by geometry. Coastline polygons were tried first and proved unusable: at any workable resolution the shoreline cuts inside coastal cities, so Le Havre and Blackpool tested as offshore while Madeira tested as mainland. Administrative codes are unambiguous. Excluded that way: the Canaries, the Balearics, Ceuta and Melilla, Madeira, the Azores, Corsica, Sardinia, Crete, the South Aegean and Northern Ireland; and by country, Iceland, Malta, Cyprus, Ireland, the Faroes, Svalbard, Greenland, the Isle of Man, the Channel Islands and Åland, along with Morocco, Tunisia, Egypt, Israel and Jordan. Sicily is deliberately not excluded, because through trains board the ferry at Villa San Giovanni.
From destinations to a frontier
A destination is on the frontier for a given question, month and journey-time budget if nowhere else is both better on that question and lower in carbon. Everything else is dominated and omitted. This is why the lists are short: of 2,368 destinations, a typical frontier holds around ten.
What is left out, and why
The pipeline starts from 2,754 settlements that clear the population and distance filters, and ranks the 2,368 of them that carry a full year of climate. The other 386 are excluded from every ranking rather than estimated, and are added as the measurements arrive — the climate backfill runs against a rate-limited free API. Nothing here is interpolated, imputed, or borrowed from a neighbouring town: a destination is either measured or absent.
Two questions, not one
The same machinery answers warmest and sunniest by swapping which quality it optimises. They are computed separately because they disagree: a mild Atlantic coast is often overcast, and a colder inland month is often bright. Ranking on temperature alone would send people somewhere wet, so temperature, sunshine hours and daily rainfall are reported side by side on every table regardless of which question was asked.
Two adjustments make the result readable. Points within 0.75 °C of each other are collapsed into one band, because a tenth of a degree is not a choice. And within a band, a better-known city is preferred over a strictly optimal obscure one if it costs no more than 12% extra carbon — the reason you see Valencia rather than a suburb of it.
Journey-time budgets
Rail is so much cleaner per kilometre — about 11 times — that without a time limit the answer is always "take the train", including twenty-hour journeys nobody actually makes. Frontiers are therefore computed separately for 6, 10, 15, 24 hour one-way budgets. The budget is what turns a trivial answer into a real choice.
What this method gets wrong
Stated plainly, because a method you cannot criticise is not a method.
- Rail times are modelled, not timetabled. A constant 95 km/h with 2 hours of overhead cannot know that a particular connection runs twice a day, or not on Sundays. This is the single largest source of error and the next thing to fix.
- Great-circle distance understates flight paths. Real routings, holding patterns and diversions add distance the model ignores, so flight figures are, if anything, conservative.
- Short flights are understated more than most. DEFRA publishes one short-haul factor as an average across every flight from 0 to 3,700 km. Take-off and climb dominate a 300 km hop, so its real per-kilometre emissions sit well above that average. London to Paris comes out at about 43 kg each way here. The most-cited route-specific comparison — Transport & Environment, on research commissioned by Eurostar — put Heathrow to Charles de Gaulle at 122 kg per passenger against 11–17 kg by train, a ratio of roughly ten to one. That study was published in 2006 and aircraft have grown more efficient since, so treat it as an upper bound rather than a current figure. The point that survives is the ratio: this model says 8.5×, which sits inside their 7–11× range. The absolute figure for a very short flight is the part that is conservative here.
- The flight figure omits the transfer to the airport. Where a destination has no airport of its own, the ground leg from whichever field actually serves it is not counted, so the journey is understated in both time and carbon. Bourges is 132 km from a scheduled airport and the model says nothing about that drive.
- Somewhere with no airport and no railway is dropped entirely. A destination is excluded if it has no rail connection and no scheduled airport within 150 km, because the only journey the model could offer it is a flight nobody sells. This removed ten places, among them the Siwa and Dakhla oases, Hala'ib on the Egypt–Sudan border, and Rukban, which is a refugee camp rather than a destination. Towns that are far from an airport but reachable by train are kept, because for them the model still describes a real journey. Airport locations are OurAirports, scheduled service only.
- DEFRA factors are UK averages. They describe a typical load factor and fleet, not the specific aircraft or train you board.
- They are also labelled "to/from UK". Applying them to a journey between two continental cities — Milan to Athens, say — is an approximation. They are distance-band averages for a typical short-haul aircraft, which travels reasonably well, but a European operator using national factors would get a slightly different number. Departures from Great Britain are on the firmest ground here.
- Climate coverage is incomplete. Of 2,754 destinations in the pool, currently 2,368 (86%) have climate data — the pull is ordered by population, so the largest are covered first. Destinations without it cannot appear on a frontier, which means some genuinely good smaller places are missing until the backfill completes.
- Two years of climate is not a normal. Temperatures are 2023–2024 means. A thirty-year normal would be steadier; a two-year window is more current. Neither is a forecast.
- Temperature is not weather. Mean daily temperature says nothing about rain, wind or daylight, all of which matter to whether a place is pleasant.
- Island exclusions are hand-drawn boxes. They are coarse and may misclassify a coastal city near a boundary.
Reproducing it
The dataset is generated by three Python scripts: one downloads every upstream source and records a SHA-256 for each, one maps destinations to Eurostat tourism regions, and the third computes distances, carbon, climate and frontiers. Five more check the result.the JSON, so any figure here can be checked against its inputs. Take the data.
Questions
What emission factors does 0xCarbon use?
UK Government (DESNZ/DEFRA) greenhouse gas conversion factors, 2026 set, version 1.2, published 2026-07-31 under the Open Government Licence v3.0. International rail 0.01135, national rail 0.03092, short-haul economy flight 0.12576 with radiative forcing, long-haul economy 0.11704, UK domestic 0.22928, foot-passenger ferry 0.01871 — all kg CO2e per passenger-kilometre.
Does the flight figure include non-CO2 effects?
Yes. All flight figures use the 'with radiative forcing' variant, which accounts for the additional warming effect of emissions at altitude. Excluding it would roughly halve the numbers and understate aviation's impact.
Are the rail journey times real timetables?
No, and this is the method's biggest weakness. Rail times are modelled as great-circle distance times a 1.3 track-detour factor at 95 km/h door-to-door, plus 2 hours of overhead. Real journeys depend on services that actually run. Treat them as indicative.
Why are the frontiers so short?
Because most destinations are dominated: somewhere else is both warmer and lower-carbon, so listing them would be noise. Of 2,368 destinations assessed, only those on the Pareto frontier appear. Points closer than 0.75 °C apart are also merged, since nobody chooses a holiday on a tenth of a degree.