Age Calculator
Free age calculator to find your exact age in years, months, and days from your date of birth. Also shows total days lived and days until your next birthday.
Your birth date
Leave blank to use today's date
Your Age
Breakdown
What Does This Age Calculator Do?
This age calculator finds your exact age from a date of birth, expressed in complete years, months, and days — not just a rough estimate. It also shows the total number of days you've been alive and counts down the days remaining until your next birthday. It's useful for filling out forms, checking eligibility cutoffs (school enrollment, retirement, insurance), or simply satisfying curiosity about a milestone.
How to Use the Age Calculator
- Enter your date of birth using the date picker.
- Optionally set an "as of" date — leave this blank to calculate your age as of today, or pick a past or future date to check your age on a specific day.
- Click "Calculate Age" to see your age broken down into years, months, and days, plus total days lived and days until your next birthday.
The Method: Calendar-Aware Age Calculation
A common mistake is dividing the total number of days between two dates by 365.25 to estimate years. That approach drifts because months have different lengths (28 to 31 days) and years can be leap years. This calculator instead does the calculation the way a person would by hand:
- Start by subtracting birth year from the target year to get a candidate number of years.
- Subtract birth month from target month to get a candidate number of months.
- Subtract birth day-of-month from target day-of-month to get a candidate number of days.
- If the day subtraction goes negative, borrow one month and add the number of days in the previous calendar month (which correctly varies between 28 and 31 depending on the month and leap year).
- If the month subtraction goes negative after that, borrow one year and add 12 to the months.
This is the same "borrowing" logic used in manual subtraction, applied to the calendar instead of a simple base-10 number, so it correctly handles every month-length edge case, including February in leap versus non-leap years.
Worked Example
Suppose someone was born on June 15, 2000, and you want their age as of August 15, 2025:
- Years: 2025 − 2000 = 25
- Months: August (8) − June (6) = 2
- Days: 15 − 15 = 0
No borrowing is needed here since neither the day nor month subtraction goes negative, so the result is a clean 25 years, 2 months, 0 days. Total days lived works out to 9,192 days, and since the "as of" date falls exactly on the birthday, the days-until-next-birthday figure resets to a full year out (365 days, since 2026 is not a leap year).
Now consider a trickier case: someone born on February 29, 2000 (a leap day), with an "as of" date of August 15, 2025. Here the day subtraction (15 − 29) goes negative, so the calculator borrows a month and adds the number of days in July 2025 (31), then borrows a year because the month subtraction also goes negative. The result comes out to 25 years, 5 months, and 17 days — correctly accounting for the leap-day birth date without any special-casing needed in the borrowing logic itself.
Practical Notes
- All calculations use whole calendar days at midnight in your local time — there's no time-zone conversion, so results are based on the dates exactly as entered.
- The "days until next birthday" figure looks at the birth month and day only; if that date has already occurred this year (relative to your "as of" date), it rolls forward to next year automatically.
- For people born on February 29, JavaScript's date arithmetic rolls the birthday to March 1 in non-leap years — some people instead prefer to celebrate on February 28, so treat the exact day as approximate in those specific years.
- This tool doesn't store or transmit the dates you enter; all math happens in your browser.