Age calculator

Get a calendar age in years, months, and days, and the date of the next birthday.

Runs locally in your browser. Nothing is uploaded.

How to read the result

Enter a date of birth and an as-of date. The result is a calendar age: full years, then full months, then the leftover days. It is the same idea as saying someone is 19 years, 11 months, and 30 days old, rather than a decimal like 19.97. Total days and whole weeks are there when you need a single number. The weekday is the weekday of the birth date in the Gregorian calendar.

The as-of date defaults to today after the page loads, and you can set another day. That is how you answer “how old will this person be on a given date?” Age is computed from the two calendar dates. It does not use a clock or a time zone. A birthday is a date, not an instant. If you are scheduling the celebration across regions, convert the clock time separately with the time zone converter.

Months, leap days, and the next birthday

Months have different lengths, so “one month after 31 January” is not a single obvious day. This calculator moves the birth day forward and clamps it to the last real day of the destination month. One month after 31 January 2000 is 29 February 2000, because 2000 was a leap year. One month after 31 January 2001 is 28 February 2001. The age from 31 January 2000 to 1 March 2000 is one month and one day.

A birthday on 29 February is observed on 28 February in a non-leap year. From 29 February 2000 to 28 February 2001 the age is one year exactly. The next birthday uses that same rule. On the birthday itself, the days-until line is zero. The day after, the next birthday is in the following year.

The calculator rejects a date that is not a real calendar day, such as 31 February, and it rejects an as-of date before the birth date. It is a date tool for ordinary planning. It is not legal, medical, or benefits advice. Those contexts sometimes define age with their own statutes, including special leap-day rules.

Common questions

Why not a decimal age?

Years are not the same length, and a decimal hides the month and day. The year-month-day form matches how people answer “how old?” The total number of days is exact if you need to divide it yourself.

Which time zone is the birthday in?

Neither. Both inputs are calendar dates. The moment a local clock passes midnight differs by zone, and this page does not try to guess the hospital’s zone. Pick the calendar date you mean.

What about dates before the Gregorian reform?

The math uses the proleptic Gregorian calendar that JavaScript’s UTC date functions use. Historical calendars and political cutovers are not modeled. For modern birth dates the result matches a normal calendar.

Is the date uploaded?

No. The subtraction runs in the page. The dates are not sent to an API and they are not written to an account, because there is no account.