Calci.inCalculate Today for a Better Tomorrow

Age Calculator

Exact age in years, months and days between any two dates

Free, no sign-up · Reviewed

Age details

Defaults to today. Change it to find an age on any other date.

The guide

How age is counted, and why calculators disagree

Why two age calculators give different answers for the same dates, how month-end arithmetic breaks, and which convention applies for passports, exams and insurance.

Last reviewed · 1,977 words

In short

  • Age is counted in completed years, months and days. You turn 30 on your birthday, not during the year leading up to it.
  • Month lengths are not equal, so subtracting dates digit by digit produces negative days. The fix is to borrow from the correct month, not from a fixed 30.
  • Insurance often uses age nearer birthday, which can make you a year older than your actual age and change the premium.
  • Someone born on 29 February completes a year on 28 February here in a common year. The law is not uniform, and India's Majority Act does not say whether that day is 28 February or 1 March.
  • Total days between two dates is unambiguous; age in years, months and days is a convention, and conventions vary.

Age looks like the simplest calculation on this site. Subtract one date from another. In practice it is one of the few where two competent implementations can disagree by a day or a month, and where the "right" answer depends on who is asking.

The convention: completed units

Almost everywhere in the world, age means completed years. A person who was born on 15 June 1995 is 30 years old from 15 June 2025 until 14 June 2026, and 31 from the day after.

This is not universal. Under the traditional East Asian reckoning still used informally in parts of Korea and China, a baby is one at birth and gains a year at new year, so a child born in December is two years old a few weeks later. South Korea legislated the international system as its default in 2023 precisely because the coexistence of three systems had become unworkable.

Every calculator here uses the international convention: completed years, then completed months, then remaining days.

Why the days go negative

The naive algorithm subtracts each component and borrows when one goes negative:

years  = y2 - y1
months = m2 - m1
days   = d2 - d1
if days < 0   { days += 30; months -= 1 }
if months < 0 { months += 12; years -= 1 }

The days += 30 is the bug. Months are not thirty days long, and the borrow has to come from the length of the month actually being borrowed from.

Take 31 January 2024 to 1 March 2024. Naively: days 1 − 31 = −30, so add 30 to get 0 and borrow a month; months 3 − 1 − 1 = 1. Answer: "1 month, 0 days". But January has 31 days, so borrowing 30 is borrowing the wrong amount, and a variant of the same code produces the widely-seen "0 months, −1 days".

The correct approach is to anchor to real calendar months. Add whole months to the start date until adding one more would overshoot the end date, then count the actual days remaining. From 31 January, adding one month lands on 29 February 2024 — February has no 31st, so the day clamps to the month's last day — and 1 March is one day later. The answer is 1 month, 1 day, and the arithmetic never sees a negative.

FromToNaive borrow-30Anchored months
31 Jan 20241 Mar 20240 months, −1 days1 month, 1 day
31 Mar 202430 Apr 20240 months, 29 days0 months, 30 days
31 Dec 202329 Feb 20241 month, 29 days1 month, 29 days

The third row agrees, which is why the bug survives so long in production code: it is only wrong at month boundaries.

Leap years, and the 29 February problem

A leap year has 366 days. The rule is that a year divisible by 4 is a leap year, except centuries, except centuries divisible by 400 — so 1900 was not and 2000 was.

Someone born on 29 February has a birthday in only one year out of four, and the law does not agree on what happens in the other three. India's Majority Act, 1875 says a person attains majority at the beginning of the eighteenth anniversary of the day of birth. A common year has no 29 February, and the Act does not say whether that anniversary is 28 February or 1 March. Where other laws do settle the point, some choose 28 February and some 1 March. If an eligibility cut-off falls on exactly one of those two days, ask the body that set it which day it counts.

This calculator follows the calendar arithmetic. A whole month from the 29th, 30th or 31st ends on the last day of a shorter month, so in a common year the year is counted as complete on 28 February. Someone born on 29 February 2000 was 0 years, 11 months and 29 days old on 27 February 2001, exactly 1 year old on 28 February, and 1 year and 1 day old on 1 March.

