Home › Chinese Calendar › Chinese Nominal Age Calculator (虚岁)
Chinese Nominal Age Calculator (虚岁)
Computes the traditional Chinese nominal age (虚岁 xusui: one at birth, plus one at every Chinese New Year) alongside the completed-years age (周岁 zhousui), and finds the lunar birthday (农历生日), its Gregorian date in the current lunar year, the days to the next lunar birthday and the next 本命年.
When to use
You need someone's 虚岁 for a Chinese context (family, temple, almanac conventions), or the date of a lunar birthday in a given year.
Do not use when: You need the ordinary age in years, months and days (use age), or the zodiac sign details (use chinese-zodiac).
Formula
虚岁 = lunar_year(reference_date) − lunar_year(birth_date) + 1; 周岁 = reference year − birth year, minus 1 if the birthday has not yet occurred; lunar birthday in year Y = Gregorian date of (birth lunar month, birth lunar day) in lunar year Y
Ages follow the lunar-year count of the Chinese calendar (New Year at 正月初一, UTC+8); a leap-month birthday is observed in the regular month unless the same leap month recurs, and day 30 falls back to day 29 in 29-day months (a note says when this happens). Traditional calendar/cultural reference calculation; not a prediction, medical, legal or financial advice.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
birth_date | date | yes | Gregorian birth date (civil date in China Standard Time), 1900–2100. | |
reference_date | date | default today | Date on which to evaluate the ages; defaults to the current UTC date. |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
nominal_age_xusui | integer | sui | 1 at birth plus 1 for every Chinese New Year passed. |
actual_age_zhousui | integer | years | Completed years since the Gregorian birthday. |
lunar_birth_date | string | Birth date in the lunar calendar, e.g. 一九九〇年四月廿三. | |
lunar_birthday | string | Lunar month and day of birth, e.g. 四月廿三 (4th lunar month, day 23). | |
lunar_birthday_this_year | date | Gregorian date of the lunar birthday in the lunar year that contains reference_date (regular-month or day-29 fallback noted when needed). | |
next_lunar_birthday | date | Gregorian date of the next lunar birthday on or after reference_date. | |
days_to_next_lunar_birthday | integer | days | 0 when reference_date is the lunar birthday. |
current_lunar_year | string | Lunar year containing reference_date with its ganzhi and animal. | |
is_benmingnian_now | boolean | true when the current lunar year has the birth-year animal. | |
next_benmingnian_year | integer | Next lunar year after the current one with the same animal as the birth year. | |
zodiac | string | Animal of the lunar birth year. | |
year_ganzhi_birth | string | Sexagenary name of the lunar birth year with pinyin. |
Example
Born 1990-05-17, as of 2026-09-24: {"birth_date":"1990-05-17","reference_date":"2026-09-24"} → {"nominal_age_xusui":37,"actual_age_zhousui":36,"lunar_birthday":"四月廿三 (4th lunar month, day 23)","lunar_birthday_this_year":"2026-06-08","zodiac":"Horse (马)","year_ganzhi_birth":"庚午 (Gengwu)","next_benmingnian_year":2038}
Born 2026-01-01 (before CNY 2026-02-17), as of 2026-03-01: {"birth_date":"2026-01-01","reference_date":"2026-03-01"} → {"nominal_age_xusui":2,"actual_age_zhousui":0,"zodiac":"Snake (蛇)"}
GET https://tttkmbb.com/api/v1/calculate/lunar-age?birth_date=1990-05-17&reference_date=2026-09-24
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/lunar-age(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/lunar-age · Markdown: https://tttkmbb.com/lunar/lunar-age.md · JSON definition: https://tttkmbb.com/lunar/lunar-age.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="lunar-age" - OpenAPI operationId:
calculate_chinese_nominal_age - Freshness:
daily. Authentication: none. Rate limit: fair use (see rate limits).
Sources
FAQ
Why is 虚岁 sometimes two years more than my age?
You are 1 sui at birth and gain a year at each Chinese New Year rather than on your birthday, so shortly after New Year and before your birthday 虚岁 = 周岁 + 2.
What if I was born in a leap month or on the 30th?
The birthday is observed in the regular month of the same number (the leap month is used only in years where it recurs), and a 30th day becomes the 29th in a 29-day month; the output carries a note whenever a fallback is applied.
Related calculators
- Age Calculator — Exact age in years, months and days by the Gregorian calendar.
- Chinese Zodiac Calculator (生肖) — Zodiac sign, element and 本命年 list for the birth date.
- Lunar Calendar Converter (农历) — Full lunar date of the birth or reference date.