Age Calculator
Exact age in years, months, and days on any date you choose — with the running totals in days, weeks, and months, and how long until the next birthday. Leap years and 29 February birthdays included.
Two dates
The day the count starts from. It never leaves this page.
Starts at today. Change it for an age on a past or future date — a school cut-off, a policy date, a retirement.
Born June 15, 1990, measured on January 1, 2026 — that is 12,984 days. The next birthday falls on June 15, 2026, 165 days later.
- Years complete
- 35
- Total months
- 426
- Total weeks
- 1,854
- Total days
- 12,984
- Next birthday
- June 15, 2026
- Days until next birthday
- 165
Why a month is not a fixed length, and what this does about it
Age looks like subtraction, and for the year it is. The trouble starts one column to the right. A month is 28, 29, 30, or 31 days depending on which month it is and which year — there is no such thing as “a month” in the abstract — so the moment a subtraction needs to borrow, it has to borrow a real month rather than a nominal one.
Y = y₂ − y₁ • M = m₂ − m₁ • D = d₂ − min(d₁, len(m₂))- y₁, m₁, d₁
- Year, month, and day of the date of birth
- y₂, m₂, d₂
- Year, month, and day you are measuring on
- len(m)
- The real length of month m in that year — 28, 29, 30, or 31
- Borrow
- If D is negative, subtract 1 from M and add the previous month’s real length; if M is then negative, subtract 1 from Y and add 12
The min(d₁, len(m₂)) in the day column is the clamp that handles a birthday with no counterpart in the target month: a 31st in April, or a 29 February in a common year. This calculator clamps down — 30 April, 28 February — which is the convention in ISO 8601 duration arithmetic and in most legal systems that have ruled on it. Clamping up to 1 March would reverse the order of two people born on 28 and 29 February of the same year.
Both dates are read as ISO 8601 calendar dates (YYYY-MM-DD) and compared at midnight UTC, which has no daylight saving. That is why a day here is always exactly one day: the total-day figure is exact integer arithmetic rather than a division that happens to land near a whole number.
Born 15 June 1990, measured on 30 July 2026
Subtract in columns. Years: 2026 − 1990 = 36. Months: 7 − 6 = 1. Days: 30 − 15 = 15. Nothing goes negative, so nothing is borrowed, and the age is 36 years, 1 month, 15 days. The totals come from the calendar rather than from that breakdown: 36 years of 365 days plus the nine leap days from 1992 to 2024 is 13,149 days to the 36th birthday, and 45 more days to 30 July gives 13,194 days — 1,884 complete weeks and 433 complete calendar months. The next birthday, 15 June 2027, is 320 days away.
Now the case that separates methods. Someone born on 31 January 1990, measured on 1 March 2026: the day column is 1 − 31 = −30, so a month has to be borrowed. February 2026 has 28 days, so the borrow is 28, not 30 and certainly not 30.44 — and the answer is 36 years, 1 month, 1 day. Read that as 31 January plus one month clamps to 28 February, and 28 February plus one day is 1 March.
Divide instead and you get a different answer to the same question. The Gregorian calendar repeats every 400 years, which is exactly 146,097 days, so the average month is 146,097 ÷ 4,800 = 30.436875 days. From 31 January to 1 March 2026 is 29 days, and 29 ÷ 30.436875 = 0.95 months — by that method a month has not passed, while by the calendar it has. Neither figure is wrong; they answer different questions. This tool answers the calendar one, because that is the one birthdays, anniversaries, and enrolment cut-offs are written in.
What this calculator assumes
- Whole calendar days only. Times of birth, hours, and minutes are not part of the calculation, so an age is the same all day.
- Both dates are compared in UTC. The second field starts at today’s date read from your device in UTC, so late in the evening in a time zone well behind UTC it can already show tomorrow — change it if it does.
- Completed units, not elapsed ones. You are zero days old on the day you are born, and the weeks figure counts whole seven-day weeks with the leftover days not shown separately.
- A 29 February birthday rolls over on 28 February in a common year. Jurisdictions that use 1 March instead will disagree with this tool by one day, once every four years.
- Dates from 1583 onward only. The Gregorian calendar began in October 1582, and answering confidently for earlier dates would mean applying its rules to a period that did not use them.
- Leap seconds are ignored, as they are in ISO 8601 date arithmetic and in every civil calendar. A day here is always 24 hours.
Age calculator FAQ
How old am I in days?
Enter your date of birth above and read the “Total days” row. It is an exact count of calendar days between the two dates, not a year figure multiplied by 365.25 — every leap day in the span is included because the count is taken from the calendar itself. Someone born on 15 June 1990 has lived 13,194 days by 30 July 2026, of which nine are leap days.
When does someone born on 29 February have a birthday in a normal year?
This calculator rolls the birthday over on 28 February in a common year. That is the convention ISO 8601 duration arithmetic uses and the one most legal systems have settled on: clamping down keeps people in birth order, because rolling forward to 1 March would let someone born on 29 February 2000 come of age a day after someone born on 28 February 2000. In a leap year the real date comes back and the tool uses 29 February again.
Why does another calculator say a different number of months?
Almost certainly because it divided the total number of days by an average month of about 30.44 instead of counting calendar months. The two genuinely disagree. From 31 January to 1 March 2026 is 29 days: counting calendar months says one month and one day have passed, while 29 ÷ 30.44 says 0.95 months — not a month yet. Neither is a rounding error; they are answers to different questions, and this tool answers the calendar one.
Does the day I was born count as a day of my life?
Not in this count. The figures here are completed units, so on the day you are born you are zero days, zero months, and zero years old, and you turn one day old the following day. That matches how age is stated everywhere in ordinary use. If you need the day-inclusive figure some legal and medical contexts use, add one to the total days.
Can I work out an age on a past or future date?
Yes — that is what the second field is for. It starts at today, but change it to a school enrolment cut-off, a policy anniversary, a retirement date, or the date of a historical event and the whole breakdown moves with it. The date of birth may be later than today, but it may not be later than the date you are measuring on.
Does my time zone change the answer?
The arithmetic does not: both dates are treated as plain calendar dates and compared in UTC, so a day is always a day and daylight saving never shifts a result. The one place your device matters is the starting value of the second field, which is today's date read in UTC — if you are several hours behind UTC late in the evening, it may already show tomorrow. Change it if it does.
Sources and review notes
- ISO 8601-1:2019 — the standard that defines the
YYYY-MM-DDcalendar date and the rules for durations between two of them - RFC 3339 — the internet profile of ISO 8601, and the reason these dates sort correctly as plain text
- US Naval Observatory, Astronomical Applications — the Gregorian leap-year rule and the 400-year, 146,097-day cycle
There is no dataset behind this page to go stale. The leap-year rule has been fixed since 1582 and the month lengths since Julius Caesar; the only thing that changes is the date in the second field, which your own device supplies.