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 is a convention, not just a subtraction

Calculating an age looks like simple subtraction until the edge cases arrive. The everyday Western method counts completed years since birth, so you turn a year older on the anniversary of your birth date and not a day before. That already hides quiet complexity: leap-day birthdays, and the question of whether the birthday itself counts as a completed year, are handled by convention rather than by arithmetic alone.

Different cultures reckon age differently, which is why a single 'correct' age does not exist worldwide. The traditional East Asian system counted a newborn as one year old and added a year at the lunar new year rather than on the birthday, so a person's stated age could differ by one or two years from the Western count. Legal and everyday usage have shifted toward the international method in many places, but the older reckonings still surface in family and cultural contexts.

For precise needs, age in months and days matters more than years: paediatric growth charts, medication dosing and eligibility cut-offs often turn on exact days. Time zones and the date line can even shift a birth date by a calendar day depending on where the birth is recorded, a reminder that the tidy number rests on a pile of conventions.

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.