Age nearer birthday, and why insurance says you are older

Life insurers frequently price on age nearer birthday rather than age last birthday. If you are more than six months past your last birthday, you are treated as already being the next age.

Someone aged 34 years and 7 months has an insurance age of 35. The premium difference is small at 35 and material at 55, where mortality tables climb steeply.

The practical consequence is that buying a policy shortly before you cross the six-month mark can be meaningfully cheaper than buying it shortly after, for a difference of days. If you are within a few weeks of that boundary, it is worth checking which convention the insurer uses — some use age last birthday and a few use age next birthday, which is more expensive still.

ConventionAge at 34 years 7 monthsTypical use
Age last birthday34Most general purposes, exams, employment
Age nearer birthday35Life insurance pricing
Age next birthday35Some older insurance products

Where the date of birth actually matters

Examinations. Indian competitive exams specify an age limit as of a fixed cut-off date — typically 1 August or 1 January of the exam year — not as of the exam date. Someone who crosses the limit in September is still eligible for an exam with an August cut-off.

School admission. Most states require a child to have completed a minimum age as of 31 March or 1 June of the academic year. A child born in July can therefore be nearly a year behind a classmate born the previous August, which is the single largest source of within-class age variation.

Retirement. Government service in India ends on the last day of the month in which the employee turns 60 — except for those born on the first of a month, who retire on the last day of the previous month, having completed 60 years on the last day of that month.

Majority. Eighteen years completed, not the year in which you turn eighteen. Voting eligibility uses a qualifying date of 1 January and now also 1 April, 1 July and 1 October since the quarterly revision of electoral rolls began.

Total days, and why it is the safer number

Where a calculation must be unambiguous, count days rather than years and months.

The number of days between two dates has one correct answer. There is no convention to disagree about, no month length to borrow from, and no leap-day edge case beyond counting 29 February when it occurs. Interest accrual, notice periods and medical dosing all work this way for exactly that reason.

Age in years, months and days is a human summary of the same interval, and summaries lose information. If two systems disagree about your age, comparing the total-day counts will usually show they agree about the underlying interval and differ only in how they present it.

Counting business days and notice periods

A great many practical questions are not about age at all but about an interval measured in a particular kind of day, and the convention has to be stated before the count means anything.

Inclusive or exclusive? A thirty-day notice period served from 1 April ends on 30 April if the first day counts and 1 May if it does not. Indian contract practice generally excludes the day of the event and includes the last day, which is the rule the General Clauses Act applies to statutory periods. Contracts often say something different, and the contract wins.

Which days count? Business days exclude weekends and gazetted holidays, and the holiday list differs by state and by industry. A settlement described as "T+1" for a share sale means one trading day, which across a long weekend can be four calendar days.

What happens at a deadline that falls on a holiday? Most Indian statutes move it to the next working day. A few, notably certain tax deadlines, do not.

None of this changes the arithmetic; it changes which arithmetic to do. When an interval carries a consequence — a limitation period, a probation confirmation, a loan reset date — read the definition before counting, because the count itself is never the part that goes wrong.

Age from a date of birth, worked through

Take a date of birth of 15 June 1995 and measure to 11 September 2026.

Whole years come first. 15 June 2026 is the last birthday on or before the as-on date, so 31 years are complete. Whole months next: counting on from 15 June, 15 August is the last month-date that does not pass 11 September, so 2 more months are complete. The days left over run from 15 August to 11 September, which is 27 days.

MeasureResult
Age31 years, 2 months, 27 days
Total months374
Total weeks1,630
Total days11,411

The total in days, 11,411, counts every calendar day, including the leap days of 1996, 2000, 2004, 2008, 2012, 2016, 2020 and 2024. It is the figure to use when a rule is written in days; the years, months and days figure is what a form means by "age as on".

Age from the birth year alone

