AstroCalcs
How the numbers get made

How AstroCalcs computes your chart

Which zodiac, which coordinate frame, which ephemeris and which time-zone data the site uses, and how I check the results against JPL. Nothing here is rounded to the month.

Tropical zodiac

0° Aries sits at the March equinox, as in Western astrology.

Apparent geocentric

Ecliptic longitude from the Earth's centre, true equinox of date.

astronomy-engine (MIT)

An MIT-licensed ephemeris. The AGPL Swiss Ephemeris is not involved.

IANA time zones

The offset and daylight-saving rule in force on your birth date.

The zodiac

The site works in the tropical zodiac, which is what nearly all Western astrology uses. Zero degrees Aries is pinned to the March equinox, the moment the Sun crosses the celestial equator heading north. The constellations are not involved. They drift against that point over the centuries because of the precession of the equinoxes, which is why the sign Aries and the stars of Aries no longer line up, and why I do not pretend they do. Every placement on the site, from a Sun sign to an ascendant, is a tropical ecliptic longitude somewhere between 0 and 360 degrees, which I then cut into twelve signs of thirty degrees each.

What I actually compute

For each body the site reports its apparent geocentric ecliptic longitude, referred to the true equinox of date. That is a mouthful, so one word at a time. Geocentric: measured from the centre of the Earth, which is where astrology has always stood. Apparent: corrected for the time light takes to arrive from the body and for the aberration caused by Earth's own motion, so the number is where the planet appears in the sky rather than where the geometry says it is. True equinox of date: the coordinate frame is adjusted for precession and nutation to the actual date in question rather than to a fixed reference epoch. Professional astrology software reports the same class of position. It is what makes a degree-and-minute placement mean something, rather than a sign name with a decimal point added for decoration.

The engine

All of the astronomy is done by astronomy-engine, an open-source library released under the permissive MIT licence. I chose it over the widely used Swiss Ephemeris, which is AGPL-licensed. A permissive licence means the engine can run entirely in your browser at no cost to anyone, and I can describe exactly what it does without a licensing lawyer in the room. It implements well-established solar-system models and is accurate to well under an arcminute for the Sun, Moon and planets across the modern era. Astrology needs a sign and a degree. An arcminute is a sixtieth of a degree, so there is room to spare.

On top of the raw positions sits a thin layer of my own: a numerical root-finder that searches for the exact instant a body reaches a target longitude. That is how the Saturn return calculator pins down each conjunction, including the extra passes when Saturn stations retrograde and crosses the point two more times, and how the Mercury retrograde dates resolve to the minute a station occurs.

How I check the numbers

A claim of accuracy you cannot check is just a claim, so the position and event maths ships with a unit-test suite. The tests compare computed positions against reference values published by NASA JPL's Horizons system, the ephemeris astronomers use, at a fixed set of dates between 1950 and 2030, and allow only a tight tolerance. They also check the station and return dates the site produces against published dates for known years. These are unit tests over fixed dates and bodies, not a live query to JPL. If a change ever nudged a position away from the reference figures, the build would fail before the page reached you. That is the whole of the claim, and I would rather state it exactly than say "validated" and hope nobody asks.

Time zones

A birth time is only useful once it is anchored to a real instant, so I convert your local time to Universal Time with the IANA time zone database, the same tzdata your operating system uses. I apply the rules that were in force on your birth date and at your birth place: the standard-time offset of the day and every daylight-saving transition, rather than whatever rule applies this year. That matters more than people expect. A city's offset and its summer-time habits have changed many times over the last century, and a chart cast with today's rule can be an hour out, which moves an ascendant about fifteen degrees.

One caveat. Before standard time zones were adopted, roughly pre-1900, towns kept local mean time set by the Sun, which changed with longitude. For very old birth data the true offset is uncertain, and no calculator can remove that uncertainty. The birth date fields on the site start at 1900 for that reason, and this page is where I say so, rather than printing a minute the historical record cannot support.

Where the cities come from

When a tool needs a place, for the time-zone lookup or for the rising sign geometry, the city search runs on the GeoNames geographical database, used under the Creative Commons Attribution (CC BY 4.0) licence. Coordinates and time-zone identifiers come from that dataset. It is loaded on demand and searched inside your browser, so the name you type never reaches a server I control, which is true of everything else you type here as well.

Accuracy, tool by tool

The astronomy is precise everywhere. What varies is how precise your input has to be, and here is what each calculator needs.

Saturn Return

Birth date only

Saturn moves about two arcminutes a day, so the conjunction dates barely shift whether you were born at six in the morning or eleven at night. A date is enough.

Solar Return

Birth date; time sharpens it

The Sun moves about one degree a day. From a date alone the return lands on the right day; add an exact birth time and it lands on the minute.

Mercury Retrograde

No birth data

Nothing to enter, because the stations are the same for everyone. I search the ephemeris for the instant Mercury's motion turns, so each date resolves to the minute.

Birth Moon Phase

Birth date; time refines it

The Moon covers about 13 degrees a day, so the phase is clear from a date. An exact time firms up the illumination percentage and settles the Moon's sign if you were born near a cusp.

Rising Sign

Exact time and place required

The ascendant advances about one degree every four minutes, so a few minutes of error can change the sign. You need the real time and the city. A guessed time gives you a confident answer that may be the wrong sign.

Cycle Lab

No birth data

Eclipses and stations are precomputed for 1900–2100 and stored to a hundredth of a degree and to the hour, which is why the tool publishes dates and never times. Every count is shown beside the baseline for all 360 degrees, so you can see whether your degree is unusual or merely feels that way.

Methodology questions

The questions people ask about how the dates get made.

Which zodiac does AstroCalcs use?

The tropical zodiac, the one almost all Western astrology is built on. It fixes 0 degrees Aries to the March equinox rather than to the constellations behind it, which have drifted since the signs were named. Every sign placement on the site, Sun, Moon, ascendant and planets alike, is a tropical ecliptic longitude.

What ephemeris powers the calculations?

astronomy-engine, an open-source astronomy library released under the MIT licence. It models the motion of the Sun, Moon and planets to high precision and is independent of the AGPL-licensed Swiss Ephemeris. I chose a permissively licensed engine on purpose: it can run entirely in your browser, and I can say exactly what the site does without a licensing argument.

How accurate are the dates?

More accurate than the question needs. The positions underneath the Saturn returns, solar returns and Mercury stations are good to well under an arcminute across the modern era, and each event is found by searching numerically for the exact instant rather than by reading a table. The resulting dates hold to the day, and usually to the minute, for the birth years people actually enter.

Do I always need my exact birth time?

No. Saturn barely moves in a day, so a Saturn return is reliable from the birth date alone. Your rising sign and house cusps are the opposite case: the ascendant advances roughly one degree every four minutes, so the exact minute and place of birth decide the answer. Each tool tells you which case it is in.

How do you handle time zones and daylight saving?

I convert your local birth time to Universal Time with the IANA time zone database, which records the offset and the daylight-saving rule that applied at each place on each date, rather than only the rule in force today. Before standard time zones existed, roughly pre-1900, clocks ran on local mean time, so a small uncertainty is unavoidable there. That is why the birth date fields start at 1900.