Age Calculator

Calculate your age down to the day

{{ __t('exact_age') }} {{ result.years }} {{ __t('years') }}, {{ result.months }} {{ __t('months') }}, {{ result.days }} {{ __t('days') }}
{{ __t('total_months') }} {{ result.totalMonths.toLocaleString() }}
{{ __t('total_weeks') }} {{ result.totalWeeks.toLocaleString() }}
{{ __t('total_days') }} {{ result.totalDays.toLocaleString() }}
{{ __t('total_hours') }} {{ result.totalHours.toLocaleString() }}
{{ __t('next_birthday') }} {{ result.nextBirthday }}

{{ __t('empty_state') }}

What does this age calculator do?

This age calculator computes the exact age between two dates — in years, months and days as well as the total in weeks, days and hours. By default it compares to today's date, but you can change the target date to find someone's age at any past or future point.

How does the calculation work?

The calculation runs entirely in your browser. Leap years and varying month lengths are handled correctly: years are subtracted first, then months, then days — if the day of the comparison date hasn't been reached in the current month, one month is borrowed from the previous year. The output follows the conventional notation 'X years, Y months, Z days old'.

Common use cases

  • Find exact age as of today
  • Age at a historic event (e.g. wedding, school start)
  • Days until next birthday
  • Prepare age information for official documents

How exact age is really counted

At first glance, calculating age looks trivial: current year minus birth year. In practice that is often wrong. Someone born on November 5, 1990 and checking on November 4, 2024 is still 33, not 34 — the birthday is one day away. A correct age calculator therefore has to look at year, month and day, and check whether the anniversary in the current year has actually passed.

Then there are leap years. A leap year has 366 instead of 365 days; the extra day is February 29. If you were born on February 29, you have no exact calendar birthday in non-leap years. The common international convention is to use March 1 or February 28 — both are legally and socially accepted. This calculator counts correctly between any two dates and gracefully shifts a missing leap-day birthday to the last day of February.

The years-months-days output is the everyday format. The aggregate outputs (total months, weeks, days, hours) are useful for statistical comparisons, sports records, legal deadlines, or simply to make the abstract size of a life span tangible. A 30-year-old has lived roughly 10,957 days or 262,974 hours — a perspective that puts a lot into context and is the data basis insurers, pension models and life planners rely on. Many professional contexts also demand exact ages: school enrollment cut-offs, reaching the age of majority, insurance tariffs with tiered entry ages, and pension models that count contribution years to the day. A tool that calculates to the calendar day is more precise here than the common 'year minus year' shortcut.

The exact formula

The calculation runs in three steps: take the year, month and day differences, then borrow backwards when any value goes negative. Pseudo-code:

years  = endYear  - startYear
months = endMonth - startMonth
days   = endDay   - startDay
if (days   < 0) { months--; days   += daysInPrevMonth(end) }
if (months < 0) { years--;  months += 12 }

Concrete examples

Five typical calculations you can use to sanity-check the age calculator:

  • Born 1985-03-15, target 2026-06-09 → 41 years, 2 months, 25 days (15,054 days, 361,296 hours).
  • Born 2000-02-29 (leap day), target 2025-02-28 → 24 years, 11 months, 30 days — in 2025 the birthday is observed on Feb 28 (non-leap year).
  • Born 2010-01-01, target 2024-12-31 → 14 years, 11 months, 30 days — the 15th birthday is one day away.
  • Born 1970-08-12, target 2020-08-12 → exactly 50 years, 0 months, 0 days (18,263 days due to 12 leap years and 38 common years).
  • Born 1995-11-06, target 2026-06-06 → 30 years, 7 months, 0 days — days until next birthday: 153.

Limits and edge cases

This calculator works purely in the proleptic Gregorian calendar. For birth dates before the Gregorian calendar was adopted (largely after 1582 in Germany, 1752 in the United Kingdom), day counts are inaccurate because the Julian calendar was in use back then. Time zones are not modeled either — if you were born at 23:55 in Tokyo and now live in Los Angeles, enter the birth date in local time, not UTC. Legal age thresholds (majority, retirement, insurance tariffs) follow extra national rules, including special handling for leap-day births. The results are an accurate auxiliary calculation, not legal or medical advice.

Frequently asked questions

How old am I exactly in days?
Enter your date of birth above. The 'Total days' field shows the calendar difference between birth and target date, including all leap days. For a 30-year-old the value is typically between 10,950 and 10,965 days depending on how many leap years were crossed.
Does the day of birth itself count?
Yes. The birth date is day 0; the next day you are one day old. Your reported age in years only increases once the month-day combination in the current year is reached or passed.
How is February 29 handled?
In non-leap years that date does not exist. The calculator then displays the birthday on Feb 28 — a widely used international convention. The day-by-day life span is unaffected because the calculator still counts the actual calendar days between two dates.
Are time zones taken into account?
No. The calculation is purely in calendar days, with no clock time. For most use cases that is correct, because a civil registry birth date is always issued in local time anyway.
Is my data private?
Yes. The calculation runs entirely in your browser; no date is ever sent to a server. The URL can optionally carry the dates as parameters so a result can be shared or bookmarked.
Can I calculate an age in the future?
Yes. Just enter a future date in the 'Compare to date' field — for example the day of legal majority, a planned retirement date or a travel date. The calculator returns the age at the chosen target date and the remaining time until then.

Related tools