Home › Everyday Life › Zodiac Sign Calculator
Zodiac Sign Calculator
Looks up the tropical Western sun sign (with its conventional date range and a cusp flag) and the Chinese zodiac animal, heavenly-stem element and yin/yang polarity for a birth date, using the actual Chinese New Year dates from 1924 to 2044 so January and February births are assigned to the correct lunar year.
When to use
You need someone's star sign, whether they were born on a cusp, or their Chinese zodiac animal and element (e.g. Metal Horse) from a date of birth.
Do not use when: You need a full natal chart (moon or rising sign, which depend on time and place of birth) or the exact minute the Sun changed sign in a given year; for ages and birthdays use age.
Formula
sun_sign: tropical sign whose conventional date range contains (month, day): Aries 21 Mar–19 Apr, Taurus 20 Apr–20 May, Gemini 21 May–20 Jun, Cancer 21 Jun–22 Jul, Leo 23 Jul–22 Aug, Virgo 23 Aug–22 Sep, Libra 23 Sep–22 Oct, Scorpio 23 Oct–21 Nov, Sagittarius 22 Nov–21 Dec, Capricorn 22 Dec–19 Jan, Aquarius 20 Jan–18 Feb, Pisces 19 Feb–20 Mar. Chinese: lunar_year = year if birth_date ≥ Chinese New Year of that year, else year − 1; animal = (Rat, Ox, Tiger, Rabbit, Dragon, Snake, Horse, Goat, Monkey, Rooster, Dog, Pig)[(lunar_year − 1924) mod 12]; element = (Wood, Fire, Earth, Metal, Water)[floor(((lunar_year − 1924) mod 10) / 2)]; polarity = Yang if lunar_year is even else Yin
Western sign boundaries use the common calendar convention; the Sun's actual ingress varies by about a day from year to year, so dates within one day of a boundary are flagged as cusp. Chinese New Year dates 1924–2044 are taken from the Hong Kong Observatory lunar-calendar tables; 1924 (Jia-Zi, Wood Rat) starts the current sexagenary cycle.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
birth_date | date | yes | Date of birth (ISO 8601, YYYY-MM-DD). Chinese zodiac is available for dates from 1924-02-05 to 2044-01-29. |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
sun_sign | string | Tropical zodiac sign by calendar date. | |
sun_sign_dates | string | Conventional date range of the sign (boundaries can shift by a day between years). | |
sun_sign_element | string | Classical element of the sign: fire, earth, air or water. | |
on_cusp | boolean | true when the birthday is within one day of a sign boundary, so the real sign depends on the year and time of birth. | |
chinese_animal | string | One of the 12 earthly-branch animals (Rat … Pig) for the lunar year of birth. | |
chinese_element | string | Heavenly-stem element of the lunar year: Wood, Fire, Earth, Metal or Water (each covers two consecutive years). | |
yin_yang | string | Yang for even lunar years, Yin for odd lunar years. | |
chinese_zodiac | string | Combined label, e.g. 'Yang Metal Horse'. | |
lunar_year | integer | Chinese lunar year the birth falls in (Gregorian year of its New Year). | |
chinese_year_start | date | Chinese New Year that began the birth year. | |
chinese_year_end | date | Day before the next Chinese New Year. |
Example
Born 1990-05-17: {"birth_date":"1990-05-17"} → {"sun_sign":"Taurus","sun_sign_dates":"April 20 – May 20","sun_sign_element":"earth","on_cusp":false,"chinese_animal":"Horse","chinese_element":"Metal","yin_yang":"Yang","chinese_zodiac":"Yang Metal Horse","lunar_year":1990,"chinese_year_start":"1990-01-27","chinese_year_end":"1991-02-14"}
Born 2000-01-15 (before Chinese New Year 2000-02-05): {"birth_date":"2000-01-15"} → {"sun_sign":"Capricorn","on_cusp":false,"chinese_animal":"Rabbit","chinese_element":"Earth","yin_yang":"Yin","chinese_zodiac":"Yin Earth Rabbit","lunar_year":1999,"chinese_year_start":"1999-02-16","chinese_year_end":"2000-02-04"}
GET https://tttkmbb.com/api/v1/calculate/zodiac?birth_date=1990-05-17
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/zodiac(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/zodiac · Markdown: https://tttkmbb.com/everyday/zodiac.md · JSON definition: https://tttkmbb.com/everyday/zodiac.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="zodiac" - OpenAPI operationId:
classify_zodiac_signs - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
FAQ
Why does a January or February birthday get the previous year's animal?
The Chinese zodiac follows the lunisolar year, which starts on Chinese New Year (between 21 January and 20 February). Someone born on 15 January 2000 was born in the lunar year 1999, the Earth Rabbit, not the Metal Dragon.
What does 'on a cusp' mean?
The Sun enters each sign at a specific moment that shifts by about a day from year to year, so a birth within a day of the conventional boundary could belong to either sign; an ephemeris for the birth year and time settles it.
Is the Chinese element the same as the animal's fixed element?
No. This calculator reports the heavenly-stem element of the year (changes every two years); each animal also has a fixed branch element (e.g. Horse is fire) used in some traditions.
Related calculators
- Age Calculator — Exact age and next birthday from the same date of birth.
- Day of the Week Calculator — Weekday of the birth date.