Age Calculator

Age Calculator

Calculate exact age in years, months, days from birthdate. Find days between two dates, upcoming birthday countdown. Free online age calculator

Calculating someone's age looks like (today − birthdate) until you hit February 29. Someone born on 2000-02-29 — when is their birthday in a non-leap year? Most apps pick March 1; some pick February 28; one major government system splits the difference and says "varies by jurisdiction". This calculator shows the exact age in years, months, and days, applies the leap-day convention you select (consistent with how most legal systems treat it), and tells you how many days until the next birthday.

What "age" actually means

In every Western legal system, age increments on the anniversary of your birth — the day before your birthday, you are N; the day of, you are N+1. For non-leap-day birthdays this is unambiguous. For leap-day births, jurisdictions differ:

  • UK / Hong Kong / New Zealand — you "age" on March 1 in non-leap years.
  • Taiwan — you age on February 28 in non-leap years.
  • US — varies by state and context (driver's licenses often March 1, contracts often February 28).
  • Most software — pick one of the two and document. The choice rarely matters except for the ~0.07% of people born on Feb 29.

Other parts of the world have additional complications. East Asian age (한국식 나이) used to count from 1 at birth and increment every Lunar New Year regardless of birthday — South Korea legally switched to international age in 2023, but cultural use persists in some contexts.

Working example

Input

Birth date: 1990-08-15
As of:      2026-05-14

Output

Exact age:  35 years, 8 months, 29 days
In total:   13,061 days
           or 313,464 hours
           or 18,807,840 minutes

Next birthday: 2026-08-15 (in 93 days, on a Saturday)

Zodiac:        Western: Leo (Jul 23 – Aug 22)
               Chinese: Horse (1990 = year of the Horse)

Day count crosses the 2020 leap day, 2024 leap day, and 2000 leap day (year 2000 IS a leap year because it is divisible by 400 — many people get this wrong because the "divisible by 100" rule says it would not be).

Time-zone and DST gotchas

  • Birth time recorded in the local time of birth — but if someone moves to a different timezone, "their birthday" in their new local time may shift by a day. Most apps ignore this; if you are computing legal age across borders, anchor to UTC or the birth-location time zone.
  • DST transitions never change the date, only the hour. Age in days is unaffected. Age in hours is off by ±1 across each DST event.
  • Historical timezone changes — some countries changed timezones (Turkey 2016, North Korea 2015, Russia repeatedly). For people born under the old timezone, library dates may shift. Use IANA tzdb-aware libraries (Luxon, date-fns-tz, java.time) instead of ad-hoc math.

When to reach for this tool

  • You are doing paperwork that asks for exact age (or "age at as-of date") and want a single source of truth across years/months/days.
  • You are calculating "days until retirement" or "days until a milestone date" and want both inputs and outputs to validate against a calendar.
  • You are debugging an age-validation form in your app and need a reference value for known birth dates.
  • You are curious about cultural age conventions (Korean age before 2023, Chinese zodiac year cycles) for a specific birthdate.

What this tool will not do

  • It will not predict life expectancy. "How long do I have left" is statistical, depends on geography, gender, lifestyle, and family history. Insurance-grade actuarial tables exist but are out of scope.
  • It will not handle non-Gregorian calendars natively. Hebrew, Hijri, Persian, and Chinese lunisolar calendars all have their own rules; conversions exist but are date-library specific.
  • It will not validate that the input date is "possible" beyond range checking. Garbage input (year 4000 future date, year 0 past date) is accepted and computed against; the math is correct, the semantics are your problem.

All computation happens locally. Birth dates entered are not transmitted or stored.

Frequently asked questions

Why is my age in days different from "years × 365"?

Because of leap days. A 35-year-old has lived through 8-9 leap years (the exact count depends on which years and whether they crossed Feb 29). 35 × 365 underestimates by 8-9 days. The exact calculation walks each year.

Is 2100 a leap year?

No. Years divisible by 100 are NOT leap years UNLESS also divisible by 400. So 2000 was a leap year; 2100, 2200, 2300 are not; 2400 will be. The next "skipped" leap year after 1900 is 2100 — over a century away, which is why this rule trips so many people.

When does someone born on Feb 29 legally turn 18?

In most US states and UK law, on March 1 of their 18th-non-leap year (or Feb 29 if it happens to be one). The Taiwan convention is Feb 28. For contractual purposes, when in doubt, treat them as 18 starting Feb 28 to avoid disputes — they are unambiguously not 17 on Mar 1 in either convention.

How does Korean age work?

(Before June 2023 reform) you were 1 at birth and added 1 every January 1. So a baby born on Dec 31 was 2 days old on Jan 2 but "2 years old" in Korean reckoning. The 2023 reform makes "international age" the legal standard for most purposes, though cultural age persists conversationally.

Why is age in "months" tricky?

Months have different lengths (28-31 days). A baby born on Jan 31 is "one month old" on Feb 28 or Mar 3 depending on convention. Most calculators report "calendar month difference" — Jan 31 to Feb 28 = 0 months 28 days, then on Mar 1 it becomes 1 month 1 day. Awkward but standard.

How accurate is the day count across centuries?

For dates in the Gregorian calendar (post-1582 in Catholic countries, later elsewhere) the math is exact. Earlier dates need conversion from Julian to proleptic Gregorian, and historical-date libraries handle that. For typical 20th-21st century inputs, the day count is exact.

Related tools

Last updated · E-Utils editorial team