Almanac

Moon

Phases, illumination, and lunar eclipses

How the Moon is lit through the month, when each phase arrives, and what happens when the Earth's shadow crosses it. Every demo here is Almanac running in your browser.

A month of Moon

Watch a crescent grow into a full Moon and fade again. Choose a month, tap a disc or scrub through the days to explore the Moon's phase and illumination.

One disc per day · noon UTC

Your location stays in this browser tab. We don't send it to our servers or store it.

Waning gibbous

73% illuminated

Salish Sea

Moon 68.2° above the horizon here

Phase buttons jump to the exact instant. The upright discs illustrate illumination; their tilt in your sky depends on your location. Phase is effectively the same worldwide; location changes the local time and Moon altitude.

Show the TypeScript
import { moonIllumination, searchMoonPhases } from '@openwaters/almanac';

const start = new Date('2026-09-01T00:00:00Z');
const end = new Date('2026-10-01T00:00:00Z');
const days = Array.from({ length: 30 }, (_, day) => {
  const time = new Date(start.getTime() + (day + 0.5) * 86_400_000);
  return { time, ...moonIllumination(time) };
});

// Each disc uses fraction (0–1) and waxing (bright side).
// These are the exact instants for the four phase buttons.
const quarters = searchMoonPhases(start, end);
console.log(days, quarters);

The Moon in Earth's shadow

Explore penumbral, partial and total lunar eclipses with real examples from 2026–2027. Scrub across each event to see what changes on the Moon itself. A lunar eclipse is the Earth's shadow falling on the Moon; the Moon's shadow falling on the Earth is a solar eclipse.

Your location stays in this browser tab. We don't send it to our servers or store it.

The whole Moon enters the umbra. Sunlight filtered through Earth's atmosphere can turn it copper or red.

· Moon 31.0° above your horizon.

Shadow shape and color are illustrative, not a prediction of the Moon's exact appearance. Contact times come from Almanac. The Moon stays visible in this illustration even when below your horizon.

Total example

Total
Greatest eclipse at
Visible from here — the Moon is 31° above the horizon at greatest eclipse.
Penumbra begins
Partial begins
Totality begins
Totality ends
Partial ends
Penumbra ends
Umbral magnitude
1.156

A lunar eclipse happens at the same instant worldwide. Location changes which stages are above your horizon and their local clock times. Visibility excludes weather and terrain.

Show the TypeScript
import { lunarEclipses, lunarEclipseVisibility } from '@openwaters/almanac';

const eclipses = lunarEclipses(
  new Date('2026-01-01T00:00:00Z'),
  new Date('2028-01-01T00:00:00Z'),
);
const observer = { latitudeDeg: 48.5, longitudeDeg: -123 };
for (const eclipse of eclipses) {
  console.log(eclipse.kind, eclipse.peak,
    lunarEclipseVisibility(eclipse, observer));
}