The Hubble Tension
Measure how fast the universe expands today by two different routes and you get two different answers. The early-universe route, anchored in the cosmic microwave background, gives about 67. The local route, climbing a ladder of distance indicators, gives about 74. The gap is far larger than either side's error bars.
The model both routes are compared against is on the ΛCDM page. This page is about the local side — how the ladder is actually built, and what happens to the answer when you change the rungs.
Why it is hard to dismiss
The obvious explanation is that somebody made a mistake. That has become steadily harder to sustain, because the local measurement is not one measurement. It is a network: several geometric anchors, several kinds of standard candle, several long-range indicators, and many possible paths through them. If a single rung were wrong, the routes that avoid it would disagree with the routes that use it.
Mostly, they do not. That is what the figure below shows.
The distance network
Distance in cosmology is measured in stages. Geometry — water masers in distant galaxies, detached eclipsing binaries, stellar parallax — gives absolute distances without assuming anything. Those calibrate stellar candles: the tip of the red giant branch, J-region asymptotic giant branch stars, Miras, Cepheids. Those in turn calibrate indicators bright enough to be seen far into the Hubble flow: surface brightness fluctuations, the fundamental plane, Type Ia and Type II supernovae, Tully–Fisher. Only at the end does an expansion rate come out.
Click any route to isolate it; click again, or press Escape, to restore all thirteen.
The lower panel is the point. Thirteen routes, using different anchors and different candles, land between about 70 and 76 — and the CMB value sits at 67.24 ± 0.35, outside all of them. Isolate CCHP/EDD, the lowest at 70.39, and you are looking at the most serious attempt to find a route that agrees with the CMB; it still does not reach.
Note also how little the answer moves when you swap rungs. Baseline gives 73.50 ± 0.81. Adding JAGB gives 73.49. Adding Miras gives 73.51. Adding Tully–Fisher gives 73.96. Whatever is happening, it is not sensitive to which candle you trust — which is precisely what makes a single unfound systematic an uncomfortable explanation.
What would resolve it
Three possibilities, and they are not equally comfortable. There is an unfound systematic in the distance ladder, shared across enough rungs to move every route together. There is an unfound systematic in the CMB analysis. Or ΛCDM is incomplete somewhere between recombination and now, and the early-universe value is being extracted with the wrong model — which is why the tension keeps being discussed alongside evolving dark energy rather than as a separate curiosity.
What the network does not permit is the comfortable version, where one bad rung explains everything and the rest of cosmology is untouched.
Run it yourself
The figure above is a static rendering of an interactive tool. The full version adds per-route sensitivity analysis, leave-one-out tests, posterior overlays and the supporting literature for every rung. It is a desktop application — it uses Tk for its panels, so it cannot run in a browser — and it is public:
git clone https://github.com/jamesrohlf/local-distance-network.git
cd local-distance-network
python local_distance_network.py
Route values are drawn from the cited literature: SH0ES (Riess et al. 2022), CCHP/EDD (Freedman et al. 2025), Pop-II (Jensen et al. 2025), MCP (Pesce et al. 2020a), Pop-I (de Jaeger et al. 2022), CF4 (Kourkchi et al. 2020), Pop-Mix (Riess et al. 2024), DESI (Said et al. 2025), adh0cc (Vogl et al. 2025). The Baseline network and its variants follow H0DN, Astronomy & Astrophysics 708, A166 (2026), arXiv:2510.23823. All values in km s−1 Mpc−1.