How we calculate
Every result on this site comes from the same calculation engine. This page explains what it does and shows how closely it matches NASA.
Where the positions come from
The engine is built on Astronomy Engine, an open-source library by Don Cross, published under the MIT licence. We use version 2.1.19 without changes. It models the orbits of the Sun, Moon and planets and reports where each one appears from Earth at any moment.
On top of that we add our own code for the things astrology needs: zodiac signs, the dates a planet changes sign, the Moon's nodes, and the search for the moments a planet returns to an earlier position.
Which zodiac
We use the tropical zodiac, the one used by most Western astrology. It starts at the point where the Sun crosses the equator at the March equinox, and each sign covers 30 degrees from there. Positions are measured as seen from the centre of the Earth, and they include the small corrections for the time light takes to arrive and for the wobble of the Earth's axis.
Sidereal and Vedic systems use a different starting point, so their signs differ from ours by about 24 degrees.
Checked against NASA
NASA's Jet Propulsion Laboratory publishes the positions used to navigate spacecraft, through a service called Horizons. We took values from Horizons and compared them with our own. The gap is given in arcseconds; there are 3,600 arcseconds in one degree.
Saturn
The largest gap across 13 dates is 5.4 arcseconds, which is 0.0015 of a degree. Saturn takes about 17 minutes to move that far at its fastest.
| Date | NASA JPL | This site | Gap |
|---|---|---|---|
| Jan 1, 1960 | 279.4563° | 279.4549° | 5.0″ |
| Dec 31, 1969 | 32.0648° | 32.0646° | 0.8″ |
| Jan 1, 1980 | 176.9885° | 176.9870° | 5.4″ |
| May 5, 1988 | 272.0756° | 272.0763° | 2.8″ |
| Dec 31, 1989 | 285.5646° | 285.5645° | 0.4″ |
| Jan 1, 2000 | 40.4000° | 40.4004° | 1.8″ |
| Dec 31, 2009 | 184.5033° | 184.5018° | 5.1″ |
| Jan 6, 2018 | 272.0761° | 272.0763° | 0.7″ |
| Jan 1, 2020 | 291.4451° | 291.4446° | 1.9″ |
| Jan 1, 2030 | 48.3978° | 48.3972° | 2.1″ |
| Feb 15, 2047 | 272.0763° | 272.0763° | 0.2″ |
| Jun 12, 2047 | 272.0765° | 272.0763° | 0.7″ |
| Dec 21, 2076 | 272.0752° | 272.0763° | 4.2″ |
Venus
The largest gap across 10 dates is 4.8 arcseconds. Venus is the fastest mover of the planets we cover so far, and it crosses that distance in about 2 minutes.
| Date | NASA JPL | This site | Gap |
|---|---|---|---|
| Jan 1, 1950 | 316.9795° | 316.9793° | 0.8″ |
| Jan 1, 1960 | 238.9038° | 238.9035° | 1.1″ |
| Dec 31, 1969 | 274.3134° | 274.3134° | 0.1″ |
| Jan 1, 1980 | 311.8083° | 311.8084° | 0.1″ |
| Dec 31, 1989 | 306.3051° | 306.3043° | 2.7″ |
| Jan 1, 2000 | 241.2300° | 241.2294° | 2.0″ |
| Dec 31, 2009 | 277.4305° | 277.4307° | 0.5″ |
| Jan 1, 2020 | 314.5457° | 314.5455° | 0.5″ |
| Dec 31, 2029 | 289.7893° | 289.7907° | 4.8″ |
| Jan 1, 2040 | 243.7428° | 243.7426° | 0.6″ |
The Moon's North Node
The largest gap across 4 dates is 8.3 arcseconds. For this comparison both values are measured against the fixed reference frame astronomers call J2000, because that is how Horizons reports them. On Jan 1, 2000 that corresponds to a North Node at 3°57′ Leo in the zodiac of that date.
| Date | NASA JPL | This site | Gap |
|---|---|---|---|
| May 5, 1988 | 351.7636° | 351.7618° | 6.4″ |
| Jan 1, 2000 | 123.9581° | 123.9560° | 7.2″ |
| Jan 6, 2018 | 135.0255° | 135.0238° | 6.3″ |
| Oct 10, 2026 | 328.5158° | 328.5135° | 8.3″ |
Black Moon Lilith
Lilith is the far point of the Moon's orbit, and it comes in two versions. Mean Lilith is the average position. We take it from the standard formula for the Moon's mean orbit and project it onto the zodiac, which is how the ephemerides astrologers use list it. The dates it changes sign are fixed by that formula, and the automatic tests hold them in place.
True Lilith is worked out from the Moon's position and speed at one instant. It is far more delicate than any other figure on this site: a change of one part in ten thousand in the Moon's speed can move it by a tenth of a degree or more. Against positions derived from Horizons orbit data, ours differs by up to 0.14 degrees. That is why the Lilith calculator shows true Lilith in whole degrees only.
| Date | From NASA JPL data | This site | Gap |
|---|---|---|---|
| May 5, 1988 | 148.817° | 148.953° | 0.137° |
| Jan 1, 2000 | 252.998° | 252.964° | 0.034° |
| Jan 6, 2018 | 266.311° | 266.256° | 0.055° |
| Oct 10, 2026 | 282.666° | 282.540° | 0.126° |
Midheaven and Ascendant
These two points depend on how far the sky has turned at your birthplace, which astronomers call local sidereal time. Ours agrees with Horizons to within 0.36 seconds of time at Chicago's coordinates. One second of sidereal time moves the Midheaven by about 15 arcseconds.
| Date (UT) | NASA JPL | This site |
|---|---|---|
| Jun 15, 1995 | 7h 13m 50.5s | 7h 13m 50.6s |
| Jan 1, 2000 | 12h 51m 14.0s | 12h 51m 13.7s |
| Oct 11, 2026 | 3h 29m 07.1s | 3h 29m 07.1s |
From the sidereal time, the Midheaven and Ascendant follow by standard spherical trigonometry. We check that step a second way: for each test chart we place a point at the calculated degree and confirm, with the astronomy library's own sky-position routine, that the Midheaven lies exactly on the meridian and the Ascendant exactly on the eastern horizon.
These same values run as automatic tests every time the site is rebuilt. If a change to the code moved any result outside its limit, the tests would fail.
Birth time and time zone
When you enter a birth time, you also choose the time zone of your birthplace. The engine converts that clock time to Universal Time using the time zone records built into your browser, which include past daylight saving rules. Those records are reliable from 1970 onward and less complete before that for some places.
When you leave the time out, the engine uses midday. It then works out the earliest and latest moments your birth date could have fallen anywhere in the world and tells you how much the answer could change.
Birthplaces
Calculators that need a birthplace look it up in a list of 34,132 cities and towns, each with its latitude, longitude and time zone. The list comes from GeoNames, which publishes it under the Creative Commons Attribution 4.0 licence, and covers places with more than 15,000 people. Only the part of the list matching the first letter you type is downloaded, and the search happens on your device.
Limits you should know about
- The calculators accept birth years from 1900 to 2100.
- When a planet is almost standing still, a gap of a few arcseconds can move an exact date by several hours.
- True Black Moon Lilith is accurate to about a fifth of a degree, not to the arcsecond like the planets. Mean Lilith does not have this limit.
- A birthday on the very day a planet or node changed sign needs a birth time to settle the sign. The calculators say so when it applies.
- Houses are counted in whole signs from the Ascendant. Other house systems, such as Placidus, can put a point one house away.
- The city list leaves out places with fewer than 15,000 people. For a town that is missing, the nearest larger city in the same time zone gives a result within a fraction of a degree.
- Close to the Arctic and Antarctic circles the Ascendant behaves unusually, and results there should be treated with care.
Your details stay with you
All of this runs in your browser. The birthday you enter is not sent to us. See the privacy page.