← Back to almanac

How Charting Stars Dates a Transit to the Minute


I'm Andy, and I build Charting Stars.

Our timeline lets you drag a birth chart from the day someone was born to the year 2100 and see each transit as a bar: when it comes into orb, every moment it is exact, and when it leaves. People reasonably ask where those dates come from and how far to trust them. This is the whole answer, including where the precision stops.

One engine, sampled once a day

Every position starts in our chart engine: VSOP87 for the planets, ELP for the Moon, and Jean Meeus's series for Pluto. On every change to the code, the test suite casts seven charts with Rodden AA or A birth data (Einstein, Martin Luther King Jr., Bowie, Kennedy, Kahlo, Sagan and Curie) and checks them two ways: against their published positions and signs, within deliberately coarse limits (1.5° for the Sun), and against a frozen record of the engine's own output, to 0.05°, so that any change to where the engine puts a planet shows up at once.

Running that engine for every frame while you drag would be too slow (one instant costs about 12 milliseconds), so we run it once for every day from 1850 to 2100 and keep two numbers per body per day: longitude and speed. A year's file, a pack, is about 32 KB; all 251 come to 7.6 MB. Packs are built once, committed to our code repository and served as plain files, so nothing is calculated while you wait.

Between two days: a Hermite curve

To place a planet at 3:17 in the afternoon, we draw a cubic Hermite curve between the samples on either side. It matches position and speed at both ends, and the engine computes the speed anyway, so the better curve costs nothing.

Measured at instants between samples through 2026, the Moon stays within 0.00045° of the engine, Mercury within 0.00013°, the lunar node within 0.00006°, Venus within 0.00001°, and every other body closer still. Across the committed files, Pluto's worst case is 0.000013°. For scale, 0.0005° is under two seconds of arc.

The Moon is the hard case. It covers about 13° a day, and on a daily grid it can drift up to 0.00082° from the engine at the worst point of a step, so our tests hold it to 0.001°. Moon contacts last hours rather than weeks, so the Moon also gets a pack of its own, sampled twice a day, which brings its worst case to 0.000018°.

Finding the instant

A transit is exact when the angle between a moving planet and a natal point reaches its value: 0° for a conjunction, 90° for a square. Take the planet's distance from that value, keep its sign (short of exact, or past it), and walk through the pack a day at a time. When the sign flips between two days, the planet went exact inside that day, and we halve the interval until it is under 30 seconds. The same walk against the orb limit finds when the transit enters and leaves orb; run on the planet's speed, it finds stations to 10 seconds.

Then we check the answer against the engine rather than the pack. On every change to our code, each exact instant goes to the full engine, which must agree the planet is within 0.02° of exact at that moment, and a sample is found again from scratch on the full engine and must agree to within a minute. Stations must land within two hours of the times our almanac publishes from a separate search, with the engine's own speed below 0.01° a day. The Sun's entry into Aries must fall within 15 minutes of the March 2026 equinox. Every eclipse from 1850 to 2100 must match NASA's catalogue type for type and within two minutes; the worst is 1.2 minutes. Three NASA grazes too faint for our method are missing, one of them on 18 July 2027.

A retrograde loop is one transit

When a slow planet stations near a natal point it can cross exact, turn back, cross again and cross a third time, sitting out of orb for months between passes. Astrologers read that as one transit, so we do too.

Our first version joined pieces of a transit only when they were less than 45 days apart. That broke every outer-planet loop into fragments: over 2025 to 2027 it found no transit from Mars to Pluto with three exact hits. The rule is now about motion: two pieces of the same contact belong together when the planet stationed between them and had not yet passed the point for good. On the test chart, 2025 to 2027 now holds 13 outer-planet transits with three exact hits, each drawn as one bar.

David Bowie's chart shows what that looks like. His timeline opens on 16 June 1972, the day Ziggy Stardust came out. Uranus square his Sun is one transit from November 1971 to October 1972, exact in December, March and September, and that day falls between the second and third passes, out of orb, five days before Uranus turns direct. Our tests pin two more on his chart from 2025, after his death, because a natal chart keeps receiving transits and the dates never move: Pluto sextile his Venus, exact on 4 February, 12 August and 11 December, and Pluto conjunct his Ascendant, which perfects five times across two loops before November 2026. That is why we say "one or several passes", never a fixed number. A pass that turns back short of exact stays in the transit as a pass without a hit, drawn hollow.

Pluto, and the rows from JPL

Meeus's Pluto series is stated to be good from 1885 to 2099 and quietly extrapolates outside it, so our packs carry no Pluto before 1885 or after 2099, and the timeline says why instead of drawing a guess. Until we had an independent check, we printed no Pluto transit at all. The test suite now holds Pluto to three positions from NASA JPL's Horizons system (9 November 1934, 2 October 2026 and 1 June 2099) within 0.05°. Horizons reports Pluto's apparent position and our engine its astrometric one, so about 0.006° of aberration separates the two by design.

Where the precision stops

"To the minute" is a claim about a planet meeting a natal planet, for the chart as entered. We never make it for the Ascendant or Midheaven. Those turn a full circle every day; the Midheaven moves about a quarter of a degree for each minute of birth time, and the Ascendant at a rate that changes with latitude and sign. A contact to an angle is only as good as the birth time behind it, so the timeline dates one to the day, never the minute.

Bowie again: his Ascendant is 3.4° into Aquarius. Five minutes' doubt about his birth time keeps it there; fifteen could put it in Capricorn, and with it every house and the yearly profection, which starts from the rising sign. With no birth time at all there are no angles, no houses, no Vedic periods and no natal Moon to aim at, because the Moon moves about 13° in a day.

The second limit matters most for the slowest planets: the minute is a minute on our engine's clock. Our tests prove every date is the engine's; they hold the engine to the outside world only as tightly as described above. For Pluto the known gap is that 0.006°, and Pluto is slow enough that so small a gap can be hours of its motion. For the outer planets, lean on the day.

And precision is not evidence that the sky shapes a life. The largest study of people born minutes apart, Geoffrey Dean and Ivan Kelly's 2,101 "time twins" (Journal of Consciousness Studies, 2003), found effect sizes between 0.00 and 0.03. We date transits carefully so that whatever you read into them, you are reading the right sky.

See it, and tell me where it's wrong

The Bowie timeline is free to explore: open David Bowie on the celebrity charts page. If one of our dates disagrees with your software, send me both and I will find out which one is wrong.

To see the same engine on your own birth data, cast a free birth chart.

Cast a chart

Translate your own coordinates.

The almanac explains the technique. The observatory applies it to you — your Sun, Moon, and Rising in under a minute, no signup required for the preview. Keep reading with today's horoscope, the moon-sign guides, or Sun · Moon · Rising combinations.

Keep reading