Overview
Enter a birth date and an optional "as of" date (defaulting to today) to see age broken down into years, months, and days - not just a rounded year count - alongside the total number of days lived and how many days remain until the next birthday. The year/month/day breakdown is computed by comparing calendar fields directly and borrowing from the next unit when a component goes negative (the same logic you’d do by hand: "if today’s day-of-month is earlier than the birth day, borrow a month"), so it correctly accounts for varying month lengths and leap years rather than relying on a fixed average days-per-month. Useful for calculating exact age for legal or medical forms, figuring out how many days until a birthday, or satisfying curiosity about a total day count. Runs entirely client-side.
Best for: Calculating exact age for a legal or medical form
How to use this tool
- Enter a birth date. Pick the date using the date field.
- Optionally set an "as of" date. Defaults to today, but can be changed to calculate age on any other date.
- See the full breakdown. Years, months, and days are calculated by comparing calendar fields directly.
- Check the extras. Total days lived and days until the next birthday are shown alongside the main result.
Why use this tool
Calendar-accurate math
Correctly accounts for varying month lengths and leap years instead of using a fixed average.
More than just years
Shows years, months, days, total days lived, and days until the next birthday together.
Any reference date
Calculate age as of a past or future date, not just today.
Exact, not approximate
Useful for legal or medical forms that need a precise age, not a rounded figure.
Frequently asked questions
Rather than assuming a fixed number of days per month, the calculator compares actual calendar dates directly - when the day-of-month component would go negative (say, comparing the 10th to the 25th of the previous month), it borrows a month and adds the correct number of days from whichever specific month is being borrowed from, so February’s 28 or 29 days and other months’ 30 or 31 days are handled correctly rather than approximated.
Yes - the "as of" date field defaults to today but can be changed to any date, which is useful for calculating what someone’s age was (or will be) on a specific date, like determining age at the time of a past event or an upcoming eligibility deadline, rather than only ever showing current age.