How to Calculate Age From Date of Birth (Years, Months, Days)

Short answer
Subtract the birth year from the current year, then subtract 1 if this year’s birthday has not happened yet. For exact age, count whole years first, then whole months, then the remaining days. Someone born on 15 March 1990 is 36 years, 6 months and 20 days old on 5 October 2026.
Working out someone’s age in years is easy most of the time, but forms, school admissions, insurance and legal documents often need the exact age in years, months and days, or the age on a particular date in the past or future. Months have different lengths and leap years add an extra day, so it helps to follow a clear method. Here it is, with examples and spreadsheet formulas.
Age in whole years
- Subtract the birth year from the current year.
- If the birthday has not happened yet this year, subtract 1.
Someone born on 15 March 1990: 2026 − 1990 = 36. On 5 October 2026, the birthday in March has already passed, so the age is 36. On 1 February 2026, the birthday had not yet arrived, so they were still 35.
Exact age in years, months and days
Count in three stages, largest unit first.
- Whole years: step forward from the birth date one year at a time without passing today. From 15 March 1990 to 15 March 2026 is 36 years.
- Whole months: step forward month by month from 15 March 2026 without passing today. 15 April, 15 May … 15 September 2026 is 6 months.
- Remaining days: count the days from 15 September to 5 October 2026. September has 30 days, so that is 15 days to the end of September plus 5 days in October = 20 days.
Result: 36 years, 6 months and 20 days. Our age calculator does exactly this, and it also shows the age in total months, weeks and days and the number of days until the next birthday.
Calculating age on a specific date
Many forms ask for your age on a cut-off date, such as 1 September for school entry or the start date of an insurance policy. Use the same method, but replace “today” with the cut-off date. The age calculator has an “age at the date of” field for this.
Tricky cases and how they are handled
Leap-day birthdays (29 February)
In years that are not leap years there is no 29 February. Different countries and organisations treat the birthday as either 28 February or 1 March for legal purposes. Calculators usually pick one convention and stick to it. If the exact day matters for a legal or official purpose, check the rule that applies where you live.
Birthdays at the end of a month
If someone was born on 31 January, one month later there is no 31 February. Most date tools treat the month as complete at the end of February and count the remaining days from there. Spreadsheet functions follow similar rules, but two tools can occasionally differ by a day in these edge cases. Neither is “wrong”; they use different conventions.
Time zones
A person born just before midnight in one time zone may technically be born on a different date elsewhere. For everyday purposes, use the date on the birth certificate.
How to calculate age in Excel
Excel has a function called DATEDIF that is designed for this. With the date of birth in cell A2:
- Age in whole years:
=DATEDIF(A2, TODAY(), "Y") - Remaining months after whole years:
=DATEDIF(A2, TODAY(), "YM") - Remaining days after whole months:
=DATEDIF(A2, TODAY(), "MD")
Combine them for a readable result: =DATEDIF(A2,TODAY(),"Y")&" years, "&DATEDIF(A2,TODAY(),"YM")&" months, "&DATEDIF(A2,TODAY(),"MD")&" days". Microsoft’s documentation notes that the “MD” option can give inaccurate results in some cases, so double-check end-of-month dates with a calculator. To calculate age on a specific date, replace TODAY() with that date or a cell containing it.
A common shortcut, =INT((TODAY()-A2)/365.25), gives the age in years but can be off by one around birthdays. DATEDIF with “Y” is more reliable.
How to calculate age in Google Sheets
Google Sheets supports the same DATEDIF function and units. Make sure the date of birth cell is formatted as a date, not text, or the formula will return an error. If you get odd results with day/month order (for example 03/04 read as 4 March instead of 3 April), check the spreadsheet’s locale setting.
Age in total days, weeks or months
Sometimes you need the age as a single number, for example the number of days a baby has been alive, or months for a child’s development chart. Subtract the dates to get total days, divide by 7 for weeks, and use whole months from the method above for months. The date difference calculator gives all of these units at once for any two dates.
Counting down to the next birthday
To find how many days until a birthday, subtract today’s date from the next birthday. If you want a live countdown for a party or milestone, use the countdown timer. For more date maths, including inclusive versus exclusive counting, read date calculations explained.
Common mistakes
- Subtracting years without checking whether the birthday has passed.
- Dividing days by 365 and rounding, which drifts because of leap years.
- Mixing up day/month order in dates written as numbers.
- Typing the date of birth as text in a spreadsheet so formulas fail.
Frequently asked questions
How do I calculate my exact age?
Count whole years from your date of birth, then whole months, then the remaining days. An age calculator does this instantly and handles different month lengths and leap years.
What is the Excel formula to calculate age from date of birth?
=DATEDIF(A2, TODAY(), "Y") gives age in whole years when the date of birth is in A2. Use "YM" for extra months and "MD" for extra days.
How is age calculated for people born on 29 February?
In non-leap years, the birthday is usually treated as 28 February or 1 March, depending on the convention or law that applies. Calculators choose one rule consistently.
Why do two age calculators sometimes differ by one day?
Usually because of end-of-month dates, where tools use slightly different conventions for counting a month. Both answers can be reasonable.
How do I calculate age on a specific date?
Use the same method but replace today’s date with the target date. Our age calculator has a field for the date you want the age at.