Loading ephemeris

01Birth data

Local birth time, including seconds

02Event

All four returns are cast here
Maximum orb
Polich/Page topocentric houses · Conjunctions & oppositions · Sun–Pluto + mean nodes + Part of Fortune · Demi-solars only for precessed returns

Contacts, closest first

Four return types · one list · default orb 1°08′
Enter birth and event details above. Calculations stay on this device.
Four perspectives. The tightest contacts.

Compare tropical and precessed solar returns, direct and converse, at the event location. The nearest qualifying contacts appear first.

Swiss Ephemeris · embedded data 1200–2399 · Gregorian datesOne file. Offline calculations. Calculation notes ·
Calculation method & duplicate rules

Four return types

TropDir / TropCon: the Sun reaches its natal tropical longitude. These remain full annual returns, even in the second half of the period.

PrecDir / PrecCon: the natal Sun target is advanced by accumulated mean precession in longitude from birth to the candidate return instant, using Swiss Ephemeris’s birth-epoch model. The exact solar opposition begins the demi-solar phase. Direct and converse phases are selected independently.

This preserves the longitude-precession and converse conventions used in Lunar Angles. It does not substitute a fixed yearly precession constant or rotate to the birth ecliptic.

Converse & location

The event instant is mirrored around birth: 2 × birth − event. Crossings are solved in the actual prenatal sky, then mirrored back onto the event timeline to select the preceding full or demi phase. Chart details show both dates.

All four return charts use the event coordinates and Polich/Page topocentric houses (Swiss Ephemeris system T). Planetary positions are apparent geocentric positions. Topocentric houses do not imply topocentric planetary parallax.

Contacts & smart filtering

Distances are in ecliptic longitude. Within each return, planets, mean nodes and Part of Fortune are checked for conjunctions to its twelve cusps. Conjunctions and oppositions between two planets within the same return are also included, once per pair. Across charts, every return planet, mean node, Part of Fortune and house cusp is checked for conjunction/opposition to every natal factor of those types. ASC, IC, DSC and MC are cusps 1, 4, 7 and 10, not duplicate entries. Natal cusps use the birth coordinates. All cross-chart aspects compare the actual tropical longitudes of the two charts; precession changes the return instant, not the natal comparison positions.

Cusp oppositions appear as conjunctions to the opposite cusp (opposite ASC becomes conjunct DSC). Duplicate cusp contacts are grouped by return body and house axis (1/7, 2/8, 3/9, 4/10, 5/11, 6/12). Cross-chart contacts keep return and natal roles distinct. Opposite cusp/node representations are one axis contact; conjunction labels are preferred for equivalent cusp geometry. Repeated contacts across return types retain the smallest orb. The smallest exact orb wins across all four charts. Expand a duplicate note to inspect the other occurrences.

The defining Sun–Sun conjunction or opposition is always excluded from the contact report. Sun through Pluto, the mean North and South Nodes, and Part of Fortune are included. Fortune = Ascendant + Moon − Sun, with the same formula day and night, separately in the natal chart and each return. No true node or Chiron.

Time entry & offline use

If event time is unknown or blank, the birth clock time is copied into the event, then interpreted in the event’s time zone. Birth time is required. The copied time is identified in the report.

A named IANA zone uses the browser’s offline historical time-zone rules. To override it, clear the zone and enter a verified UTC offset, including daylight saving. Ambiguous or nonexistent clock-change times require an explicit offset. Swiss Ephemeris converts civil UTC to UT1; historical times before modern UTC follow its UT convention.

The embedded Swiss data covers 1200–2399. Birth, event, mirrored converse dates and 370-day search margins must fit this range. The app rejects missing Swiss data instead of falling back to a different ephemeris. Dates are proleptic Gregorian.

Only optional city search needs the internet: Open-Meteo / GeoNames. It receives only the entered city name. Manual coordinates work offline. Swiss Ephemeris documentation.

Source & licenses

This HTML application and its Swiss Ephemeris binding are distributed under AGPL-3.0-or-later. The editable application source is inside this HTML. The corresponding engine source archive, build instructions and font license are embedded below.