🎂

Age Calculator

Find your exact age down to the second — plus how long until your next birthday.

🗓️

Pick your date of birth to see your exact age.

Calculating an age sounds like subtraction until you try to do it precisely and discover that calendars are a mess of inherited compromises. Months have different lengths, leap years arrive on a rule with two exceptions, and the question "how old is someone born on February 29th" has no single correct answer. This calculator handles all of it: enter a birth date and get an exact age in years, months, and days, along with the totals in weeks, days, hours, and minutes. It also tells you your next birthday and what day of the week you were born on — a small detail that people find surprisingly satisfying to learn.

How the calculator works

You supply a birth date, and optionally a target date if you want the age at a specific moment rather than today. The calculator works down from years to months to days, borrowing from the previous month when the day count goes negative — the same way you borrow when subtracting by hand. This ordering matters: counting total days and dividing by 365.25 gives a slightly different answer than counting calendar-aware, and the calendar-aware result is the one that matches how people actually reckon age.

The method

years = target.year − birth.year months = target.month − birth.month days = target.day − birth.day if days < 0: months -= 1 days += daysInMonth(previous month of target) if months < 0: years -= 1 months += 12

The borrowing step is where naive implementations break. If you were born on the 31st and the target month has 30 days, the day count goes negative and you must borrow from the correct month — the one before the target date, not a generic 30. Getting this wrong produces off-by-one errors that only appear for certain birth dates, which is why they survive testing so often. Leap years are handled automatically because the borrow pulls the real length of the actual month involved.

What to know about age calculation

  • 1Age is calculated differently around the world. Most countries count from zero and increment on your birthday. The traditional Korean system counted everyone as one at birth and added a year every January 1st, meaning a baby born in late December could be two years old within days — South Korea formally standardized on the international system in 2023.
  • 2February 29th birthdays are a legal question, not a mathematical one. Roughly one in 1,461 people is born on a leap day, and jurisdictions disagree on whether they legally age on February 28th or March 1st in common years. Most systems, including this one, treat March 1st as the anniversary.
  • 3Time zones can shift your birth date. If you were born at 2 AM in Tokyo, it was still the previous day in London. Your recorded birth date depends on the local time where you were born, which occasionally produces passport and record discrepancies for people born near midnight.
  • 4The 365.25 shortcut drifts. Dividing total days by 365.25 is close but not exact, because the true year is 365.2422 days — the reason the Gregorian calendar skips leap years on century marks not divisible by 400. That is why 1900 was not a leap year but 2000 was, and why any code assuming "divisible by four" is quietly wrong.
  • 5Milestone dates are worth noticing. Your 10,000th day arrives around age 27 years 4 months, and your billionth second at about 31 years 8 months. These have no significance whatsoever, which is precisely what makes them enjoyable.

Frequently asked questions

How is age calculated exactly?

By subtracting the birth date components from the target date components, then borrowing when a result goes negative — days borrow from the actual previous month, months borrow from the year. This is the calendar-aware method that matches how people count age, rather than dividing total elapsed days by an average year length, which produces small discrepancies around month boundaries.

What if I was born on February 29th?

In common years you have no exact anniversary, so a convention is required. Most legal systems and this calculator treat March 1st as your birthday in non-leap years, on the reasoning that you have completed all of February. Some jurisdictions use February 28th instead. Your true leap-day birthday arrives once every four years, with the occasional eight-year gap when a century skips its leap year.

Why does my age here differ slightly from another calculator?

Almost always because of the borrowing rule or time zones. Some calculators borrow a fixed 30 days rather than the actual length of the relevant month, which shifts results by a day for certain dates. Others compute in UTC while you are in a different zone, moving the date across midnight. The calendar-aware borrowing method used here matches conventional age reckoning.

Can I calculate age at a past or future date?

Yes — enter any target date rather than leaving it at today. This is useful for determining eligibility on a specific deadline, calculating how old someone was at a historical event, or checking what age a child will be at the start of a school year. The same borrowing logic applies regardless of whether the target is in the past or the future.

How do I calculate age in days or hours?

The calculator provides these totals directly. Days are counted as the actual elapsed calendar days including every leap day in the interval, not an approximation from years times 365. Hours and minutes derive from that day count. Note that these totals ignore daylight saving transitions, which add or remove an hour twice a year in many regions — irrelevant for most purposes but worth knowing if you need genuine precision.