Transparent methodology
How We Calculate Moon Phases
Moon Exactly uses local astronomical calculations—not a table of generic phase labels—to determine the lunar state for a specific instant.
The calculation engine
The calculation layer uses the open-source Astronomy Engine library. It models the apparent geocentric positions of the Sun and Moon and provides event searches for lunar phases. Moon Exactly isolates those calls in one internal adapter so the presentation layer does not invent or interpolate astronomical values.
Phase angle and illumination
Phase angle on this site is the Moon’s geocentric elongation from the Sun, normalized from 0° through 360°. New Moon is 0°, First Quarter 90°, Full Moon 180°, and Last Quarter 270°. The eight common phase names are equal 45° sectors centered on those conventional angles; the physical cycle itself remains continuous.
Illumination is calculated separately as the fraction of the Moon’s apparent disk lit by the Sun. Values are kept at library precision internally and rounded only for display. A 50% value does not by itself distinguish First Quarter from Last Quarter, so the phase angle also determines whether the Moon is waxing or waning.
Moon age and major phases
Moon age means elapsed time since the preceding astronomical New Moon. The site searches backward for the actual New Moon instant and measures the UTC duration from that event. It does not estimate age by multiplying phase angle by a fixed 29.53-day month.
Major phases are found by searching for the exact 0°, 90°, 180°, and 270° alignments. Their timestamps are instants, not events that last all day. The Moon may look close to a named major phase before and after the calculated time.
Calendar dates, UTC, and local time
Exact event times are stored and displayed in UTC so visitors can compare one unambiguous instant. A phase is essentially global at a given instant, while its local clock time—and sometimes its local calendar date—depends on timezone.
A date-only calculator input has no inherent time or timezone. Moon Exactly evaluates it at 12:00 UTC. Choosing noon minimizes accidental shifts across date boundaries and guarantees that the same YYYY-MM-DD input produces the same result everywhere. Historical inputs use the proleptic Gregorian calendar throughout the supported 1600–2400 range.
Verification and expected accuracy
Our major-phase searches are covered by deterministic fixtures from 2024 through 2026. The expected UTC minutes were transcribed from published NASA Goddard Space Flight Center and U.S. Naval Observatory phase data. Across the current seven fixtures, calculated event times differ by 24 to 62 seconds—roughly a minute.
This comparison is a software verification check, not an endorsement by NASA or the U.S. Naval Observatory. Published tables are often rounded to the nearest minute, while the library returns seconds and fractions of a second.
Limitations
- Displayed numbers are rounded and intended for education and general planning.
- The site does not calculate location-specific moonrise, moonset, altitude, or apparent orientation.
- The phase visual uses a conventional orientation and is not a photographic sky simulation.
- Results are not intended for spacecraft navigation, safety-critical work, or professional ephemeris requirements.
- Atmospheric conditions and your horizon affect visibility even when the geometry is calculated correctly.
References
Questions, answered
Frequently asked questions
Does Moon Exactly use a live astronomy API?
No. Calculations run locally in the application with Astronomy Engine; the site does not send selected dates to an external astronomy service.
Why can another source differ slightly?
Models, rounding, the selected instant, and timezone presentation can differ. Exact event tables may also publish only whole minutes.
Can I verify a result?
Yes. Compare exact UTC event times with the linked NASA GSFC and U.S. Naval Observatory tables, or contact us with the page, date, and source involved.