How your chart is
calculated.
The astronomical computation behind every chart on Coeluna — and our commitment to doing it in your browser, with your data staying on your device.
How the sky is read
Planet positions are computed using VSOP87 (Variations Séculaires des Orbites Planétaires), a high-precision analytical planetary theory developed by Bretagnon and Francou at the Bureau des Longitudes. The computation uses the full VSOP87B series (heliocentric ecliptic coordinates), which expresses each planet's position as a sum of thousands of periodic terms.
The full pipeline: birth date + time + city → UTC → Julian Day → VSOP87 planetary longitudes → apparent geocentric ecliptic longitudes (including nutation, aberration and precession) → sign and degree. The Moon uses its own dedicated high-precision theory. Pluto uses the astrometric solution from Meeus.
Houses are computed in the Placidus system, the most widely-used system in Western astrology. The Ascendant and Midheaven are calculated from Local Apparent Sidereal Time at the birth location.
How accurate is it?
Planet positions are accurate to within 1° for dates 1900–2100, validated against published ephemerides and AA-rated reference charts (including Einstein's natal chart). In practice the error is typically under 0.1° for most planets on most dates.
Planetary longitudes to ~0.1°
Industry-standard house system
Accounts for Earth's variable rotation
Birth time matters. The Ascendant (Rising sign) and house cusps shift roughly every two hours. Without an exact time we calculate planet positions accurately but omit the Rising sign and houses — and flag this clearly in the result.
Your data stays with you
Every calculation runs entirely in your browser. Your birth date, time and city never leave your device — there is no server receiving your birth data, no account, no tracking.
Chart sharing works by encoding the birth data directly into the URL using fflate compression + URL-safe Base64. The shared link is the chart — no database, no stored records. Only the recipient of the link can see the data, and only for as long as they hold the URL.
See the method in action with your own chart.