Cosmology
Hubble's Law
The universe is expanding — distant galaxies recede with velocity proportional to distance
Hubble's law (1929) — galaxies recede from us with velocity v = H₀·d, proportional to their distance. The Hubble constant H₀ ≈ 70 km/s/Mpc. Discovered through redshifts of galaxy spectra. Implies an expanding universe → Big Bang theory. Tension between different methods of measuring H₀ ("Hubble tension") is currently a major puzzle in cosmology.
- Equationv = H₀ · d
- Hubble constant~70 km/s/Mpc (depending on method)
- Hubble tensionCMB methods give ~67; SNe Ia give ~73 — disagree by ~9%
- DiscoveredEdwin Hubble, 1929 (using Cepheid variable distances + redshifts)
- ImpliesUniverse is expanding; Big Bang theory
- Hubble time1/H₀ ≈ 14 billion years
Interactive visualization
Press play, or step through manually. The visualization is yours to drive — try it before reading on.
Watch the 60-second explainer
A condensed visual walkthrough — narrated, captioned, under a minute.
Hubble's law
v = H₀ · d
| Symbol | Meaning | Units |
|---|---|---|
| v | Recession velocity | km/s |
| d | Distance to galaxy | Mpc (megaparsec) |
| H₀ | Hubble constant | km/s/Mpc |
1 parsec = 3.086 × 10¹⁶ m ≈ 3.26 light-years. 1 Mpc = 10⁶ pc = 3.26 million light-years.
Measurement methods
| Method | Distance ladder rung | H₀ (km/s/Mpc) |
|---|---|---|
| Cepheid variables → SN Ia (SH0ES) | Calibrated steps | 73.0 ± 1.0 |
| CMB (Planck) | Cosmological model + CMB peaks | 67.4 ± 0.5 |
| BAO (galaxy clustering) | Sound horizon as standard ruler | ~67-68 |
| Gravitational waves (standard sirens) | Strain + EM counterpart | ~70 (preliminary) |
| Lensing time delays (H0LiCOW) | Time delay lensing | 73-74 |
The 4-9% discrepancy between CMB-based and local-distance-ladder methods is "Hubble tension."
JavaScript — Hubble's law
// H_0 in usable units
const H_0_kmsMpc = 70; // km/s/Mpc
const Mpc_to_m = 3.086e22;
const H_0_per_s = H_0_kmsMpc * 1000 / Mpc_to_m; // s⁻¹
console.log(`H_0 = ${H_0_per_s.toExponential(2)} per second`);
// Hubble time
const t_H = 1 / H_0_per_s;
console.log(`Hubble time: ${(t_H / (365.25*86400) / 1e9).toFixed(1)} Gyr`);
// Recession velocity from Hubble's law
function recessionVelocity(distance_Mpc) {
return H_0_kmsMpc * distance_Mpc;
}
console.log(`Galaxy at 100 Mpc: v = ${recessionVelocity(100)} km/s`);
console.log(`Galaxy at 1000 Mpc: v = ${recessionVelocity(1000)} km/s`);
console.log(`Galaxy at 4000 Mpc: v = ${recessionVelocity(4000)} km/s`);
// 280,000 km/s — close to c
// Distance from redshift (small z)
function distanceFromRedshift(z) {
// Small-z: v ≈ z·c, so d = v/H_0
const c_kmps = 299792;
const v = z * c_kmps;
return v / H_0_kmsMpc; // Mpc
}
console.log(`z=0.01: ${distanceFromRedshift(0.01).toFixed(1)} Mpc`);
console.log(`z=0.1: ${distanceFromRedshift(0.1).toFixed(0)} Mpc`);
// At z=1, full GR needed (cosmological model)
// Critical density (boundary between expanding forever and recollapsing)
function criticalDensity(H_0_per_s) {
const G = 6.674e-11;
return 3 * H_0_per_s * H_0_per_s / (8 * Math.PI * G);
}
console.log(`Critical density: ${criticalDensity(H_0_per_s).toExponential(2)} kg/m³`);
// ~9.5 × 10⁻²⁷ kg/m³ — about 6 H atoms per m³
// Density parameter Ω
function omega(actualDensity, H_0_per_s) {
return actualDensity / criticalDensity(H_0_per_s);
}
// Hubble tension: compare two values
function hubbleTension(H_planck, H_local) {
const sigma = Math.sqrt(0.5 * 0.5 + 1.0 * 1.0); // combined uncertainty
return (H_local - H_planck) / sigma; // sigmas
}
console.log(`Tension: ${hubbleTension(67.4, 73.0).toFixed(1)} σ`); // ~5 σ
Where Hubble's law matters
- Cosmology. Foundation of expanding universe, Big Bang theory.
- Distance estimation. Redshift → distance for galaxies (with caveats for high z).
- Age of universe. Hubble time gives rough estimate; full calculation requires cosmological model.
- Dark energy detection. Acceleration discovered via SNe Ia at high z (1998 Nobel).
- Standard sirens. Gravitational waves provide independent H₀ measurement.
- Hubble tension. Major puzzle in modern cosmology; potential new physics signal.
- JWST observations. Extending observations to highest redshift galaxies.
Common mistakes
- Treating recession velocity as motion through space. It's space itself expanding; galaxies are approximately at rest locally.
- Believing Hubble's law applies to local objects. Within galaxy clusters, gravity dominates; Hubble's law applies on supercluster scales.
- Assuming v = H₀·d holds for very distant objects. At high z, full general relativistic cosmology needed; simple linear law breaks down.
- Confusing Hubble time with universe age. Hubble time is 1/H₀ — universe age depends on full expansion history. Currently ~13.8 Gyr, close to but different from Hubble time.
- Treating Hubble constant as truly constant. "Constant" in space (uniform expansion), not in time. H_0 is current value; H(t) varies with cosmic time.
- Confusing Hubble tension with measurement error. Tension is statistically significant (5+ σ); not just imprecision but apparently real disagreement.
Frequently asked questions
What is Hubble's law?
v = H₀·d. Galaxy recession velocity proportional to distance. Closer galaxies recede slower; distant ones faster. H₀ (Hubble constant) ≈ 70 km/s/Mpc — galaxy at 1 Mpc recedes at 70 km/s; at 100 Mpc, 7000 km/s. Holds for galaxies far enough that local motion is small.
How was it discovered?
Edwin Hubble (1929) measured distances to nearby galaxies (using Cepheid variables) and their redshifts. Plotted v vs d — linear relationship. Confirmed independent observations of expansion. Won him fame; Hubble Space Telescope named in honor.
What's the "Hubble tension"?
Different methods disagree on H₀. CMB-based (Planck satellite): 67.4 ± 0.5 km/s/Mpc. Supernova-based (SH0ES): 73.0 ± 1.0 km/s/Mpc. Disagreement is ~9% — much larger than uncertainties. Either systematic error somewhere or new physics. Active research area.
Does Hubble's law violate special relativity?
No. Galaxy "recession velocity" isn't peculiar motion through space — it's space itself expanding. Distant galaxies have v > c (per Hubble's law), but they're not moving FASTER than light through space; space between us is stretching. SR's "no FTL through space" still holds for objects at single locations.
How does H₀ relate to age of universe?
Inverse of Hubble constant gives "Hubble time" τ = 1/H₀. For H₀ = 70 km/s/Mpc, τ ≈ 14 billion years — close to actual universe age (~13.8 billion). True age depends on detailed expansion history (matter and dark energy contributions) — Hubble time is approximate.
What's redshift?
Light from receding galaxy stretched to longer wavelengths. z = (λ_observed - λ_emitted) / λ_emitted. For small v, z ≈ v/c. For large z, fully relativistic Doppler formula needed. Highest galaxy redshifts (z ~ 10+) — JWST observing galaxies as they were ~13 billion years ago.
Are galaxies actually moving away from us?
From general relativity perspective: galaxies are at rest in their own location; SPACE between is expanding. From special relativity perspective: not strictly correct since SR doesn't handle cosmic expansion. The distinction matters for very distant galaxies. Practically — galaxies are getting further from us; that's all observed.