HomeChinese Calendar › Chinese Zodiac Calculator (生肖)

Chinese Zodiac Calculator (生肖)

Finds the Chinese zodiac animal (生肖 shengxiao), sexagenary year (干支 ganzhi), stem element, yin/yang, nayin (纳音) and fixed element for a birth date, using either the Chinese New Year boundary or the 立春 (Lichun) boundary, plus the traditional relationship groups (六合, 三合, 六冲, 六害, 相刑) and 本命年 years.

When to use

You need someone's Chinese zodiac sign and element from a Gregorian birth date, especially for January–February births where the boundary matters, or the sign's traditional compatibility groups.

Do not use when: You need a full Bazi chart with month, day and hour pillars (use bazi-four-pillars), or the Western star sign (use zodiac).

Formula

year_used = Gregorian year, minus 1 when birth_date is before Chinese New Year (or before 立春 with boundary = lichun); ganzhi index = (year_used − 4) mod 60; animal = branch = index mod 12; 六合 partner = (13 − b) mod 12; 三合 = b ± 4; 六冲 = b + 6; 六害 partner = (7 − b) mod 12

Popular usage starts the zodiac year at Chinese New Year; Chinese astrology (Bazi) starts it at 立春, so a person born between the two dates can have a different sign under each convention. Relationship groups follow the classical branch tables (六合 子丑 寅亥 卯戌 辰酉 巳申 午未; 三合 申子辰 亥卯未 寅午戌 巳酉丑; 六冲 opposite branches; 六害 子未 丑午 寅巳 卯辰 申亥 酉戌; 相刑 寅巳申, 丑戌未, 子卯, 自刑 辰午酉亥). Traditional calendar/cultural reference calculation; not a prediction, medical, legal or financial advice.

Inputs

ParameterTypeUnitRequiredDescription
birth_datedateyesGregorian birth date (civil date in China Standard Time), 1900–2100.
boundaryenum: lunar_new_year | lichundefault lunar_new_yearWhich event starts the zodiac year: Chinese New Year (popular usage, default) or 立春 around 4 February (astrological usage).
reference_yearintegernoOptional Gregorian year for which to report the age and whether it is a 本命年. Range: ≥ 1900, ≤ 2100

Outputs

OutputTypeUnitDescription
zodiacstringAnimal sign in English.
zodiac_cnstringAnimal sign character.
year_ganzhistringSexagenary year, e.g. 庚午.
year_ganzhi_pinyinstringPinyin, e.g. Gengwu.
year_englishstringStem element and animal, e.g. Metal Horse.
stem_elementstringElement of the heavenly stem with its character.
yin_yangstringPolarity of the stem (and branch) of the year.
nayinstringNayin melodic element of the year ganzhi.
animal_fixed_elementstringElement of the earthly branch: Rat Water, Ox Earth, Tiger Wood, Rabbit Wood, Dragon Earth, Snake Fire, Horse Fire, Goat Earth, Monkey Metal, Rooster Metal, Dog Earth, Pig Water.
year_usedintegerYear number the birth date was assigned to under the chosen boundary.
chinese_new_year_datedateDate of 正月初一 in the Gregorian year of birth.
lichun_datetimestringInstant of 立春 in the Gregorian year of birth (China Standard Time).
boundary_notestringWhether the birth date fell before or after the chosen boundary, and what the other convention would give.
benmingnian_yearsstring_listZodiac years of the same animal from the birth year to birth year + 96, with their ganzhi.
secret_friendstringSix-harmony partner of the sign.
trine_partnersstringThe two other signs of the same triangle of affinity.
clashstringOpposite sign on the 12-branch circle.
harmstringSix-harm counterpart of the sign.
punishmentstringPunishment partners: 寅巳申 and 丑戌未 groups, the 子卯 pair, or self-punishment (自刑) for 辰午酉亥.
age_in_reference_yearintegeryearsAge reached on the birthday in reference_year (reference_year − Gregorian birth year); only when reference_year is given.
is_benmingnian_in_reference_yearbooleantrue when the zodiac year numbered reference_year has the same animal as the birth year; only when reference_year is given.
reference_year_zodiacstringGanzhi and animal of the year numbered reference_year; only when reference_year is given.

Example

1990-02-10, New Year boundary (CNY 1990-01-27): {"birth_date":"1990-02-10","boundary":"lunar_new_year","reference_year":2026}{"zodiac":"Horse","zodiac_cn":"马","year_ganzhi":"庚午","year_ganzhi_pinyin":"Gengwu","year_english":"Metal Horse","year_used":1990,"chinese_new_year_date":"1990-01-27","secret_friend":"Goat (羊)","clash":"Rat (鼠)","age_in_reference_year":36,"is_benmingnian_in_reference_year":true}

1990-02-03 with the 立春 boundary (立春 1990-02-04): {"birth_date":"1990-02-03","boundary":"lichun"}{"zodiac":"Snake","year_ganzhi":"己巳","year_used":1989,"year_english":"Earth Snake","trine_partners":"Rooster (鸡) and Ox (牛)"}

GET https://tttkmbb.com/api/v1/calculate/chinese-zodiac?birth_date=1990-02-10&boundary=lunar_new_year&reference_year=2026

Machine access

Sources

FAQ

Which boundary should I use?

For the popular zodiac sign (new-year greetings, birth-year animal) use Chinese New Year. For Bazi/Four Pillars charts and most feng shui schools use 立春 (about 4 February); only births between 立春 and Chinese New Year (or vice versa) are affected.

What is the 'fixed element' of an animal?

The element of the animal's earthly branch (e.g. Horse = 午 = Fire), which never changes; the stem element (Metal Horse, Fire Horse …) cycles with the year.

What is a 本命年?

A year with the same animal as your birth year (every 12 years, e.g. ages 12, 24, 36 …). Tradition treats it as a year to take care in; this is a cultural reference, not a forecast.

Related calculators