Understanding age differences
On this page
- An exact gap in years, months and days
- When an exact age gap is wanted
- How to use it
- What each input means
- Reading each result
- How the calculation works
- Worked example: a straightforward gap
- Worked example: the month-end problem
- Worked example: a leap day birthday
- Why dividing by 365 goes wrong
- Leap years, properly explained
- Why "one month" is ambiguous
- Birthday edge cases
- Common scenarios
- Interpreting an age gap
- Common mistakes
- Tips for accurate results
- Limitations
- Frequently asked questions
An exact gap in years, months and days
This tool measures the interval between two dates of birth and reports it as an exact calendar quantity: a number of years, a number of months and a number of days. It then restates that same interval in single units — total months, weeks, days, hours and minutes — so you can pick whichever is most useful for what you are doing.
For one person's age from a single date of birth, use the age calculator instead; this page is for the gap between two people.
Alongside the gap, it works out how old each person is on a date you choose, when each of their next birthdays falls, and how the two ages line up at a series of milestones over a lifetime. The date you choose defaults to today, but you can set it to any date between 1900 and 2199.
One thing worth being clear about from the start: the age gap itself never changes. Two people born four years and two months apart are four years and two months apart on the day the second is born, on their fortieth birthdays, and forever after. What changes with time is their individual ages, not the distance between them. The calculation date on this page only affects those individual ages and the next-birthday figures.
When an exact age gap is wanted
The most common reason is simple curiosity: two people want to know exactly how far apart they are, having only ever known it roughly. "About three years" turns out to be three years, seven months and nineteen days, which is a more interesting answer than the one they started with.
Beyond that, there are situations where the exact figure genuinely matters. Parents comparing siblings often want to know whether two children will fall in the same school year, which depends on where their birthdays sit relative to a cut-off date rather than on the rough gap in years. Anyone completing a form that asks for an age "as at" a specific date — a school application, an insurance quote, a competition entry with age categories — needs the age on that date, not today's.
People researching family history use it to check whether a gap is plausible: a recorded parent and child eleven years apart usually means a transcription error somewhere. Writers building a cast of characters use it to keep ages consistent across a story that spans decades. And people planning around retirement want to know how many years separate two people reaching pension age, which is exactly the gap figure.
How to use it
- Enter the first date of birth. Use the date picker or type it directly. Only the date is required; the name field just labels the results so you can tell the two people apart.
- Enter the second date of birth. The order does not matter. The calculator works out which person is older and labels the output accordingly.
- Add birth times if you have them. Optional, and only worth doing if you care about the hours and minutes figures — which mainly matters for twins or two people born on the same date.
- Choose the calculation date. Leave it on Today unless you need ages as at some other date, in which case switch to "A specific date" and pick one.
- Press Calculate. The result appears immediately below the form. To check the arithmetic, open How was this calculated? at the bottom of the result.
What each input means
Date of birth
The only required fields. Both must be real calendar dates — the calculator rejects 31 February and 31 April rather than silently rolling them forward into the next month, which is what a naive date parser does. Neither date can be later than the calculation date, because nobody has an age before they are born.
The accepted range runs from 1900 to 2199. The lower bound is there because calendar reform makes earlier dates genuinely ambiguous in some countries, and a calculator that quietly produces a confident answer across that boundary would be misleading.
Birth time
Optional, in 24-hour format. When left blank both times are treated as 00:00, which is stated next to the field so the hours figure is not mistaken for a bug. If you give a time for one person, give it for the other too — otherwise you are comparing a real birth time against midnight, and the hours and minutes will be off by up to a day.
Calculation date
The date on which ages are measured. "Today" uses your device's current date. "A specific date" lets you choose any other, which is what you want when a form asks for an age as at the start of a school year, or when you are checking what two ages were at some point in the past.
Reading each result
The headline figure
The exact difference between the two dates of birth, in years, months and days. Components that are zero are left out, so a gap of exactly two years reads "2 years" rather than "2 years, 0 months and 0 days".
The same gap in other units
Seven restatements of the identical interval. Years is the whole-years component. Months is the total number of whole months, not the leftover months after years are removed — so a gap of 4 years and 2 months shows 50 months here. Weeks and days count real elapsed time. Hours and minutes are exact multiples of a day unless you supplied birth times.
Decimal years expresses the gap as a single number, such as 4.18 years. It is calculated as the complete years plus the fraction of the current anniversary year that has elapsed, measured against that year's real length. Many calculators divide total days by 365.25 instead, which produces a number that quietly disagrees with the years-months-days figure sitting directly above it.
Who is older
A plain-language statement of the same result, phrased two ways: how much earlier the older person was born, and how old the older person was on the day the younger one arrived. Those are the same number, but people find one or the other easier to picture.
Ages on the calculation date
Each person's exact age, their date of birth with the day of the week they were born on, and their next birthday — the date, the weekday, how many days away it is, and which birthday it will be.
Age gap timeline
The first table states how old the older person was when the younger was born, and notes explicitly that the younger person did not exist yet — a detail people often want spelled out.
The second table is the more useful one. It takes seven milestone ages and shows, for each, the date the older person reaches it and how old the younger person will be on that same day. This is what makes an abstract gap concrete: "six years apart" becomes "when one turns 65, the other will be 58 years and 9 months", which is the form the question usually takes in real life.
How was this calculated?
The audit panel lists every value used, including the intermediate anchor date that most calculators never show. If your answer disagrees with another tool's, this is where you find out why — usually a different month-end convention, occasionally a timezone difference.
How the calculation works
Measuring a gap in years, months and days sounds trivial and is not, because months are not a fixed length. Subtracting day numbers, month numbers and year numbers separately produces wrong answers whenever the second day-of-month is smaller than the first.
The usual fix taught in tutorials is to "borrow" days from the preceding month when the day difference goes negative. It works most of the time and fails in a specific, easily missed case. Take 31 January 2000 to 1 March 2000. The day difference is 1 − 31 = −30. Borrowing from February, which has 29 days in 2000, gives −30 + 29 = −1. The result is still negative, and a calculator built this way either shows a negative day count or crashes.
This calculator uses a different approach that has no such case. Rather than subtracting components, it asks how many whole months fit in the interval:
The first line is an estimate that can overshoot by at most one month. The second line corrects it. The third steps forward from the earlier date by that many months to produce an anchor date, and the fourth counts the remaining days from the anchor. Since the anchor is never later than the target date, the day count is never negative.
Adding months clamps to the end of the target month. One month after 31 January is 28 or 29 February, never 2 or 3 March. That is the convention every major date library uses, and it is why 31 January to 28 February in a common year counts as exactly one month.
All arithmetic is done in UTC. Working in local time would make results shift by an hour across daylight-saving boundaries, so the same two people could show a slightly different gap depending on which month you asked.
Worked example: a straightforward gap
Person A: 14 March 1990. Person B: 22 September 1994.
Step 1 — estimate the months.
From 1990 to 1994 is 4 years, so 48 months. From March (month 3) to September (month 9) adds 6 more. That gives 54 months.
Step 2 — check for overshoot.
14 March 1990 plus 54 months is 14 September 1994. That is before 22 September 1994, so 54 months fits and no correction is needed.
Step 3 — count the leftover days.
From the anchor, 14 September 1994, to 22 September 1994 is 8 days.
Step 4 — split the months.
54 ÷ 12 = 4 remainder 6. So 4 years and 6 months.
Result: 4 years, 6 months and 8 days. The same gap is 54 months, 1,653 days, or 236 weeks. Person A was 4 years, 6 months and 8 days old on the day Person B was born.
Worked example: the month-end problem
Person A: 31 January 2000. Person B: 1 March 2000.
This is the case that defeats the borrow method. Subtracting day numbers gives 1 − 31 = −30. Borrowing 29 days from February 2000 leaves −1: still negative, still wrong.
The anchor method instead:
The month estimate is (2000 − 2000) × 12 + (3 − 1) = 2 months. Adding 2 months to 31 January gives 31 March, which is after 1 March, so the estimate overshoots. Reduce it to 1 month.
Adding 1 month to 31 January gives 29 February 2000 — clamped, because February has no 31st and 2000 is a leap year. That is the anchor. From 29 February to 1 March is 1 day.
Result: 1 month and 1 day. Sensible, and with no negative intermediate value at any point. Note what happens in a non-leap year: from 31 January 2001, the anchor becomes 28 February 2001, and 31 January to 1 March 2001 is 1 month and 1 day as well — even though the elapsed days differ by one.
Worked example: a leap day birthday
Person A: 29 February 2004. Person B: 15 June 2007. Calculation date: 1 January 2025.
The gap.
Month estimate: (2007 − 2004) × 12 + (6 − 2) = 40 months. 29 February 2004 plus 40 months is 29 June 2007, which is after 15 June, so reduce to 39. The anchor becomes 29 May 2007, and from there to 15 June is 17 days. 39 ÷ 12 = 3 remainder 3.
Gap: 3 years, 3 months and 17 days.
Ages on 1 January 2025.
Person A is 20 years, 10 months and 3 days. Person B is 17 years, 6 months and 17 days. The difference between those two ages is the same 3 years, 3 months and 17 days — as it always will be.
The next birthday.
2025 is not a leap year, so Person A's next birthday is shown as 28 February 2025. This is a convention, not a fact: some jurisdictions treat 1 March as the legal birthday for leap-day births. The calculator flags this whenever it applies, so you know a choice was made on your behalf.
Why dividing by 365 goes wrong
The tempting shortcut is to subtract two dates, get a number of days, and divide by 365. It gives an answer that looks right and drifts steadily further from the truth the longer the interval.
The problem is that roughly one year in four has 366 days. Across 40 years there are about ten leap days, so the true elapsed time is around 14,610 days rather than 14,600. Divide by 365 and you get 40.03 years — an overstatement of about eleven days.
Switching to 365.25 helps but does not fix it, because 365.25 is itself an approximation: century years divisible by 100 but not 400 are not leap years, which makes the real average 365.2425. More importantly, a fixed divisor cannot tell you the calendar answer. It might report 4.5 years, but you wanted "4 years and 6 months", and 0.5 of a year is not reliably 6 months — half of 365 days starting in January lands in early July, while starting in July it lands in early January.
This is why the calculator works in calendar units throughout and derives the decimal figure from the calendar result, rather than the other way round.
Leap years, properly explained
A year is a leap year when it is divisible by 4, except when it is divisible by 100, unless it is also divisible by 400. So 1996 and 2024 are leap years. 1900 was not, because it is divisible by 100 but not 400. 2000 was, because it is divisible by 400.
That century rule catches people out. Spreadsheets have historically got 1900 wrong for compatibility reasons, and a surprising number of home-made date calculations inherit the same bug. The next test comes in 2100, which will not be a leap year despite being divisible by 4.
The reason for the rule is that a solar year is about 365.2422 days. Adding a day every four years overcorrects slightly; skipping three leap days every 400 years brings the calendar back in line to within about one day in 3,000 years. This calculator counts actual calendar days, so every one of these rules is accounted for without you needing to think about it.
Why "one month" is ambiguous
A month is not a fixed quantity of time. February can be 28 or 29 days; other months are 30 or 31. "One month" from 1 January is 31 days later; "one month" from 1 February is 28 or 29 days later. Both are correctly called one month.
This has a consequence people find surprising: two gaps that both display as "2 months and 10 days" can differ in real elapsed days. If that matters for what you are doing, use the total days figure, which is unambiguous, rather than the calendar breakdown.
The month-end clamping rule is worth understanding too. Stepping one month forward from 31 March lands on 30 April, because April has no 31st. Step forward again and you get 31 May — the clamping applies at each step and does not permanently shift the date. The alternative convention, rolling 31 April over to 1 May, produces cumulative drift and is why this calculator does not use it.
Birthday edge cases
Born on 29 February
Someone born on 29 February has a calendar birthday only every four years. In common years this calculator shows 28 February. That keeps the birthday inside the correct month and means the person's age increments in the right year.
It is a choice, not a fact, and different systems disagree. Several jurisdictions define the legal birthday for leap-day births as 1 March in common years, on the basis that a person completes their year at the end of 28 February. If your reason for asking is legal, check the rule where you are; if it is curiosity, either convention is fine.
A birthday today
When the calculation date is someone's birthday, the calculator treats the birthday as reached: the age increments and the next-birthday line reads "Today". It does not skip forward a full year.
Two people born on the same date
The result says so rather than declaring an arbitrary older person. If both birth times are supplied and differ, the hours and minutes figures still show the real separation — which is the useful answer for twins.
Born on the calculation date
A person born on the calculation date has an age of 0 days. This is allowed. A date of birth after the calculation date is rejected, with an error explaining why.
Common scenarios
Siblings and school years
Parents usually want to know whether two children will share a school year. That depends on where each birthday falls relative to the local cut-off date, not on the gap in years. Two children eleven months apart can land in the same year group or in consecutive ones depending on which side of the cut-off their birthdays fall. Use the exact dates and your local cut-off rather than the rounded gap.
Twins
For twins the interesting figure is minutes, not years. Enter both birth times and read the hours and minutes rows. Without times, both default to midnight and the gap shows as zero — accurate to the day, and not what you were asking.
Couples planning retirement
The milestone table answers this directly. Find the row where the older partner reaches the relevant age and read across to see how old the younger will be on that date, which tells you the gap you need to bridge.
Forms that ask for an age on a specific date
Competition categories, school admissions and some insurance products ask for an age "as at" a fixed date. Switch to the specific-date mode and use that date. Using today's age is one of the most common causes of a form being returned.
Family history research
Exact gaps are a quick way to sanity-check a transcribed record. A parent and child recorded twelve years apart, or siblings recorded four months apart, point to an error in the source or in the transcription.
Fiction and screenwriting
Writers use the milestone table to keep a cast consistent across a story that spans decades — checking, for instance, that a character who is seventeen in one chapter is the right age in a scene set eleven years later.
Interpreting an age gap
The calculator gives three contextual readings, because the same number means quite different things depending on the relationship.
For siblings, small gaps are about shared experience: under about ten months usually means the same school year, one to three years means overlapping schooling and shared friends, and beyond about eight years the older child may leave home before the younger reaches secondary school.
For couples, the relevant question is usually life stage rather than the number itself. A gap of a year or two rarely registers. A gap approaching a decade can mean different cultural reference points and a meaningful difference in when each partner reaches retirement — which is a planning matter, not a judgement.
For parent and child, the gap is simply the parent's age at the birth. Under fifteen years is not biologically plausible and usually indicates a data error; over about fifty-five typically indicates a grandparent rather than a parent.
These readings describe what a gap of a given size usually looks like. They are not advice, and no calculator can tell you anything meaningful about a particular relationship.
Common mistakes
Expecting the gap to change
It does not. If a result seems to have changed between visits, the calculation date changed, not the gap — the individual ages moved while the distance between them stayed put.
Reading total months as leftover months
The Months figure in the totals is the whole interval expressed in months, not the months left over after the years. A gap of 4 years and 6 months is 54 months, not 6.
Giving a birth time for only one person
This compares a real time against midnight and skews the hours figure by up to a day. Supply both or neither.
Mixing up the date format
Typing 03/04/2001 is ambiguous between March and April depending on where you are. Use the date picker, or type the ISO form 2001-04-03, which is never ambiguous.
Using today's age on a form that asks for another date
Age categories are almost always defined as at a fixed date. Set the calculation date to match the form.
Comparing against a calculator that rounds differently
Two tools can legitimately disagree by a day at month boundaries because they clamp differently. Open the audit panel and compare the anchor date; that is where the difference will be.
Tips for accurate results
- Use the date picker rather than typing, which removes format ambiguity entirely.
- Add names when comparing several pairs in a row — the result labels update, so you will not lose track of which is which.
- For anything official, set the calculation date explicitly rather than relying on today.
- When an exact number of elapsed days matters, use the days figure. It is the only unit here that is completely unambiguous.
- Open the audit panel whenever a result surprises you. It almost always explains the difference in one line.
- Use Copy or Print to keep a record; nothing is stored between visits.
Limitations
The calculator uses the proleptic Gregorian calendar throughout. For dates before the Gregorian reform — adopted in 1582 in some countries and as late as 1918 in others — historical records may use the Julian calendar, and the two differ by several days. The 1900 lower bound keeps the tool clear of that ambiguity for practical purposes.
Birth times are treated as being on a single timeline. If two people were born in different time zones and you enter local clock times, the hours figure will be out by the offset between them. Convert both to the same zone first if that precision matters.
Leap seconds are ignored, as they are by virtually all civil date arithmetic. They would affect the minutes figure by well under a minute across a lifetime.
Finally, the tool measures an interval. It cannot tell you how a particular institution defines attaining an age, whether a relationship is a good idea, or anything else that depends on judgement rather than arithmetic.
Frequently asked questions
How is the age difference calculated?
The calculator works out how many whole months fit between the two dates of birth, steps forward that many months from the earlier date, then counts the leftover days. The month count is split into years and months. This gives an exact calendar answer rather than an approximation from dividing days by 365.
Why not just divide the number of days by 365?
Because years are not all 365 days long. Roughly one year in four has 366. Over a 30-year gap, dividing by 365 overstates the answer by about a week, and the error grows the longer the interval. The calculator counts real calendar days instead.
Does the age gap change over time?
No. The difference between two dates of birth is fixed the moment the second person is born and never changes. What does change is each person's current age and how far away their next birthday is, which is why the calculation date only affects those parts of the result.
What happens with a 29 February birthday?
In a leap year the birthday falls on 29 February as normal. In a common year this calculator shows 28 February, and says so on the result. There is no single correct convention: some jurisdictions treat 1 March as the legal birthday instead, so if the exact date matters legally, check the rule that applies where you are.
Do I have to enter birth times?
No. Times are optional and both default to 00:00 when left blank. Adding them only matters if you want the hours and minutes figures to be meaningful, which is mainly useful for twins or people born on the same date.
Can I work out the gap on a past or future date?
Yes. Switch the calculation date to "A specific date" and choose any date from 1900 to 2199. The age difference itself stays the same, but both current ages and both next birthdays are recalculated for that date.
Why do the years, months and days not add up the way I expect?
Because months have different lengths. Two gaps of "1 month" can be 28 and 31 days apart in real time. When the calculator steps forward a month from 31 January it lands on 28 or 29 February, since no 31 February exists. The audit panel shows the anchor date it used so you can see exactly where the days came from.
What does the decimal years figure mean?
It is the complete years plus the fraction of the current anniversary year that has elapsed. It is calculated from the real length of that particular year rather than a fixed 365.25, so it always agrees with the years, months and days shown above it.
Are my dates sent anywhere?
No. The calculation runs in JavaScript in your own browser. Nothing you enter is transmitted to a server or stored by us.
Can I use this to check a legal age requirement?
It will tell you an exact age on a given date, which is usually the figure you need. It will not tell you how a particular law defines the moment someone attains an age, and that definition varies. For anything legally binding, confirm the rule with the relevant authority.
About this calculator's results
The age difference and the ages shown here are exact calendar arithmetic. Given correct dates, the figures are correct, and the working is shown so you can verify them.
What the calculator cannot do is tell you how a law, school, employer or insurer defines the moment a person attains an age. Those definitions vary between jurisdictions and organisations, particularly for people born on 29 February, where this tool applies the 28 February convention while some authorities use 1 March. Results here are for information and do not constitute legal, medical or official advice. Where an age determines eligibility for anything that matters, confirm it with the organisation concerned.
The couple, sibling and parent-child readings describe what a gap of a given size commonly looks like. They are general context only, are not based on any study of the people involved, and should not be treated as guidance about any particular relationship.