Many searches are really "how old is someone born in 2005" or "age in 2018 if born in 1992", where only the year is known. Subtracting the years gives the age they reach during that year, and the exact age depends on whether the birthday has passed by the date you care about.

Age = this year − birth year, minus 1 if the birthday has not yet come.

Date of birthAge on 11 September 2026Why
10 March 200521birthday already passed in 2026 (21 years, 6 months, 1 day)
25 December 200520birthday still to come (20 years, 8 months, 17 days)
1 January 200026turned 26 on 1 January 2026

Both 2005 births are "2026 − 2005 = 21" on paper, yet one of them is 20. That is why a year-only subtraction is a guide and the date of birth is what a form needs.

Age on a cut-off date, as application forms ask

Recruitment and admission notices fix an as-on date and ask for age completed on it. Set the "Age as on" field to that date. Someone born on 2 August 2000 is 25 years, 11 months and 30 days old on 1 August 2026, one day short of turning 26, so a limit of "26 years completed" fails by a single day, while someone born on 1 August 2000 is exactly 26 years, 0 months and 0 days. Most notices also state the upper-age relaxation for reserved categories, which is added to the limit and is not part of this arithmetic; read it in the notification.

What the extra numbers mean

Alongside the age, the calculator shows the weekday you were born on, the date and weekday of your next birthday with the age you will turn, and totals in months, weeks, days, hours and minutes. A date has no time of day, so the hours and minutes are whole days from midnight to midnight: 11,411 days is 2,73,864 hours and 1,64,31,840 minutes, and the real figure for a given person differs by the hours of their birth day.

What this calculator assumes

  • Age is measured in completed years, then completed months, then remaining days, using anchored calendar months rather than a fixed 30-day month.
  • The proleptic Gregorian calendar is used throughout, so dates before 1582 are counted as though the Gregorian rules had always applied.
  • In a common year, someone born on 29 February completes their year on 28 February, the last day of that month.
  • Both dates are treated as local calendar dates with no time component, so time zones do not shift the result.
  • The end date is exclusive of its own day, so the interval from a date to itself is zero rather than one day.

Sources

Frequently asked questions

How do I calculate age from date of birth?

Enter the date of birth and the date to measure to, which defaults to today. Someone born on 15 June 1995 is 31 years, 2 months and 27 days old on 11 September 2026 — 11,411 days. Years come first, then whole months, then the days left over.

How is age in years, months and days worked out?

Years, then whole months, then the leftover days. When the day of the month has not yet come round, a month is borrowed and the days are topped up with the real length of the previous month — 28, 30 or 31 — never an assumed 30. This is the same convention used on official forms.

Why does another calculator give me a different answer?

Almost always because it divides total days by 365.25 instead of walking the calendar, or because it counts months as thirty days each. Both drift by a day or two around leap years and long months.

What age does someone born on 29 February have?

In a year with no 29 February, this calculator counts their year as complete on 28 February, because a whole month from the 29th ends on the last day of a shorter month. Someone born on 29 February 2000 was 11 months and 29 days old on 27 February 2001 and exactly 1 year old on 28 February. The law is less settled: India's Majority Act counts age from the anniversary of the birth date but does not say whether that is 28 February or 1 March in a common year, so if a cut-off falls on one of those days, check which one the authority uses.

How do I find my age if I only know my birth year?

Subtract the birth year from the year you are measuring to, then take one off if the birthday has not come yet. Born in 2005, you are 21 on 11 September 2026 if your birthday was 10 March, but 20 if it is 25 December. With only the year, the age is one of two numbers, so use the full date of birth for a form.

How do I check my age on the cut-off date of a job or exam form?

Put your date of birth in the first field and the notification's as-on date in the second. Born on 2 August 2000, you are 25 years, 11 months and 30 days old on 1 August 2026, still one day short of 26. Category relaxation in years is added to the limit by the notice itself.

Can I calculate age on a future date?

Yes. Set the as-on field to any future date to see the age someone will be then — useful for school admission cut-offs, retirement dates and eligibility ages.