BIRTHCHART.IO
Methods & sources
Updated October 13, 2026
Astronomy and coordinates
Astronomy Engine 2.1.19 (MIT) provides planetary positions and lunar/solar events. Our charts use geocentric tropical longitudes on the true ecliptic of date. The Sun uses SunPosition; other bodies use GeoVector with aberration enabled, converted through Ecliptic. Zodiac signs divide longitude into twelve 30° sectors. Decorative stars are not a map of the actual sky.
Times, places and unknown times
GeoNames cities15000 provides city coordinates and IANA zone identifiers (downloaded October 13, 2026; CC BY 4.0). Moment Timezone bundles the time-zone rules, so calculations do not depend solely on your device’s database. Historical rules can be incomplete, especially before 1970. A nonexistent local clock time is rejected; repeated times require an explicit choice. With unknown time, planetary positions use local noon, the Moon is checked over the whole local day, and the Ascendant and houses are omitted.
Houses and aspects
The Ascendant is solved from the intersection of the ecliptic and eastern horizon. Placidus cusps trisect semi-diurnal and semi-nocturnal arcs. At latitude 66° or above, or if a solution fails, we explicitly switch to Whole Sign houses. Major aspect orbs are: conjunction 8°, sextile 5°, square 7°, trine 7°, opposition 8°; add 1° when the Sun or Moon participates. Transit orbs are 40% of those values. These orbs are product conventions.
Returns, Moon phase and Chinese zodiac
Solar returns search the selected calendar year for the natal solar longitude. Saturn returns search approximately three years around the selected 29.4571-year cycle, including direct and retrograde passes; separate ±3° windows are reported. Search convergence is not absolute astronomical precision. Moon illumination is calculated separately from elongation; selected dates refer to local noon, while “Now” uses the current instant. Chinese zodiac uses lunar-javascript 1.7.7 (MIT), Lunar New Year as the boundary, and the year stem for the element.
Validation and limits
Supported birth and target dates are 1900–2100. Initial independent numerical fixtures compare planetary longitudes and house cusps against a separate reference engine at multiple dates and latitudes; comparison tolerances are 0.05°. These are test thresholds, not universal accuracy guarantees. Moon events are checked against published NASA tables; calendar boundaries include the 2033–2034 leap-month case. Near sign boundaries, uncertain inputs can matter more than engine differences.
Sources and licenses
- Astronomy Engine · MIT
- GeoNames · CC BY 4.0
- Moment / Moment Timezone · MIT · IANA tzdb
- lunar-javascript · MIT
- Moon texture: NASA’s Scientific Visualization Studio
- Fraunces / Inter / Noto Sans Symbols / Noto Sans Symbols 2 · SIL OFL 1.1
Questions or corrections: contact@birthchart.io