Age Calculator, Explained
After reading this you will be able to work out an exact age in years, months and days by hand, check the tool's answer, and avoid the calendar traps that make naive subtraction wrong.
What an exact age actually measures
Your age is the amount of time that has passed between your date of birth and some reference date. Most people quote it in whole years, but the honest answer has three parts: whole years, then the leftover whole months, then the leftover days. Someone born on 1990-03-15 and measured on 2024-06-10 is 34 years, 2 months and 26 days old. The whole-year figure alone throws away almost three months of information.
The reason this is harder than it looks is that months are not equal. February has 28 or 29 days, April has 30, and January has 31. You cannot divide the total number of days by a fixed month length and expect a clean answer. The correct method counts down the calendar the way a human would: full years first, then full months, then whatever days remain.
When to use it, and when not
Use an age calculation when you need the elapsed time expressed in calendar units that ordinary people recognise: a person's age, the age of an account, the time since an event. The three-part breakdown matches how ages appear on forms, medical records and legal documents.
Do not reach for it when you only need the raw gap between two dates in days or weeks. For that, a plain difference is clearer and avoids the month-length ambiguity entirely. If you need to count only business days, or you need the ISO week of a date, those are separate jobs handled by other tools listed below.
Age is always measured relative to a reference date. The tool defaults that reference to today, but you can set it to any date, for example to answer "how old will this child be on the first day of school".
The method, step by step
Write the birth date as (Y_b, M_b, D_b) and the reference date as (Y_r, M_r, D_r). Start by subtracting each component, then borrow when a component goes negative, exactly like subtracting multi-digit numbers.
Here D, M and Y are the raw differences in days, months and years. Any of them can come out negative, which is the signal to borrow.
If D \lt 0, add the number of days in the month before the reference month, and reduce M by one. If M is then negative, add 12 and reduce Y by one. The order matters: borrow days first, then months.
D' and M' are the corrected day and month counts. The phrase \text{days in month}(m, y) returns 28, 29, 30 or 31 depending on the month and whether the year is a leap year. That single lookup is where all the calendar irregularity lives.
A worked example you can reproduce
Born 1990-03-15, measured on 2024-06-10
These are the tool's demo defaults, so pressing Calculate reproduces every number here.
- Raw differences: Y = 2024 - 1990 = 34, M = 6 - 3 = 3, D = 10 - 15 = -5.
- D is negative, so borrow. The month before June is May, which has 31 days. New day count: D' = -5 + 31 = 26. Reduce months: M' = 3 - 1 = 2.
- M' is not negative, so no year borrow is needed. Years stay at
34. - Result: 34 years, 2 months, 26 days.
The total days lived is a separate, simpler count. From 1990-03-15 to 2024-06-10 is 12,506 days. That figure comes from counting every calendar day, including the leap days in 1992, 1996, 2000, 2004, 2008, 2012, 2016, 2020 and 2024, so it will not equal 34 \times 365.
Reading the four outputs
The tool reports four things. Each answers a different question.
- Years, months, days
- The calendar breakdown from the method above. This is what you say out loud when someone asks your age.
- Total days lived
- A flat count of calendar days. Useful for milestones like a 10,000-day birthday and immune to month-length quirks.
- Weekday of birth
- The day of the week your birth date fell on.
1990-03-15was a Thursday. - Countdown to next birthday
- The number of days from the reference date to the next occurrence of your birth month and day.
The chart below shows how total days lived grows against age in whole years. The line is nearly straight, but each leap year adds one extra day, so over 34 years the count runs ahead of a flat 365-per-year line by 9 days.
Common mistakes
The errors below produce answers that look plausible and are wrong by a few days.
Do not compute age as total days divided by 365. For the worked example that gives 12506 / 365 = 34.26 years, which rounds to the right whole number here but drifts by a full day roughly every four years and eventually flips the year for anyone born near a year boundary.
The second trap is borrowing the wrong month length. When the day field goes negative you must add the length of the month before the reference month, not the birth month and not a fixed 30. In the example you borrowed 31 from May, not 28 or 29 from February.
The third trap is the February 29 birthday. A person born on 2000-02-29 has no exact birthday in common years. This tool treats the birthday as reaching completion on February 28 in those years. Some jurisdictions use March 1 instead, which shifts the day count and the countdown by one day. Neither choice is "more correct"; they are different conventions, so state which one you are using when it matters legally.
Related tools on this site
If you only need the flat gap between two dates, or you want to add or subtract a span from a date, use the Date Difference Calculator. To count only business days between two dates with your own holiday list, use the Working Days Calculator. To find the ISO week number or the day-of-year for a date, use the Week Number Lookup.
Frequently asked questions
Why is my age in days not exactly my age in years times 365?
Because leap years add a day every four years. Over 34 years there are 9 leap days, so 34 years is 12,418 days from birthday to birthday, not 34 \times 365 = 12410.
How is the age handled if I was born on February 29?
In common years the tool completes the birthday on February 28. Some legal systems use March 1 instead. The difference is one day in the day count and the countdown.
Can I calculate age on a past or future date?
Yes. Set the reference date to any date. The same borrowing method works whether the reference is before or after today, as long as it is after the birth date.
Why does the tool also show the weekday I was born on?
The weekday is a common thing people want to know and costs nothing extra to compute from the date. 1990-03-15 was a Thursday.
Does anything I enter leave my browser?
No. The calculation runs locally in your browser and nothing you type is sent to a server.