Skyfold Planet and Moon Positions
Where the Sun, Moon and planets are, and when they rise and set, for any place and time.
Try an example: Utrecht on a November evening · Sydney at midnight, southern summer
How it works
Apparent right ascension, declination, azimuth, altitude, distance, magnitude and phase of the Sun, Moon and seven planets for a place and local time, with rise, transit and set times, twilight and the next Moon phases.
- Sun and planets: truncated VSOP87D series with light-time iteration, conversion to FK5, nutation (IAU 1980, low-precision terms) and annual aberration (Meeus chapters 25, 32, 33).
- Moon: the truncated ELP-2000/82 series of Meeus chapter 47 plus nutation; topocentric parallax for altitude and rise/set.
- Altitudes include standard refraction (Sæmundsson, 10 °C, 1010 hPa). Rise and set use the USNO convention: upper limb on an ideal sea-level horizon with 34′ refraction.
- Time scales: UTC ≈ UT1; ΔT from observed values 2000–2026 and the Espenak–Meeus polynomials outside.
Accuracy is about an arcsecond or a few arcseconds for the Sun and planets and about 10″ for the Moon against JPL Horizons; rise and set times agree with the U.S. Naval Observatory to the minute in the tests. Local horizon obstructions, weather and unusual refraction are not modelled.
Sources
- Astronomical Algorithms, 2nd ed. (Meeus 1998) (Willmann-Bell)
- VSOP87 planetary theory (Bretagnon & Francou 1988) (IMCCE)
- JPL Horizons ephemeris system (NASA/JPL)
Part of Skyfold
-
Skyfold Sky & space atlas
See the sky of any place and moment, plan eclipses and satellite passes, print star maps.
How to use Skyfold Planet and Moon Positions
Find where the Sun, Moon and seven planets stand for any place and time, with altitude, azimuth, magnitude, rise, transit and set times, twilight and Moon phases.
What it is for
This tool tells you where the Sun, the Moon and the seven planets are in the sky for a place and a local date and time, and when each of them rises, culminates and sets that day. It is the calculation behind the Sky and Night planner tabs of the Skyfold app, available here as a form, a JSON API and an MCP tool.
Use it to check whether Jupiter is up tonight, how high the Moon will stand at a festival, or when twilight ends before an observing session. It does not draw a chart (the Skyfold app and the star-map tool do that) and it does not model local obstacles such as hills, buildings or clouds.
Worked example
Enter Utrecht as 52.0907, 5.1214, elevation 5 m, time zone Europe/Amsterdam, date 2026-11-07 and time 22:00. The summary reads: At 2026-11-07 22:00 (UTC+01:00) 3 bodies are above the horizon: Saturn, Uranus, Neptune; the Moon is 2.2% lit (Waning crescent).
The position table shows Saturn at azimuth 177.4° and altitude 39.0° — almost due south and well placed — at magnitude 0.64. Uranus stands at 37.5° in the east-south-east with magnitude 5.67, at the edge of naked-eye visibility, and Neptune at magnitude 7.7 needs binoculars. Mars and Jupiter are still below the horizon (−12.9° and −15.7°).
The rise and set table explains why: Mars rises at 23:41 and Jupiter at 00:07, so they are morning objects this week. The Moon rose at 05:46 and set at 15:46, matching a thin waning crescent two days before New Moon. The twilight block gives sunset at 17:00, civil dusk at 17:37 and astronomical dusk at 18:57, and the phase list starts with New Moon: 2026-11-09 08:02.
How to read the result
- Azimuth is measured in degrees from north through east (90° east, 180° south). Altitude is the height above an ideal horizon, including normal atmospheric refraction; negative means below the horizon.
- RA and Dec are the apparent right ascension and declination of date, the coordinates you set on a telescope mount.
- Distance (au) is the distance from the Earth's centre in astronomical units (149.6 million km); the Moon's is also in the JSON result in kilometres.
- Magnitude: lower numbers are brighter. Venus reaches about −4.6, the faintest naked-eye stars about +6.
- Lit (%) is the illuminated fraction of the disc as seen from Earth.
- Rise and set follow the U.S. Naval Observatory convention: the upper edge of the disc on a sea-level horizon. "up all day" and "down all day" appear near the poles.
Tips and common mistakes
- Always give the time zone of the place, not your own.
UTC+2works as a fixed offset if a zone name is not recognised. - Coordinates are latitude first, north and east positive: western longitudes are negative (New York is
40.71, -74.01). - A planet with a positive altitude can still be invisible in twilight; compare its altitude with the Sun's.
- For a whole night of planning, the Night planner in the app shows when each planet is best seen.
- Times in the rise/set table belong to the local calendar day you entered, so a body that sets after midnight shows its set on that day's early morning.
FAQ
How accurate are the positions?
Against JPL Horizons, the Sun and planets agree to a few arcseconds and the Moon to about 10 arcseconds — far finer than the eye can tell. Rise and set times matched the U.S. Naval Observatory tables to the minute in every test case.
Which years work?
From 1800 to 2150. Outside that range the time-scale corrections and the truncated planetary theory are not used.
Why does the Moon's rise time differ from my weather app?
Weather apps often use the Moon's centre or ignore its parallax. Skyfold uses the upper limb and topocentric parallax like the Naval Observatory, which can move the time by a minute or two.
Can I get this data for many places at once?
Yes. Call the JSON API or the MCP tool once per place and time; every call is deterministic and returns the same numbers as the app.
Guide last updated:
For scripts and AI agents
- JSON API:
POST https://skyfoldplanetpositions.usefulweb.app/api/v1/calculate(same calculation as this page) - Interface description: OpenAPI 3.1 · AI guide: llms.txt
- MCP server (Streamable HTTP):
https://skyfoldplanetpositions.usefulweb.app/mcp· tool nameskyfold_planet_positions
Example request
curl -s -X POST https://skyfoldplanetpositions.usefulweb.app/api/v1/calculate \
-H 'content-type: application/json' \
-d '{"location":"52.0907, 5.1214","elevation":5,"timeZone":"Europe/Amsterdam","date":"2026-11-07","time":"22:00"}'