How Age Calculators Handle Leap Years.
Exact age math looks trivial until a leap-year birthday or month-end date hits. Here's the calendar math an accurate age calculator runs.

- Exact age isn't just years: it's years, months, and days, and getting the months and days right requires real calendar math, not a flat 30-day average.
- When the target day of the month is earlier than the birth day, the calculation has to 'borrow' a month, using that specific month's real length.
- People born on February 29 don't lose a birthday in common years; because this calculator borrows real month lengths rather than special-casing Feb 29, the age increment lands on March 1, not February 28.
- You can try the exact calculation live below, with your own birth date, without leaving this page.
01Foundations
What “exact age” actually means
Ask someone their age and they’ll give you a whole number: “I’m 26.” But that whole number is really a rounded-down version of a more precise answer: 26 years, some number of months, and some number of days. That fuller breakdown is what an exact age calculator is solving for, and it’s a genuinely different calculation than the simple year subtraction most people do in their head, one that also has to get a leap year birthday right rather than fudging it.
The reason it trips people up isn’t the concept. Everyone understands “years, months, and days since I was born.” It’s the arithmetic underneath, because calendar months don’t all have the same length, and that irregularity has to be handled correctly every single time, not just in the easy cases.
02The easy half
The straightforward part: subtracting years
Start with the year subtraction. If someone was born in 2000 and you’re calculating their age as of 2026, the starting point is 2026 − 2000 = 26 years. This part rarely causes problems; it’s the same subtraction anyone would do by hand.
The complication shows up in the next step, when you try to account for the months and days left over after that whole-year subtraction.
03Borrowing
Where it gets hard: borrowing a month
Here’s the situation that breaks naive age math: what happens when the target date’s day-of-month is earlier than the birth date’s day-of-month? Try calculating the age of someone born January 31, 2000, as of March 5, 2026.
A naive approach subtracts day 31 from day 5 and gets negative 26 days, which isn’t a valid answer. The fix is the same trick used in ordinary column subtraction when the top number is smaller than the bottom one: borrow from the next column over. Here, that means borrowing a month, using that specific month’s real day count.
Working through it: borrow from February (28 days in 2026, since 2026 isn’t a leap year), giving 28 + 5 − 31 = 2 days, and reducing the month count by one. Combined with the year subtraction, the final answer is 26 years, 1 month, 2 days. Getting this right requires knowing exactly how many days were in the borrowed month, not a flat 30-day assumption, which is exactly where a lot of simplified age calculators go wrong. A 30-day-average approach would produce a noticeably different, and wrong, day count for any calculation that borrows from February, or from any 31-day month.
04Try it
Try it yourself
Enter any birth date below and see the exact breakdown calculated live, using the same calendar-accurate method described above. This is the actual calculator, not a mockup.
05Leap years
Leap years: the other edge case
The second place age math commonly breaks is February 29 birthdays. In a leap year, February has 29 days, so a February 29 birthday lands exactly where you’d expect. But three years out of every four, February only has 28 days, so there’s no February 29 to land on at all.
This calculator doesn’t hard-code either rule. Because the month-borrowing logic described above treats February 29 the same way it treats any other day-of-month comparison, the outcome falls out of the arithmetic rather than a special case: comparing day 29 against day 28 always finds the target day “earlier,” triggers a borrow, and that borrow only resolves on March 1. So the birthday isn’t skipped, but it also isn’t anchored to February 28 as some competing calculators do; it lands on March 1, which happens to match the convention several legal systems use for the same reason (see below).
06Disagreement
Why two age calculators can disagree by a day
If you’ve ever compared two different age calculators and gotten answers a day apart, it’s almost always one of these two situations: a month-borrow calculation near a month-end birth date, or a February 29 birthday being handled differently by each tool. A calculator using a simplified 30-day-month approximation will drift further from the calendar-accurate answer the further apart the two dates are, since every borrowed month compounds the error by whatever the real month length differs from 30.
The safest check, if you want to verify an age calculation by hand: work through the year subtraction first, then check whether the day-of-month comparison requires borrowing, and if it does, look up the actual number of days in the specific month you’re borrowing from: not an average, the real number for that month and year.
07The rule itself
The Gregorian rule, and the century trap
Almost everyone knows that a leap year happens every four years. Far fewer know that the rule has two exceptions stacked on top of it, and the second exception is the one that quietly breaks home-made date code.
Divisible by 4 → leap year
2024, 2028 and 2032 all qualify on this rule alone. This is where most people stop, and for any date range inside a single human lifetime it is usually enough.
Unless divisible by 100 → not a leap year
1900 was divisible by 4 but was not a leap year. Neither will 2100 be. This exists because the year is not exactly 365.25 days long. It is about 11 minutes shorter, and those minutes accumulate.
Unless divisible by 400 → leap year after all
2000 was divisible by 100, so rule two would have excluded it, but it is also divisible by 400, so it was a leap year. This third rule corrects the slight over-correction of the second.
The reason for the layering is astronomical rather than arbitrary. A tropical year runs roughly 365.2422 days. Adding one day every four years assumes 365.25, which overshoots by about 11 minutes a year, or three days every four centuries. Skipping three leap days per four hundred years brings the calendar back in line to within about one day in 3,000 years.
| Year | ÷ 4 | ÷ 100 | ÷ 400 | Leap year? |
|---|---|---|---|---|
| 1900 | yes | yes | no | No |
| 1996 | yes | no | no | Yes |
| 2000 | yes | yes | yes | Yes |
| 2024 | yes | no | no | Yes |
| 2100 | yes | yes | no | No |
| 2400 | yes | yes | yes | Yes |
08Leap-day births
What happens if you were born on 29 February
Roughly one person in 1,461 is born on a leap day, and for three years out of every four their birthday does not exist on the calendar. This is a genuine ambiguity rather than a bug, and different systems resolve it differently, legitimately so, because there is no mathematically correct answer.
Birthday falls on the last day of February
Treats the birthday as "the end of February" and so rolls back to the 28th in common years. This is the more common choice in software, and it keeps the person aging within their birth month.
Birthday falls the day after February ends
Treats the birthday as "the day after 28 February" and so rolls forward. Several legal systems use this for age-of-majority purposes, on the reasoning that a full year must have elapsed before the age increments.
Neither convention is wrong; they answer slightly different questions. The first asks “which day best corresponds to 29 February?” and the second asks “on which day has a complete year definitely passed?” Where the answer matters legally (drinking age, retirement eligibility, contract terms), the governing jurisdiction specifies which applies, and it is not consistent internationally. England and Wales settled it by statute: Section 9 of the Family Law Reform Act 1969 fixes the moment someone attains a given age as the start of the relevant anniversary of their birth, which for a 29 February birth in a common year is 1 March, not 28 February. (The provision took effect from 1 January 1970 and doesn’t extend to Scotland.) That’s the second convention above, and it’s the one this site’s calculator produces as well, for the arithmetic reason explained earlier rather than because it was deliberately coded to match UK law.
1 in 1,461
For an age calculator the honest behaviour is to pick one convention, state it, and apply it consistently. Silently switching between them, which happens when code borrows days in one branch and months in another, produces a tool that reports different ages for the same person depending on what today’s date happens to be.
09A concrete example
How old is a leap-day baby right now, and how many real birthdays have they actually had
Two different numbers answer two different questions here, and people asking about leap-year age usually want the first one without realizing there’s a second.
The first is ordinary calendar age: someone born 29 February 2000 is 26 in 2026, counted the same way as anyone else born in 2000, using whichever March-1-or-February-28 convention the calculator applies in the years February 29 doesn’t exist. The second is how many times February 29 has actually appeared on the calendar since they were born, which is the number people mean when they joke that a leap-day baby is “only 6” on their actual birthday.
| Born 29 Feb of | Real age in 2026 | Actual Feb 29 birthdays so far |
|---|---|---|
| 2024 | 2 | 0 |
| 2020 | 6 | 1 |
| 2016 | 10 | 2 |
| 2012 | 14 | 3 |
| 2008 | 18 | 4 |
| 2004 | 22 | 5 |
| 2000 | 26 | 6 |
| 1996 | 30 | 7 |
| 1992 | 34 | 8 |
| 1988 | 38 | 9 |
The pattern (real age is always four times the actual-birthday count, plus two) falls straight out of the four-year leap cycle, not out of these particular birth years. 2026 sits two years past the nearest leap year, 2024, so every leap-day baby’s ordinary age is two years ahead of a clean multiple of four, no matter which leap year they were born in. Come the next leap year, 2028, that offset drops back to zero and everyone in the table gains one more actual Feb 29 birthday at once.
10Units
Age in years, months and days is not age in days
There are two ways to express how old someone is, and they are not interchangeable representations of the same number.
Total elapsed days is unambiguous. Count the days between two dates and you get an integer that everyone agrees on, leap days included. It is what medical dosing, incubation periods and astronomical calculations use, precisely because it carries no calendar assumptions at all.
Years-months-days is what people actually say, and it is only well-defined once you fix the borrowing rules discussed earlier. “3 years, 2 months and 14 days” describes a walk across a calendar, not a quantity: the same phrase covers a different number of real days depending on which months it crossed.
The reason age calculators usually show both is that neither answers every question. The years-months-days figure is the one people came for; the day count is the one that survives being compared to another day count.
11Wrapping up
The takeaway
Exact age math is simple in principle (years, months, and days since a starting date) but correct only if the months-and-days step uses real calendar month lengths, including leap years, instead of a fixed approximation. That’s the entire difference between an age calculator that quietly gives you a slightly wrong answer near month boundaries, and one that matches what you’d get counting it out by hand.
This kind of calendar-accurate math also matters beyond curiosity about your own age. Anything that depends on a precise duration between two dates (eligibility windows tied to a minimum age, warranty periods measured from a purchase date, or interest that accrues based on days elapsed) inherits the same borrow-a-month and leap-year edge cases described above. A tool that quietly rounds those cases to “close enough” can produce an answer that’s off by a day in exactly the situations where a day matters most, like a cutoff date for enrollment or eligibility. Building the calculation the calendar-accurate way from the start avoids that entire category of quiet, hard-to-notice error.
Frequently asked questions
Why is age calculation harder than just subtracting years?
Subtracting years alone only gives a rough whole-number age, not the months and days most people actually mean by 'exact age.' The complication is that calendar months aren't a fixed length (they run anywhere from 28 to 31 days), so figuring out the leftover months and days after the year subtraction requires checking the real length of whichever month you're borrowing from, not applying one flat number to every case.
What happens to a February 29 birthday in a normal year?
In a common (non-leap) year, February only has 28 days, so there's no February 29 to land on. This calculator doesn't special-case that: comparing day 29 against day 28 triggers the same month-borrow logic used for any date, and that borrow only resolves on March 1. So the age increment lands on March 1, not February 28, which matches the convention England and Wales use by statute for the same case. The birthday returns to February 29 itself the next leap year, typically four years later.
Does this calculator account for time zones?
No. It works entirely with calendar dates, not timestamps, so there's no time-zone component to account for. Both the birth date and the 'as of' date are treated as whole calendar days, which matches how people actually describe age ('I turned 26 on August 13') rather than tracking the exact hour someone was born. This keeps the math simple and matches every legal and everyday convention for stating an age.