Age Calculator

Knowing your exact age in years, months, and days is useful for a surprising range of situations: checking eligibility for age-restricted services, understanding pension or benefit entitlement windows, completing official forms that require an exact date of birth and age, or simply satisfying curiosity about how long you have been alive. Calendar arithmetic is trickier than it first appears because months have different lengths, leap years add an extra day every four years (with exceptions for century years not divisible by 400), and the definition of a "month" of age involves careful boundary handling at month-end dates. This calculator takes your date of birth and a reference date (which defaults to today) and computes your exact age broken down into years, months, and days using the same convention used in most legal and official contexts: a month is counted once the day-of-month in the reference date reaches or passes the day-of-month in the birth date. It also shows your age expressed as a total number of days lived, your total weeks, your total completed months, the day of the week on which you were born, and the number of days until your next birthday. You can also change the reference date to calculate how old you will be on any future date, or to verify an age at any past date.

You are -- years, -- months, -- days old.

Born on a --, --. Reference date: --.

Your date of birth
Calculate age on a specific date
Exact age--
Total days lived--
Total weeks lived--
Total months lived--
Day of week born--
Days until next birthday--

How exact age is calculated

The calculator computes the difference in years, months, and days between your date of birth and the reference date. It accounts for the number of days in each month and leap years.

years = refDate.getFullYear() - dob.getFullYear()
months = refDate.getMonth() - dob.getMonth()
days = refDate.getDate() - dob.getDate()
If days < 0: subtract 1 from months, add days in previous month
If months < 0: subtract 1 from years, add 12 to months

Worked example

Date of birth: 15 March 1995, reference date: 13 June 2026:

  1. Years = 2026 - 1995 = 31
  2. Months = 6 - 3 = 3
  3. Days = 13 - 15 = -2 (not yet 15 June in terms of day of month)
  4. Since days is negative, subtract 1 month (3 - 1 = 2) and add days in May (31): -2 + 31 = 29
  5. Result: 31 years, 2 months, 29 days

Understanding age in different ways

Age is expressed in multiple ways because different contexts require different precision. A person is 25 years old in common speech, but 25 years and 3 months when planning an event, and 9,150 days old from a pure time perspective.

The calculator shows all of these. Use years for formal purposes, years plus months plus days for detailed planning, and total days for calculating milestone ages.

Age calculator: frequently asked questions

What is the difference between age and days of life?

Age in years is the common social measure, typically calculated as completed years since birth. Days of life counts every day from birth to today, including partial years. For example, someone born 10 years and 3 months ago is 10 years old but has lived approximately 3,750 days.

Does the calculator account for leap years?

Yes. The JavaScript Date object automatically handles leap years (years divisible by 4, except century years unless divisible by 400). Leap days (29 February) are counted as real days.

Why does my age calculation show months and days?

Because age is not just years. If you are 25 years and 7 months old, saying you are 25 is technically correct but incomplete. The calculator shows the full breakdown so you know exactly where you are in your age cycle.

How is the next birthday calculated?

The calculator finds the next occurrence of your birth month and day. If that date has not arrived this year, it counts days until this year's birthday. If it has passed, it counts days until next year's birthday.

What day of the week was I born on?

The calculator shows this information. It uses the Gregorian calendar (the international civil calendar) and JavaScript's Date object, which aligns with historical Gregorian dates for years back to 1582.

Can I calculate the age at a different reference date?

Yes. The calculator defaults to today, but you can set a custom reference date. This is useful for calculating age on a past date or for planning purposes.

Official sources

Reviewed by the CalculatorHub team, edited by James Graham, 13 June 2026. See our methodology.