ECLIPSE PREDICTOR
SOLAR ECLIPSE PATHS · 1900–2200

Eclipse Predictor

Step through every solar eclipse from 1900 to 2200 — about 3,700 events. Eclipse identification and Sun/Moon positions come from astronomy-engine (Don Cross's port of Steve Moshier's ephemeris, sub-arcsecond accurate, MIT-licensed). Path of the Moon's shadow uses the same MoonShadow + GeoidIntersect pipeline as SearchGlobalSolarEclipse — WGS84 geoid intersection for NASA/Espenak parity.

Controls

What you see

How it works

Accuracy

Eclipse times and path geometry match NASA's Five Millennium Canon (Espenak/Meeus) — sub-km on the ground for 1900–2200. The GeoidIntersect pipeline is the same one astronomy-engine uses internally for global eclipse search. For mission-critical planning, cross-check with eclipse.gsfc.nasa.gov.

TOTAL
Date (UTC)
Greatest eclipse
Magnitude
Gamma
Central duration
Max location
Sun altitude
Path via astronomy-engine GeoidIntersect (NASA/Espenak parity)

VIEW

OVERLAYS

YOUR LOCATION

DETAIL

The Math

1 · TIME
$$ JD_{\text{TT}} = JD_{\text{UT}} + \frac{\Delta T}{86400}, \qquad \theta_0 = 280.46061837 + 360.98564736629\,(JD - J2000) + \dots $$
2 · SUN POSITION (astronomy-engine, equator-of-date with aberration)
$$ L_0 = 280.46646 + 36000.76983\,T,\quad M = 357.52911 + 35999.05029\,T $$ $$ C = (1.9146 - 0.0048\,T)\sin M + 0.020\sin 2M + \dots,\quad \lambda_\odot = L_0 + C $$ $$ R = \tfrac{1.0001\,(1-e^2)}{1 + e\cos(M+C)}\;\text{AU} $$
3 · MOON POSITION (astronomy-engine, Moshier ephemeris)
$$ \lambda_\text{☾} = L' + 10^{-6}\!\!\sum_i a_i \sin(d_i D + m_i M + m'_i M' + f_i F) $$ $$ \beta_\text{☾} = 10^{-6}\!\!\sum_i b_i \sin(\dots),\qquad r_\text{☾} = 385000.56 + \tfrac{1}{1000}\sum_i c_i \cos(\dots) $$
4 · BESSELIAN ELEMENTS
$$ \vec{G} = \vec{r}_\text{☾} - \vec{r}_\odot,\quad \hat{a} = \tfrac{\vec G}{|\vec G|}\;\Rightarrow\; (\alpha, d) $$ $$ x = \tfrac{-M_x \sin\alpha + M_y\cos\alpha}{R_\oplus},\quad y = \tfrac{-M_x\sin d\cos\alpha - M_y\sin d\sin\alpha + M_z\cos d}{R_\oplus} $$ $$ \mu = \theta_0 - \alpha,\quad \tan f_1 = \tfrac{R_\odot + k R_\oplus}{|\vec G|},\quad \tan f_2 = \tfrac{R_\odot - k R_\oplus}{|\vec G|} $$ $$ \ell_1 = z\tan f_1 + \tfrac{k}{\cos f_1},\quad \ell_2 = z\tan f_2 - \tfrac{k}{\cos f_2} $$
5 · MAGNITUDE & GAMMA
$$ \gamma = \sqrt{x^2 + y^2},\qquad \text{mag} = \frac{\theta_\text{☾}}{\theta_\odot} = \frac{k R_\oplus / r_\text{☾}}{R_\odot / r_\odot} $$
6 · CLASSIFICATION
$$ \text{type} = \begin{cases} \mathrm{T} & \gamma < 1 \text{ and } \ell_2 < 0 \;(\text{umbra reaches Earth}) \\ \mathrm{A} & \gamma < 1 \text{ and } \ell_2 > 0 \;(\text{antumbra}) \\ \mathrm{P} & \gamma \ge 1 \;(\text{penumbra only}) \end{cases} $$
7 · CENTRAL PATH ON EARTH
$$ z = \sqrt{1 - x^2 - y^2}\;\text{(spherical Earth, fundamental plane to surface)} $$ $$ \begin{aligned} X &= -x\sin(-\mu) - y\sin d\cos(-\mu) + z\cos d\cos(-\mu) \\ Y &= x\cos(-\mu) - y\sin d\sin(-\mu) + z\cos d\sin(-\mu) \\ Z &= y\cos d + z\sin d \end{aligned}$$ $$ \varphi = \arcsin Z,\qquad \lambda = \operatorname{atan2}(Y, X) $$

LEGEND

Path of totality
Path of annularity
Greatest eclipse
Partial-eclipse zone
Sub-solar point
JUMP TO — / —
GENERATING ECLIPSE CATALOG
1900 — 2200
0 / 0 new moons checked

2026 & 2027 Solar Eclipse Paths

Step through every solar eclipse from 1900 to 2200. Paths of totality are computed with astronomy-engine (sub-arcsecond ephemeris) and drawn on a rotatable 3D Earth.

Upcoming total eclipses

What you can explore

Related

Discussion

Sign in with GitHub to share strategies, ask questions, or report a bug.