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.
SearchGlobalSolarEclipse/NextGlobalSolarEclipse from the same librarySearchLocalSolarEclipseEclipse 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.
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.
First time here? This site is a free game & sim collection by one engineer — while you wait for totality, try today's Wordform, Drift, or daily Sudoku, and see the 2026/2027 viewing guide for trip planning.
?date=2026-08-12 or ?year=2027 jump straight to the eclipse.Every eclipse position in this tool comes from the open-source astronomy-engine library (astronomy.browser.min.js), which implements the VSOP87 / high-precision lunar theory used for professional ephemerides. Nothing here is a hand-rolled Kepler approximation: the Sun's geocentric vector is read from Astronomy.GeoVector(Sun, t, aberration=true) and the Moon's from Astronomy.GeoMoon(t), and eclipses are located with the library's own SearchGlobalSolarEclipse / NextGlobalSolarEclipse. The catalog spans 1900–2200, matching NASA's Five Millennium Canon of Solar Eclipses (Espenak & Meeus).
The path is built by the MoonShadow → GeoidIntersect pipeline — the same geometry astronomy-engine uses internally for global eclipse search, not the classical Besselian fundamental-plane elements. In outline:
dir = moon − sun. The geocentre's projection onto that axis gives a parameter u and a perpendicular miss-distance r.k = R_sun − (1+u)·(R_sun − R_moon) and the penumbral radius is p = −R_sun + (1+u)·(R_sun + R_moon), with R_sun = 695 700 km and R_moon = 1737.4 km.A·u² + B·u + C = 0; the near root is the ground point. Longitude is de-rotated by Greenwich Apparent Sidereal Time.Whether the eclipse is total or annular is decided by the umbral cone radius at the actual surface intersection point, not at closest approach to Earth's centre. Using the Moon's polar radius (1736 km, the value astronomy-engine uses for this test), the code evaluates k_surface = R_sun − (1+u)·(R_sun − 1736) and classifies:
k_surface > 0.014 km (the umbra tip reaches below the ground — the Espenak-parity threshold),The shadow-axis miss-distance is reported as gamma, γ = r / R_earth in Earth radii; when the axis misses the globe entirely the event is partial-only.
Eclipse magnitude is the ratio of the Moon's apparent angular radius to the Sun's, mag = θ_moon / θ_sun. Crucially it uses topocentric distances — the Sun and Moon distances as seen from the greatest-eclipse ground point via Astronomy.Equator(..., observer) — because a surface observer sits about one Earth radius closer to the Moon than the geocentre, and a geocentric figure understates magnitude by roughly 1.5–1.7%.
The positions are sub-arcsecond and the ground path is sub-kilometre for 1900–2200, but this is a visualisation, not a substitute for official predictions: for mission-critical timing, cross-check eclipse.gsfc.nasa.gov.
Sign in with GitHub to share strategies, ask questions, or report a bug.