Age Calculator

Turn a date of birth into an age in years, months and days — and see how long until the next birthday.

Runs on your deviceCalculatorsWorkingNo account needed

What this tool does

Age Calculator does calendar subtraction rather than dividing a span of days by 365.25. When the day of the month has not yet come round it borrows a month, taking the length of the month immediately before the measuring date, which is why the usual answer matches how an age is actually spoken: 33 years, 11 months and 30 days, not 33.99 years. Alongside that it reports the age as a total in calendar months, in weeks and in days, the weekday the person was born on, the date of the next birthday and the number of days left to it.

Two fields drive it. Date of birth takes YYYY-MM-DD, DD/MM/YYYY, "15 June 1990", "June 15, 1990" or the word today. Age on is the date the age is measured against and is normally left blank, which means today — but filling it in is what makes the tool useful for anything other than curiosity, because it answers how old somebody was on a past date or will be on a future one.

The input box handles a list. One date of birth per line, optionally with a label in front of a colon — "Ada: 1990-06-15" — produces one result per person plus a table covering all of them, measured against the same Age on date. Lines beginning with # or // are skipped, so notes can sit in the list. As soon as the box holds a single usable date the Date of birth field is ignored entirely; a box holding nothing but comments falls back to that field.

The precision stops at whole calendar days, and that is worth knowing before you rely on it. There is no field for a time of birth, no time zone handling, and the hours figure is simply the day count multiplied by 24 — so it is a convenient restatement, not a clock-accurate elapsed time across daylight saving changes. Nothing is uploaded: both dates are read and the arithmetic done inside the page, and once the page has loaded it needs no network at all.

Two calendar corners are wrong today, and it is fairer to name them than to let you find them. A birth on the 30th or 31st measured on 1 or 2 March comes back with a negative day figure — 31 January 1990 measured on 1 March 2024 reads 34 years, 1 month, -1 days, because the borrowed February is too short to cover the day it has to. And a 29 February birth measured on 28 February in a non-leap year announces the birthday as happening that day while the age printed above it still reads 11 months and 30 days, because the whole year only turns over on 1 March. Outside those two windows the result is straight calendar subtraction and matches hand arithmetic.

How to use it

  1. Enter the date of birth. YYYY-MM-DD, DD/MM/YYYY, "15 June 1990" and "June 15, 1990" are all read. Anything written with the year last — slashes, dots or hyphens — is taken day first.
  2. Choose the date to measure against. Leave Age on blank to use today, or set a specific date to find the age somebody had, or will have, on that day.
  3. Or paste a list for several people. One date of birth per line in the input box, each optionally prefixed with a label and a colon. Lines starting with # are ignored.
  4. Read the age and the countdown. You get years, months and days, the totals in months, weeks, days and hours, the birth weekday, and the next birthday with a countdown.

Processing & privacy

Runs on your device. Your file is processed directly in this browser.

Common use cases

Checking an age on a cut-off date

Set Age on to the enrolment deadline or policy date and read the age that will apply then, rather than the age today.

Working through a class or a team list

Paste one labelled date of birth per line and the table returns every age, birth weekday and upcoming birthday side by side.

Seeing which birthday comes next

The countdown gives the date, the number of days to go and the age being turned, which is enough to plan a card or a booking.

Filling in a form that wants years and months

Medical and registration forms often ask for age as years plus months, not a rounded number of years old.

Questions

Is my date of birth sent anywhere?
No. This is arithmetic on values you type, carried out in this browser tab, so no date leaves it and the page keeps answering after the network is cut. A date of birth is one of the more identifying details a person has, and it should not need a round trip to somebody else's machine.
Is 03/04/1990 the third of April or the fourth of March?
It is read as 3 April. Every format that puts the year last — with slashes, dots or hyphens alike — is taken day first, so a month-first American date is either silently misread or refused: 12/25/1990 is rejected for having a 25th month, while 03/04/1990 goes through as the day-first reading with no warning at all. Use YYYY-MM-DD, or write the month out as "4 March 1990", whenever the order could be misread.
How is the age in years, months and days calculated?
By comparing the calendar fields directly. If the birthday has not yet arrived in the current month, one month is borrowed and the actual length of the preceding month supplies the days, so February and 31-day months are handled as the calendar has them rather than as an average. The one place that borrow misfires is a birth on the 30th or 31st read on 1 or 2 March, which is why a negative day count can appear there.
What happens with a 29 February birthday?
Whole years turn over on 29 February in leap years. In other years the next birthday is shown as 28 February and the output labels that line explicitly. Be aware that the two lines disagree on the day itself: on 28 February 2023 a 2000-02-29 birth is announced as a birthday today, turning 23, while the age above it still reads 22 years, 11 months and 30 days. Which day counts is anyway a matter of jurisdiction rather than arithmetic.
Why does the age show a negative number of days?
You have hit the month-end borrow bug: a birth on the 30th or 31st, measured on 1 or 2 March, subtracts more days than the intervening February holds. The years and months are still right and the total day count is still right, so read those two lines instead and treat the days figure as off by one or two until it is fixed.
Can I get an age down to hours or minutes?
Not accurately. Every calculation works in whole calendar days, and the hours line is the day count times 24. There is nowhere to enter a time of birth and no time zone is applied, so treat the hours as a restatement of the days rather than a precise figure.
Why was my date refused?
One of three reasons: the format was not one it reads, the date is impossible in the calendar such as 31/02/1990, or the date of birth falls after the Age on date. It declines that last case with a message naming both dates instead of reporting a negative age.
What does it treat as today?
The calendar date of the device you are using. If that clock or its time zone is wrong, the age and the days-to-next-birthday can be a day out; setting Age on explicitly removes the doubt.

Related tools