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.

Saturn's zodiac longitude as seen from Earth, in degrees from 0 Aries
DateNASA JPLThis siteGap
Jan 1, 1960279.4563°279.4549°5.0″
Dec 31, 196932.0648°32.0646°0.8″
Jan 1, 1980176.9885°176.9870°5.4″
May 5, 1988272.0756°272.0763°2.8″
Dec 31, 1989285.5646°285.5645°0.4″
Jan 1, 200040.4000°40.4004°1.8″
Dec 31, 2009184.5033°184.5018°5.1″
Jan 6, 2018272.0761°272.0763°0.7″
Jan 1, 2020291.4451°291.4446°1.9″
Jan 1, 203048.3978°48.3972°2.1″
Feb 15, 2047272.0763°272.0763°0.2″
Jun 12, 2047272.0765°272.0763°0.7″
Dec 21, 2076272.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.

Venus's zodiac longitude as seen from Earth, in degrees from 0 Aries
DateNASA JPLThis siteGap
Jan 1, 1950316.9795°316.9793°0.8″
Jan 1, 1960238.9038°238.9035°1.1″
Dec 31, 1969274.3134°274.3134°0.1″
Jan 1, 1980311.8083°311.8084°0.1″
Dec 31, 1989306.3051°306.3043°2.7″
Jan 1, 2000241.2300°241.2294°2.0″
Dec 31, 2009277.4305°277.4307°0.5″
Jan 1, 2020314.5457°314.5455°0.5″
Dec 31, 2029289.7893°289.7907°4.8″
Jan 1, 2040243.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.

Longitude of the Moon's ascending node, J2000 ecliptic, in degrees
DateNASA JPLThis siteGap
May 5, 1988351.7636°351.7618°6.4″
Jan 1, 2000123.9581°123.9560°7.2″
Jan 6, 2018135.0255°135.0238°6.3″
Oct 10, 2026328.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.

Longitude of the far point of the Moon's orbit at one instant, J2000 ecliptic, in degrees
DateFrom NASA JPL dataThis siteGap
May 5, 1988148.817°148.953°0.137°
Jan 1, 2000252.998°252.964°0.034°
Jan 6, 2018266.311°266.256°0.055°
Oct 10, 2026282.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.

Local apparent sidereal time at 41.85°N, 87.65°W
Date (UT)NASA JPLThis site
Jun 15, 19957h 13m 50.5s7h 13m 50.6s
Jan 1, 200012h 51m 14.0s12h 51m 13.7s
Oct 11, 20263h 29m 07.1s3h 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

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.