Age Calculator

Updates automatically · Defaults to today — change "Age at" to compute age on any date

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

Frequently asked questions

How is age calculated across leap years?
Using the real calendar, including real leap years — not an approximation. The exact age (years, months, days) is a calendar decomposition: a year only counts as complete once the birth month and day have both been reached again, so a birthday that hasn't happened yet this year correctly holds the age at the PREVIOUS year's count until it does. Total days/weeks/hours lived are exact counts too, built on real leap days rather than a fixed 365.25-day average.
When is a February 29 birthday observed in a non-leap year?
March 1, in this tool. This is a genuine, unavoidable ambiguity — there is no universal answer, and different real-world legal and administrative systems use either February 28 or March 1. March 1 is the convention chosen here, for a specific reason: it's the date that keeps the exact-age figure and the next-birthday countdown in agreement with each other. Someone born February 29 is shown as not-yet-a-full-year-older on February 28 of a non-leap year, and exactly a full year older on March 1 — so the next-birthday date has to be March 1 too, or the two numbers on the page would contradict each other.
Can I calculate age at a past or future date, not just today?
Yes — the "Age at" field defaults to today but accepts any date. Set it to a past date to see how old someone was at a specific point (an anniversary, a historical event), or a future date to see how old someone will be (a wedding date, a milestone birthday). The one rule: the birth date can never be after the "Age at" date — that combination is rejected with a clear message rather than shown as a negative age, since a birth date literally can't be in the future relative to the date age is being measured at.
How many days or hours have I lived?
Shown directly, alongside the exact age: total days lived (an exact count, real leap days included), total weeks (days ÷ 7), and total hours (days × 24, always a whole number since both dates are calendar dates with no time-of-day component to round). Total months lived is shown too, but as an explicit average (days ÷ 30.436875, the Gregorian calendar's average month length) rather than a calendar count — a genuinely different, still useful, number from the exact years/months/days breakdown above it.
Is my birth date sent anywhere?
No. Every calculation runs entirely in your browser — nothing you enter is uploaded, logged, or sent to a server. A birth date is personal, but this tool treats it the same as any other date-only input: computed locally and never transmitted.