Age Calculator
Find your exact age in years, months and days from your date of birth - plus your age expressed in total months, weeks and days, and a countdown to your next birthday. You can also set any reference date to find how old you were (or will be) on that day.
Defaults to today. Change it to find your age on any date.
How it works
The calculator subtracts your date of birth from the reference date using calendar-correct rules - borrowing days from the previous month and months from the year where needed - so the result accounts for different month lengths and leap years.
Example. Someone born on 1 January 2000, as of 1 June 2026, is 26 years, 5 months and 0 days old - about 317 total months.
Why month lengths matter
Because months range from 28 to 31 days, you can't simply divide total days by 30 to get a precise age. This calculator decomposes the gap month by month, so the years-months-days result is exact rather than an approximation.
Frequently asked questions
Does it account for leap years?
Yes. Because it works directly with calendar dates, leap years and varying month lengths are handled automatically, so the day count and your exact age are accurate.
Can I find my age on a future or past date?
Yes. Change the 'Age at date' field to any date to see how old you were on a past date or will be on a future one.
Related calculators
Embed this calculator
Free to use on any site. Please keep the credit link.
<iframe
id="letmecalc-age-calculator"
src="https://letmecalc.com/embed/math/age-calculator"
title="Age Calculator"
width="100%"
height="620"
style="border:0;max-width:100%"
loading="lazy"
></iframe>
<p><a href="https://letmecalc.com/math/age-calculator" target="_blank" rel="noopener">Age Calculator</a> by letmecalc</p>
<script>
(function () {
var f = document.getElementById("letmecalc-age-calculator");
window.addEventListener("message", function (e) {
if (e.origin !== "https://letmecalc.com") return;
if (!f || e.source !== f.contentWindow) return;
var d = e.data;
if (!d || d.source !== "letmecalc-embed" || d.type !== "resize") return;
if (typeof d.height === "number" && d.height > 0) {
f.style.height = d.height + "px";
}
});
})();
</script>