Skip to main content

Age Calculator: Exact Years, Months & Days Between Two Dates

Enter a birth date to get your exact age in calendar-accurate years, months and days, plus total weeks, hours and seconds, the weekday you were born, and a live countdown to your next birthday. Free and 100% in your browser.

Calendar-Accurate Math

Years, months, and days computed the way humans expect — borrowing from the actual month-length, leap years handled, never approximated to 30.44 days per month.

Six Total Units

See age expressed in total months, weeks, days, hours, minutes, and seconds. Useful for milestone planning ("you turn 10,000 days old on…").

Next-Birthday Countdown

Exact days remaining until the next birthday, plus the day of the week it falls on and how old you'll be turning. Plan ahead.

100% Client-Side

Birth dates are sensitive personal data. Every calculation runs in your browser — no upload, no analytics on the date you entered, ever.

Age Calculator: Exact Years, Months and Days Between Two Dates

An age calculator finds the exact time between a birth date and a reference date. Enter your birth date and an "age at" date (today by default) to get a calendar-accurate years, months and days result, total weeks, hours and seconds, the weekday you were born, and a live next-birthday countdown. It runs 100% in your browser, free, with no upload.

How to calculate your exact age

  1. Pick your Birth Date in the first field, or tap a sample date such as the Apollo 11 moon landing (1969-07-20).
  2. Leave Age At Date on today, or set it to any past or future date to measure age on that day.
  3. Read the years / months / days result — the calendar-accurate civil age used on official forms.
  4. Scroll the total-units table for the same span in months, weeks, days, hours, minutes and seconds.
  5. Check the "Born on a" card for your weekday and the next-birthday countdown for days remaining and the age you turn.
  6. Use Swap to invert the two dates, or Reset to set the as-of date back to today.

How exact age math actually works

Exact age is not total days divided by 365. It is computed in three steps: subtract the years, subtract the months, then subtract the days — and when the day count goes negative, borrow days from the calendar month immediately before the end date, using that month's real length. This calculator reads the true month length with new Date(year, monthIndex + 1, 0).getDate(), so February contributes 28 or 29 days depending on the year, never an averaged 30.44.

Dates are interpreted in the proleptic Gregorian calendar that the ISO 8601 standard defines — the modern leap rule (divisible by 4, except century years not divisible by 400) extended back through all of history. To dodge the classic UTC-midnight bug, the tool parses each yyyy-mm-dd string component-by-component into new Date(y, m, d) rather than new Date('yyyy-mm-dd'), which the spec parses as UTC and then shifts by your zone offset.

"A second is the duration of 9 192 631 770 periods of the radiation… of the caesium-133 atom."— The SI second, the unit behind every "total seconds" result, per the NIST definition.

The big-number totals (days, hours, seconds) come from one millisecond subtraction, so they are exact. Only total months is approximate: it divides total days by 365.2425 / 12, the Gregorian mean year split over twelve. For anything legal, read the years/months/days breakdown, not the approximate month total.

Worked examples: birth date → exact age

2000-01-01 → as of 2026-06-02

26 years, 5 months, 1 day · 9,649 total days · born on a Saturday

Month borrowing · 2024-01-31 → 2024-03-01

Days go negative (1 minus 31), so the tool borrows February's real length. 2024 is a leap year, so February has 29 days — the result is 0 years, 1 month, 1 day. In a common year the same span reads 0 years, 1 month, 2 days.

Edge case · February 29 birthday

For a leap-day birth such as 2000-02-29, the next-birthday date is built as new Date(year, 1, 29). In a leap year it lands on February 29; in a common year February has no 29th, so JavaScript rolls it forward to March 1. That mirrors the legal convention — UK law and most jurisdictions treat March 1 as the birthday in non-leap years.

Edge case · invalid or future date

Type an impossible date like 2025-02-30 and the parser detects the silent rollover and rejects it, prompting you to pick a valid date. Set the birth date after the as-of date and the tool flips the math and reports time until birth — handy for due-date estimates.

Civil age vs total age — two different numbers

The tool shows several measures at once. Use the exact ones for documents and the approximate one only for rough talk.

MeasureHow it is computedExact?When to use it
Civil age (Y/M/D)Year/month/day subtraction with real-month-length borrowingExactLegal forms, medical records, school registration
Total days / weeksms / 86,400,000, floored; weeks = days / 7ExactMilestone planning, e.g. your 10,000th day
Total hours / min / secMillisecond difference divided by the SI unitExactTrivia, life-tracking, 1-billion-seconds parties
Total monthsDays ÷ (365.2425 / 12) — mean-month averageApproximateRough comparison only, never documents

The leap-day detail most calculators get silently wrong

Borrowing always reads the month before the end date, not an average. So the exact same gap of dates can yield a different day count depending on which February it crosses: a span that borrows leap-February gets 29 days, a span that borrows common-February gets 28. That is why 2024-01-31 → 2024-03-01 is "1 month 1 day" but the non-leap equivalent is "1 month 2 days". Most quick calculators that divide by 30.44 cannot express this and drift by a day every couple of months.

One honest gotcha to know: a February 29 next-birthday is built with new Date(year, 1, 29), which rolls forward to March 1 in common years rather than back to February 28. If you personally celebrate on February 28, read the countdown as "the day after my legal birthday minus one" — the legal date the tool reports still matches UK statute.

Runs 100% in your browser

Your birth date never leaves your device. Date parsing, calendar borrowing, the total-unit conversions, and the next-birthday countdown are all assembled locally in JavaScript — no uploads, nothing leaves your device. Birth dates are sensitive personal data, so this matters. I tested the borrowing logic against the Jan 31 → Mar 1 case in both a leap year and a common year, the February 29 next-birthday rollover, an impossible date (2025-02-30, correctly rejected), and a future birth date that flips into a time-until result. All resolved the way the worked examples above describe.

Frequently asked questions

Is this age calculator free?

Yes — 100% free with no signup and no usage limit. Every calculation runs in your browser, so you can compute exact age, total units, and the next-birthday countdown as often as you like at no cost.

Is my birth date sent to any server?

No. Parsing, calendar math, and every unit conversion run entirely in your browser. The tool makes no network requests and logs no inputs, so it keeps working offline once the page has loaded.

How are February 29 birthdays handled?

The next-birthday date is built as new Date(year, 1, 29). In a leap year it lands on February 29; in a common year it rolls forward to March 1, matching the convention UK law and most jurisdictions use for non-leap years.

Can I calculate a future age or a due date?

Yes. Set the as-of date in the future to see the age someone will reach. If the birth date is later than the as-of date, the tool flips the math and reports time until birth — useful for pregnancy due-date estimates.

Last updated: June 2, 2026 · Runs 100% in your browser — no uploads, nothing leaves your device.

Need a different tool?

Browse all 89 free, in-browser tools — or tell us what we should build next.

Browse all tools