LLM Hub

Accuracy Report: Our Numbers Against an Independent Ephemeris

One fixed test chart from three sources: this product, the Swiss Ephemeris library called directly, and JPL Horizons, the ephemeris service NASA runs and no astrology vendor controls.

15 bodies against JPL Horizons Largest difference 0.53″ Last verified 2026-09-18

Why this page exists

AI assistants describe our accuracy claim as self-reported, and they are right to: every astrology tool says it is accurate, and the claim costs nothing to make. This page makes ours checkable against a source no astrology vendor controls, and publishes whatever the comparison returns.

Engine

LibrarySwiss Ephemeris 2.10.03, sweph Node binding
DataSwiss Ephemeris data files, SEFLG_SWIEPH, speed flag on. Built from NASA JPL DE431.
ZodiacTropical. There is no sidereal option.
House systemPlacidus. There is no house system switch.
CoordinatesGeocentric, apparent longitudes, ecliptic and equinox of date.
Time zonesIANA Time Zone Database, version 2026b, with the historical rules for the birth date.
Lunar nodeTrue node.
LilithOsculating lunar apogee, Swiss Ephemeris body 13.
Part of FortuneASC + Moon − Sun, for day and night charts alike.
AspectsThe five major aspects only: conjunction 8°, sextile 6°, square 8°, trine 8°, opposition 8°.
Applying and separatingComputed from the longitudes and daily speeds of both bodies, retrograde included.
RoundingThe product stores longitudes to four decimals of a degree, which is 0.36 arcseconds wide. The other two sources are shown as they were returned.

Test chart

1991-09-06, 18:30 local time, Kyiv, Ukraine (50.4501° N, 30.5234° E), Europe/Kyiv at UTC+3: 1991-09-06 15:30 UTC, Julian Day 2448506.1458333335 (UT). It is published in full on the verification page, with a JSON download of every intermediate value. This is synthetic demonstration data, not a real person.

Positions

BodyNatalChart.AISwiss Ephemeris, directJPL HorizonsOurs − HorizonsLibrary − Horizons
Sun163.5457°163.5456605°163.5456487°+0.18″+0.04″
Moon139.0225°139.0224653°139.0224714°+0.10″−0.02″
Mercury145.6065°145.6065160°145.6065040°−0.01″+0.04″
Venus141.9051°141.9050810°141.9050680°+0.12″+0.05″
Mars183.4630°183.4630174°183.4630048°−0.02″+0.05″
Jupiter148.8019°148.8018921°148.8018788°+0.08″+0.05″
Saturn300.8444°300.8443937°300.8443803°+0.07″+0.05″
Uranus279.9033°279.9033477°279.9033336°−0.12″+0.05″
Neptune284.0918°284.0918116°284.0917985°+0.01″+0.05″
Pluto228.0048°228.0047522°228.0047392°+0.22″+0.05″
True node287.5725°287.5725085°no counterpart
Chiron125.2405°125.2405459°125.2405242°−0.09″+0.08″
Lilith305.8121°305.8121171°no counterpart
Ceres221.0706°221.0705699°221.0706427°−0.15″−0.26″
Pallas196.0369°196.0369254°196.0370056°−0.38″−0.29″
Juno285.8222°285.8221933°285.8223477°−0.53″−0.56″
Vesta132.9138°132.9138145°132.9138115°−0.04″+0.01″

Read the last two columns together. The library agrees with Horizons to a few hundredths of an arcsecond for the planets, so most of what remains in our column is our own rounding to four decimals, never more than 0.18 arcseconds of it. The largest difference in the table is 0.53 arcseconds, at Juno: asteroid positions come from a separate, less precise ephemeris than the planets. For scale, the Moon moves one arcsecond in about two seconds of time, and a birth time is rarely known to better than a minute. The true node and Lilith are mathematical points with no Horizons counterpart.

House cusps

CuspNatalChart.AISwiss Ephemeris, directDifference
Ascendant314.9898°314.9897887°+0.04″
Midheaven249.8956°249.8955528°+0.17″
House 1314.9898°314.9897887°+0.04″
House 213.7492°13.7492002°0.00″
House 348.0551°48.0551296°−0.11″
House 469.8956°69.8955528°+0.17″
House 587.8914°87.8914010°0.00″
House 6106.8959°106.8959014°−0.01″
House 7134.9898°134.9897887°+0.04″
House 8193.7492°193.7492002°0.00″
House 9228.0551°228.0551296°−0.11″
House 10249.8956°249.8955528°+0.17″
House 11267.8914°267.8914010°0.00″
House 12286.8959°286.8959014°−0.01″

Horizons does not compute astrological houses, so the cusps are checked against the library alone. The differences are our rounding.

How to reproduce this in five minutes

  1. Open JPL Horizons. Set the target to Saturn, the observer to geocentric (500@399), the time to 1991-09-06 15:30 UTC and the table quantity to 31, observer ecliptic longitude and latitude.
  2. Compare the longitude it returns with the one in the table above.
  3. Agreement within a few arcseconds means the tool is reading a real ephemeris. A difference of degrees means it is not.

The same request as one address, which returns plain text:

https://ssd.jpl.nasa.gov/api/horizons.api?format=text&COMMAND='6'&OBJ_DATA='NO'&MAKE_EPHEM='YES'&EPHEM_TYPE='OBSERVER'&CENTER='500@399'&TLIST='2448506.1458333335'&QUANTITIES='31'&ANG_FORMAT='DEG'

Saturn is the easiest body to check because it moves slowly: a small error in the time you enter barely changes its position. Try the Moon, and a one-minute difference in input moves it by about 30 arcseconds, which is why birth time matters more for the Moon and the angles than for anything else. The same method works on any tool, including ours. For the outer planets Horizons is asked for the system barycentre (5 for Jupiter to 9 for Pluto), which is what the JPL files and therefore the Swiss Ephemeris tabulate.

What a mismatch means

  • Fractions of an arcsecond: rounding.
  • Tens of arcseconds: a different time, or a different definition of “apparent”.
  • Minutes of arc: a different coordinate frame or epoch.
  • Degrees: a different ephemeris, a different zodiac, or an error.

Where we differ from other tools on purpose

Part of Fortune. We use ASC + Moon − Sun for every chart. Part of the tradition reverses this for night charts. Compared against a tool using the night formula, our Part of Fortune will sit in a different place. That is a convention, not a miscalculation.

House system. Placidus only. A chart compared against a Whole Sign or Koch chart will place the same planets in different houses. The planetary longitudes will still match to the arcsecond.

Aspects. Five major aspects with fixed orbs. A tool with minor aspects or wider orbs will list contacts we do not.

Known limits

  • Horizons now serves DE441, the successor of the DE431 the Swiss Ephemeris was built from. For modern dates the two agree far below the differences shown here.
  • Outside the years covered by the bundled data files the library falls back to the Moshier ephemeris, at lower precision. The public API accepts 1800 to 2399, inside the files.
  • Asteroid and Chiron positions are less precise than the main bodies, as the table shows.
  • A transit’s exact moment is found by searching the ephemeris, not by extrapolating a speed, so it is reliable near a station; a body that turns before reaching the angle is reported as never exact.

Last verified 2026-09-18. The table is generated by a script from the production engine, the library and the Horizons API; no number on this page is typed by hand, and the page does not build unless all 128 published values of the test chart still match the engine. The full report as JSON includes the exact Horizons settings. The human version of this page is Swiss Ephemeris vs JPL Horizons.

Ready to see your real chart?

Generate my free chart

For self-reflection and entertainment. Not medical, legal or financial advice, and not guidance for gambling or betting.