# 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`:

```json
{
  "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"
}
```

| `zodiac` | Sun longitude | `ayanamsaOffset` |
|---|---|---|
| `"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](../reference/tools/astro_render_ephemeris.md)
  (`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](../reference/tools/astro_chart.md),
[astro_aspects](../reference/tools/astro_aspects.md),
[astro_chart_derived](../reference/tools/astro_chart_derived.md),
[astro_chart_pattern](../reference/tools/astro_chart_pattern.md),
[astro_moment](../reference/tools/astro_moment.md),
[astro_progressions](../reference/tools/astro_progressions.md),
[astro_render_ephemeris](../reference/tools/astro_render_ephemeris.md),
[astro_returns](../reference/tools/astro_returns.md).

[astro_render_vedic_grid](../reference/tools/astro_render_vedic_grid.md) and
`astro_timelord`'s `dashas` method are sidereal by nature — see their
reference pages.

## Related

- [Birth data](./birth-data.md)
- [House systems](./house-systems.md)
- [Choosing a tool](./choosing-a-tool.md)
- [Reference](/reference.md)
