Age Calculator
Calculate exact age in years, months, and days between a date of birth and a reference date.
How It's Calculated
Formula
\text{age} = \text{calendarMonths}(\text{birth} \to \text{reference}),\ \text{clamped to month length}Age is computed with true calendar arithmetic, not fixed-length approximations (a year is never treated as 365 days, a month never as 30 days). The calculator finds the largest whole number of calendar months from the date of birth that does not exceed the reference date, adding each month to the birth date and clamping the day-of-month to that target month's actual length (for example, a birth date of Jan 31 plus one month lands on Feb 28 in a non-leap year, or Feb 29 in a leap year). This same clamping rule handles a Feb 29 date of birth automatically: in a non-leap reference year, the yearly anniversary clamps down to Feb 28, so a person born on Feb 29 turns a year older on Feb 28, and any days between Feb 28 and the reference date are added as extra days. The remaining months are then split into years and months, and any leftover days between the last full month and the reference date become the days figure. Total days elapsed is also reported as a separate, independent count — the exact number of calendar days between the two UTC-normalized dates.
Worked Examples
Ordinary birthday: born Jun 15, 2000, as of Sep 12, 2026
- Whole months from Jun 15, 2000 to Sep 12, 2026: 26 years and 2 months would land on Aug 15, 2026.
- Aug 15, 2026 does not exceed Sep 12, 2026, so 26 years 2 months is accepted.
- Remaining days from Aug 15, 2026 to Sep 12, 2026: 28 days.
- Result: 26 years, 2 months, 28 days.
Feb 29 date of birth: born Feb 29, 2028, as of Feb 28, 2029 (non-leap year)
- One year after Feb 29, 2028, clamped to a non-leap February, lands on Feb 28, 2029.
- Feb 28, 2029 equals the reference date exactly, so 1 year 0 months is accepted with 0 remaining days.
- Result: 1 year, 0 months, 0 days — the Feb 29 date of birth's yearly anniversary is Feb 28 in a non-leap year.
Frequently Asked Questions
What happens if someone is born on Feb 29?
In a non-leap reference year, the calculator treats Feb 28 as the yearly anniversary (the day-of-month is clamped down to the last valid day of February). A reference date of Mar 1 in that year is therefore reported as 1 day past the anniversary, not exactly on it.
Why doesn't a year always equal 365 days?
The years/months/days figures are calculated using real calendar months and years, which vary in length (28-31 days per month, 365 or 366 days per year). Only the separate Total Days figure is a raw day count.
What if the date of birth is the same as the reference date?
The result is 0 years, 0 months, 0 days, and 0 total days.
What happens if the date of birth is after the reference date?
The calculator reports a validation error instead of computing a negative age.
Does this include hours or minutes?
No. Both dates are entered as calendar dates only (no time of day), so reporting hours or minutes would falsely imply a precision the inputs don't actually have. Total Days is the most granular figure provided.