Exact age in years, months and days plus next-birthday countdown.
Updated
Dates
Quick start
How to calculate exact age
Pick a date of birth (and optionally a reference date — defaults to today) and read the exact calendar age plus useful totals.
Step 1
Pick dates
Set the date of birth. The reference date defaults to today, but you can change it to any date.
Step 2
Read exact age & totals
See calendar age in years, months and days, plus total months, weeks, days, hours, minutes and seconds.
Step 3
See next birthday & milestones
Find out how many days until the next birthday, what weekday it falls on, and the next round-number milestones (10 000 days, 1 billion seconds, etc.).
In-depth guide
How to calculate exact age (and why simple subtraction is wrong)
"How old am I?" sounds like a one-line answer, but the right way to compute it requires walking the calendar day by day. This guide explains how this tool figures it out, the edge cases (leap days, end-of-month birthdays), and a few related metrics worth knowing.
The wrong way to do it
It's tempting to write:
age = currentYear − birthYear
But this overstates age by 1 for anyone whose birthday hasn't happened yet this year. Born in December 1990? In January 2024 you're still 33, not 34. Subtracting years also breaks completely when you cross month and day boundaries — try working out the age of someone born on a leap day if you want to feel the pain.
The right way: borrow across calendar units
This tool walks the calendar the same way you would on paper:
Subtract days first. If the result is negative, borrow from the months column — add the day-count of the previous month (which can be 28, 29, 30 or 31).
Subtract months next. If that's negative, borrow from the years column (12 months).
Subtract years last. By this point everything else is non-negative, so this is straightforward.
The result is a triple (Y, M, D) that satisfies D < days-in-prev-month and M < 12 — exactly what a human would say.
Leap days and Feb 29
About 1 in 1 461 people are born on Feb 29 (≈ 5 million worldwide). Their birthday only exists in years divisible by 4 (with the usual Gregorian carve-outs for centuries). This tool handles it the standard way:
The exact-age value still increments on Feb 29 in leap years, and on Mar 1 in non-leap years (when their "next birthday" lands).
The next-birthday countdown picks the next valid Feb 29 in the calendar, or Mar 1 if the current year isn't a leap year.
End-of-month birthdays follow the same logic: someone born on Jan 31 still "turns" on Jan 31 every year, regardless of February's length.
Useful totals & milestones
Below the exact age, this tool shows a handful of raw totals — how many seconds, minutes, hours, days, weeks and months have passed since the date of birth. They're satisfying in a useless-fact way ("I've been alive for over 1 billion seconds!") and occasionally useful for trivia, milestone planning or just calibrating intuition.
The milestones table picks out the closest round-number anchors: every 10 000 days, half a billion seconds, the next "big" birthday. Past and future are listed together, ranked by how close they are to the reference date.
Frequently asked questions
Is my data uploaded anywhere?
No. Age math runs entirely in your browser. Nothing is sent to a server, stored or logged.
How does the calculation work?
We compute calendar age by stepping years/months/days separately and borrowing across months when needed, exactly like a human would: subtract the day, borrow from the month if it went negative, subtract the month, borrow from the year. That way February is 28 (or 29) days, and a leap-day birthday lands on Feb 29 in leap years and Mar 1 the rest of the time.
What about people born on Feb 29?
In non-leap years, the next-birthday countdown lands on Mar 1 because Feb 29 doesn't exist. The exact-age value is unaffected — you still gain a year on Feb 29 / Mar 1 depending on which one the calendar offers.
Why does the total months number look odd?
Total months is years × 12 plus the residual months — i.e. how many full calendar months have elapsed. It doesn't include the dangling days. The total days figure is the more accurate raw count.
What's the reference date for?
By default it's today, so you get the live age. But you can set it to any date — useful for working out how old someone will be on a specific event, or how old a historical figure was at a specific moment.
Where do the milestones come from?
Standard nerd-fun anchors: every 10 000 days lived, the half-billion-second mark, the billion-second mark, and a few legal-age birthdays (18, 21, 30, 50, 65, 100). The list is sorted by how close it is to your reference date.
Why use this instead of just subtracting years?
Calendar age is not just (current year − birth year). Someone born in December 1990 is still 33 in January 2024, not 34, because their birthday hasn't come yet. Subtracting years overstates age by 1 for anyone whose birthday is later in the year.
Keep exploring
More tools you'll like
Hand-picked utilities that pair well with the one you're on — all
free, client-side, and zero-signup.