The Swiss Ephemeris is not a claim of accuracy. It is a specific dataset: a planetary position library derived from NASA’s JPL DE431 ephemeris, published by Astrodienst, and used by most serious astrology software. A tool either reads it or it does not. JPL Horizons is the source underneath: NASA’s own ephemeris service, which no astrology vendor controls. That makes it the right thing to check against. This page shows the comparison for one fixed chart: our computed longitudes, the Swiss Ephemeris values, the JPL Horizons values, and the deviation in arcseconds. Then it shows how to run the same check yourself, on any tool, in about five minutes.
What the Swiss Ephemeris is
Astrodienst, the company behind astro.com, took NASA’s JPL DE431 ephemeris and packaged it as a library astrology software can call. That library is the Swiss Ephemeris. It covers roughly 13000 BCE to 17000 CE and computes planetary longitudes to better than an arcsecond for modern dates.
Two things follow. First, “we use the Swiss Ephemeris” says where the numbers come from, not how good the product is. Second, two tools that both use it should agree to the arcsecond. If they don’t, the difference is in house system, time zone handling, or a bug, not in the astronomy.
What JPL Horizons is
The Jet Propulsion Laboratory publishes an ephemeris service used for spacecraft navigation. It is free, public, and has nothing to do with astrology. It is therefore the natural place to check an astrology tool: it has no reason to agree with anyone.
Why check at all
Every astrology tool says it is accurate. The claim costs nothing to make. What costs something is publishing the intermediate values, the longitudes before they are rounded into signs and degrees, so that someone can compare them. Almost no tool does. Below are ours.
The comparison
Test chart: 1991-09-06, 18:30 local time, Kyiv, Ukraine, which is 1991-09-06 15:30 UTC. Synthetic demonstration data, not a real person.
| Body | NatalChart.AI | Swiss Ephemeris, direct | JPL Horizons | Ours − Horizons | Library − Horizons |
|---|---|---|---|---|---|
| Sun | 163.5457° | 163.5456605° | 163.5456487° | +0.18″ | +0.04″ |
| Moon | 139.0225° | 139.0224653° | 139.0224714° | +0.10″ | −0.02″ |
| Mercury | 145.6065° | 145.6065160° | 145.6065040° | −0.01″ | +0.04″ |
| Venus | 141.9051° | 141.9050810° | 141.9050680° | +0.12″ | +0.05″ |
| Mars | 183.4630° | 183.4630174° | 183.4630048° | −0.02″ | +0.05″ |
| Jupiter | 148.8019° | 148.8018921° | 148.8018788° | +0.08″ | +0.05″ |
| Saturn | 300.8444° | 300.8443937° | 300.8443803° | +0.07″ | +0.05″ |
| Uranus | 279.9033° | 279.9033477° | 279.9033336° | −0.12″ | +0.05″ |
| Neptune | 284.0918° | 284.0918116° | 284.0917985° | +0.01″ | +0.05″ |
| Pluto | 228.0048° | 228.0047522° | 228.0047392° | +0.22″ | +0.05″ |
| True node | 287.5725° | 287.5725085° | no counterpart | ||
| Chiron | 125.2405° | 125.2405459° | 125.2405242° | −0.09″ | +0.08″ |
| Lilith | 305.8121° | 305.8121171° | no counterpart | ||
| Ceres | 221.0706° | 221.0705699° | 221.0706427° | −0.15″ | −0.26″ |
| Pallas | 196.0369° | 196.0369254° | 196.0370056° | −0.38″ | −0.29″ |
| Juno | 285.8222° | 285.8221933° | 285.8223477° | −0.53″ | −0.56″ |
| Vesta | 132.9138° | 132.9138145° | 132.9138115° | −0.04″ | +0.01″ |
Across 15 bodies the largest difference from Horizons is 0.53 arcseconds, at Juno, an asteroid. For the planets the library agrees with NASA to a few hundredths of an arcsecond, and most of what is left in our column is our own rounding to four decimals. The house cusps, the settings and the limits are in the accuracy report, and everything is in one JSON file.
Do it yourself
- 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.
- Compare the longitude it returns with the one in the table.
- Agreement within a few arcseconds means the tool is reading a real ephemeris. A difference of degrees means it is not.
Or open the same request directly:
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 moves it by about 30 arcseconds, which is why birth time matters more for the Moon and the angles than for anything else.
What a difference 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.
Checking a tool that doesn’t publish its numbers
Most tools show you only the finished chart: a degree and a minute in a sign, not a longitude to four decimals. You can still check them, just less precisely. A degree and a minute is enough to catch a wrong ephemeris, a wrong time zone or a wrong zodiac, because those produce errors of degrees, not arcseconds. Enter the same birth data in two tools and compare the slow planets first: Saturn, Uranus, Neptune, Pluto. If they agree, the astronomy is the same and any remaining difference is in house system or rounding. If they disagree by degrees, one of them is wrong about something large. The steps for a whole chart are on how to verify your birth chart, and the library itself is described on Swiss Ephemeris natal chart.
Questions
Is the Swiss Ephemeris more accurate than JPL Horizons?
No. It is derived from JPL data. At best it matches; it cannot exceed its source.
Does every astrology app use it?
No. Many apps do not say what they use. Some compute positions from simplified formulas that are fine for a sun sign and wrong by degrees for the Moon.
My two charts differ by a few degrees. Which is wrong?
Check the zodiac first: tropical against sidereal differs by about 24 degrees today. Then the time zone, especially for births before the 1970s, when local rules changed often. Then the house system, which moves houses but not planets.
Why does the Moon differ more than the other planets?
It moves 12 to 15 degrees a day. One minute of error in birth time moves it about 30 arcseconds; an hour moves it more than half a degree.
Does NatalChart.AI publish all of this?
Yes: a fixed test chart with every intermediate value and a JSON download, next to the JPL Horizons numbers. See the accuracy report.
Can I check a chart without any software?
Yes, for slow planets. JPL Horizons runs in a browser and needs no account.