ECLIPSE PREDICTOR
SOLAR ECLIPSE PATHS · 2001–2030

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 is then computed from Besselian elements and traced where the shadow axis pierces Earth's surface.

Controls

What you see

How it works

Accuracy

Eclipse times match NASA's catalog to seconds. Path positions are accurate to roughly ±1–2 km on the ground for the entire 1900–2200 range — effectively NASA-precision for a single-file browser tool. For mission-critical use, cross-check with eclipse.gsfc.nasa.gov.

TOTAL
Date (UTC)
Greatest eclipse
Magnitude
Gamma
Central duration
Max location
Sun altitude
Computed live via astronomy-engine (Moshier ephemeris) + Besselian path · sub-km accuracy

VIEW

OVERLAYS

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