Calculation Methodology
Every chart calculation is based on peer-reviewed astronomical algorithms. Here's exactly how we compute your natal chart.
Swiss Ephemeris
We use flatlib with pyswisseph (Python bindings for the Swiss Ephemeris), the same calculation library used by professional astrologers worldwide. The Swiss Ephemeris was developed by Astrodienst AG and is based on the JPL Development Ephemeris (DE431), providing sub-arcsecond accuracy for planetary positions.
What this means for accuracy:
- • Planetary positions accurate to within ~0.001 degrees
- • Positions computed from the actual astronomical coordinates of the Sun, Moon, and planets
- • Based on VSOP87 planetary theory and ELP2000 lunar theory
- • Same engine used by professional astrological software worldwide
Unlike apps that approximate positions using simplified formulas, the Swiss Ephemeris interpolates from pre-computed ephemeris tables that cover the years 3000 BCE to 3000 CE. This means your chart is computed with the same precision as a professional astrologer's software.
Tropical vs Sidereal Zodiac
We support both major zodiac systems. You can choose your preference when generating a chart.
Tropical Zodiac
The Tropical zodiac is aligned to the seasons, not the stars. Aries begins at the March equinox (0° of the ecliptic). This is the standard system used by most Western astrologers since the 2nd century CE. It is fixed to the Earth's axial tilt.
Sidereal Zodiac
The Sidereal zodiac is aligned to the actual constellations, accounting for the precession of the equinoxes. It uses the Fagan-Bradley ayanamsa by default. Common in Vedic (Jyotish) astrology and some Western evolutionary astrology practices.
The difference between Tropical and Sidereal is currently about 24 degrees (the ayanamsa). This means your Sun sign, rising sign, and all planetary positions will shift approximately one sign — so a Tropical Aries may correspond to a Sidereal Pisces. Neither system is "more correct"; they measure different things.
House Systems
Houses divide the chart into 12 sectors representing different life areas. We support 22+ house systems. The most common are:
Placidus
DefaultA time-based quadrant system that divides houses proportionally to the time it takes each sign to rise above the horizon. The most widely used house system in Western astrology. Can produce intercepted houses at extreme latitudes.
Koch
Similar to Placidus but uses the Midheaven (MC) as the 10th house cusp anchor. Based on diurnal arc calculations. Popular among some practitioners for its emphasis on the MC.
Whole Sign
Each house is exactly 30 degrees, beginning with the rising sign. The oldest house system, originating in Hellenistic astrology. Each sign = one house. Simple and avoids issues at high latitudes.
Equal House
All houses are exactly 30 degrees, starting from the Ascendant. Different from Whole Sign in that houses are anchored to the ASC degree, not the sign. Avoids intercepted signs.
We also support Alcabitius, Regiomontanus, Campanus, Porphyry, and many more. The choice of house system is a matter of personal preference and astrological tradition — there is no objectively "correct" system.
Aspects & Orbs
Aspects are angular relationships between planets. We calculate all major and minor aspects:
Conjunction
0°
Sextile
60°
Square
90°
Trine
120°
Opposition
180°
Quincunx
150°
We calculate 44 different aspects including semisextile, sesquiquadrate, quintile, biquintile, and more. Each aspect includes its orb (how many degrees it extends beyond the exact angle) and whether it is applying or separating.
Calculation Details
What we compute:
- • 12 planets: Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto, North Node, Chiron
- • 12 houses: Placidus (default) + 21 other systems
- • 44 aspects: Major + minor aspects with orbs
- • Planetary dignities: Domicile, exaltation, detriment, fall
- • Angles: ASC, MC, IC, DESC
- • Elemental balance: Fire, Earth, Air, Water distribution
All calculations are performed server-side. The browser only renders the pre-computed chart data — no astronomical calculations happen in JavaScript.