Age Calculator
Updates automatically · Defaults to today — change "Age at" to compute age on any date
Born on a leap day (Feb 29): in non-leap years, this tool observes the birthday on March 1 — see the FAQ for why.
- Total days lived
- —
- Total weeks lived
- —
- Total months lived (avg.)
- —
- Total hours lived
- —
- Next birthday
- —
- Falls on a
- —
- Days until
- —
Exact age is more specific than it first sounds. “How old is someone” usually means a calendar-anchored breakdown — years, months, and days, counted the way a birthday actually works: a year is only complete once the birth month and day have both come back around. This tool computes that breakdown directly from a birth date, rather than just subtracting years, which is why the day of a birthday matters down to the exact date, not just the year.
Total time lived is a different, separately useful figure. Alongside the years/months/days breakdown, this tool shows total days, weeks, and hours lived — exact counts, not approximations, since every day in the span is a real calendar day (leap days included where they fall). Total months lived is the one figure shown as an explicit average instead (days ÷ 30.436875, the Gregorian calendar’s average month length) — a genuinely different kind of number from the exact breakdown, useful for a quick “roughly how many months old” figure rather than a precise count.
The leap-day birthday convention is a real, documented choice, not an oversight. Someone born February 29 has no birthday to observe in a non-leap year — there is no February 29 that year at all. This tool observes it on March 1, chosen specifically so the exact-age figure and the next-birthday countdown always agree with each other (both tick over on the same date). A different, equally valid convention (February 28) exists and is used elsewhere; this is stated plainly rather than presented as the one correct answer, since there genuinely isn’t one.
Next birthday shows the exact date of the upcoming birthday, which day of the week it falls on, and how many days remain — including showing “Today!” precisely on the birthday itself, not a rollover to next year. A birth date after the “Age at” date is rejected outright, not shown as a negative age: age has a direction (birth happens, then time passes), so that combination is always a genuine input mistake, surfaced with a clear message rather than a confusing number.
Nothing here updates by the second — age doesn’t meaningfully change second-to-second, so results recompute only when a date actually changes, not on a running clock. Nothing is sent anywhere: every calculation runs entirely in your browser.
Examples
- A standard age check — enter any birth date with "Age at" left on today's date for an immediate exact age, total days/weeks/hours lived, and next-birthday countdown all at once.
- A leap-day birthday (born February 29) — set the birth date to a February 29 in any leap year and "Age at" to February 28 of the following year to see the documented convention directly: not yet a full year older that day, exactly a full year older the next day (March 1).
- Age at a specific past or future date — set "Age at" to a historical date to see how old someone was then, or a future date (a wedding, a milestone) to see how old they'll be. For a duration between two arbitrary dates that aren't birth-to-now (no birthday semantics involved), <a href="/tools/date-duration-calculator">Date Duration Calculator</a> is the more direct tool.