Zodiacs & ayanamsas

Computation is tropical by default; pass one zodiac value to switch the whole chart to a sidereal frame; the value names the ayanamsa (the tropical–sidereal offset) you want.

Choosing a value

  • Omit the field (or pass "tropical") for Western work — no offset, ayanamsaOffset is null in the output.
  • "lahiri" — the Indian-government standard; the default choice for Vedic charts and dashas.
  • "fagan" — Fagan/Bradley, the Western sidereal standard.
  • "krishnamurti" — KP practitioners.
  • "raman" — B.V. Raman's ayanamsa.
  • "draconic" and "ra" are reference-frame transforms, not ayanamsas — see below.
  • Everything else in the table is a research or school-specific variant; if you were not asked for one specifically, you do not need it.

All accepted values

  • Default: tropical.
  • Named sidereal ayanamsas (19): lahiri, fagan, krishnamurti, raman, yukteshwar, jnbhasin, ushashashi, larry (computes as ushashashi), deluce, takra (computes as deluce), djwhalkhul, hipparchos, sassanian, citra (True Citra — Spica-anchored), mula (True Mula), pushya (True Pushya), revati (True Revati), aldebaran (Aldebaran at 15° Taurus), valens (Valens Moon).
  • Galactic-frame research ayanamsas (9): galactic0 (Galactic Center at 0° Sagittarius), galactic_cmid (Galactic Center at mid-Mula, Wilhelm), galactic_cgil (Gil Brand), galactic_ccap (Cochrane), galactic_iau (galactic equator, IAU 1958), galactic_eq (galactic equator, true), galactic (galactic equator at Mula), galactic_fio (Fiorenza), galactic_mid (galactic alignment, Mardyks).
  • Fixed-epoch frames (3): j2000, j1900, b1950 — the zodiac frozen at that epoch's equinox.
  • Special frames (3): draconic, ra, custom — see below.

What changes when you go sidereal

Every output longitude — planets, Ascendant, MC, Vertex, house cusps — shifts back by the ayanamsa at the chart's date, and ayanamsaOffset in the summary becomes that value in degrees (it grows slowly over time; it is not a constant). Aspects do NOT change: the shift is a uniform rotation, so angular separations, aspect lists, and orbs are identical between tropical and sidereal — only the signs everything sits in change. The house system mechanics are also unchanged; the whole house frame shifts with the planets.

Same call switching only zodiac:

{
  "method": "natal",
  "birthData": {
    "year": 1990, "month": 1, "day": 1,
    "hour": 12, "minute": 0, "second": 0,
    "latitude": 51.517, "longitude": -0.133, "timezone": 0
  },
  "houseSystem": "placidus",
  "zodiac": "lahiri"
}
zodiacSun longitudeayanamsaOffset
"tropical"280.8143° (Capricorn 10°48′)null
"lahiri"257.0936° (Sagittarius 17°06′)23.7207°
"raman"258.5399° (Sagittarius 18°32′)22.2744°

Tropical Sun minus Lahiri Sun equals the Lahiri ayanamsa for the date, and every longitude shifts by the same amount — the Ascendant moves from 24.9451° to 1.2244°.

Special frames

  • "draconic": the chart is rotated so 0° Aries falls on the Moon's mean North Node. ayanamsaOffset stays null (it is not an ayanamsa); the summary labels the zodiac "Draconic".
  • "ra": positions in the right-ascension frame; no offset is applied.
  • "custom": a user-defined ayanamsa. It needs a companion customAyanamsa object — { "t0": <Julian day>, "ayanT0": <degrees at t0> } — which is currently accepted only by astro_render_ephemeris (table method). Passing "zodiac": "custom" to any other tool fails with a computation error, so do not use it outside that tool.

Tools that accept zodiac

astro_chart, astro_aspects, astro_chart_derived, astro_chart_pattern, astro_moment, astro_progressions, astro_render_ephemeris, astro_returns.

astro_render_vedic_grid and astro_timelord's dashas method are sidereal by nature — see their reference pages.