Age Calculator
Calculate your exact age in years, months, days, and total days lived from your birthdate. See how old you are today.
Reviewed by the Calcura editorial team · Last reviewed
- Question
- How do I calculate someone's exact age from a birthdate?
- Answer
- Subtract the birthdate from today, rolling over months and days correctly. Start with year difference, then if today's month/day is before the birth month/day, subtract one year. The remaining months and days are computed the same way. This is how passports, medical records, and ID cards display age — by the Western convention (0 at birth, +1 each birthday).
▸Show formula & caveatsHide formula & caveats
- Formula
age = today − birthdate (civil calendar, year rolls only at each birthday)- Caveats
- Leap-year birthdays (Feb 29) are tricky — most systems age them on Feb 28 or Mar 1.
- East Asian traditional age systems (Korean, Vietnamese) count differently — this calculator uses Western age.
- Gestational age and birth age differ; this is birth age only.
What This Calculator Does
This calculator reports age as years, months, and days since a birthdate — the way an ID card or medical record would state it. It also shows total days lived for precise comparisons across people or milestones. Age is computed by decrementing the next birthday and the day-of-month rollover, which correctly handles leap years and people born on Feb 29. 'Age' here is the Western convention (0 at birth, +1 each birthday); several East Asian traditional systems count differently and this calculator does not produce those figures.
When To Use This Calculator
Legal, medical, or HR paperwork
A form asks 'age on 2026-04-18': for someone born 1990-03-15, the calculator shows 36 years 1 month 3 days. Medical records sometimes want months for infants (e.g., '18 months') — use the months field directly.
Eligibility checks
Medicare eligibility at 65, Social Security early retirement at 62, IRA catch-up contributions at 50 — knowing your exact days-until-milestone helps plan enrollment windows.
Comparing ages across people
Total-days-lived is the only fair comparison for people born in different months. 'Older' by 200 days is meaningful; 'older by a few months' depends on which months.
Personal milestone tracking
Reaching 10,000 days (~27.4 years), 18,250 days (50 years), or an exact decade from an event. The total-days figure supports milestone reasoning independent of calendar dates.
How It Works
Start with the calendar difference: years = currentYear − birthYear, then decrement if the birthday hasn't happened yet this year. Months = currentMonth − birthMonth, and days = currentDay − birthDay, with carry/borrow across month and year boundaries. Total days lived = (today − birthdate) in milliseconds divided by 86,400,000. Leap years are naturally accounted for because JavaScript's Date object uses the Gregorian calendar. A Feb 29 birthday displays as Feb 28 or Mar 1 in non-leap years, depending on implementation — this calculator uses Feb 28 for month-day rollover.
Formula
years = thisYear − birthYear, minus 1 if today < this year's birthday
months = thisMonth − birthMonth (with borrow from years if negative)
days = thisDay − birthDay (with borrow from months if negative)
totalDays = floor((today − birth) / 86,400,000 ms)Real-World Example
Scenario
Someone born 1988-07-04 wants their exact age as of today (2026-04-18) for a visa application that requires years/months/days and total days.
Calculation
Years: 2026 − 1988 = 38, but the 2026 birthday (July 4) hasn't happened yet, so subtract 1 → 37 years Months: from July 4 2025 to April 4 2026 = 9 full months Days: from April 4 2026 to April 18 2026 = 14 days Total days: (2026-04-18 − 1988-07-04) ≈ 13,803 days
Result
37 years, 9 months, 14 days lived — or 13,803 total days. Consulates and HR systems usually want the years-months-days form; actuarial and demographic work uses total days.
Common Mistakes to Avoid
Mistake: Misreading Feb 29 birthdays
Solution: A person born Feb 29, 2000 is legally 26 years old as of 2026, not 6 (one birthday every 4 years). Age laws count full years elapsed, not birthdays celebrated. This calculator returns the correct legal age.
Mistake: Timezone drift on the day of a birthday
Solution: If today is the birthday in the user's timezone but not yet in UTC, some calculators show the age as one less. This is a timezone bug, not a conversion issue — check your system clock's offset if the result seems off by exactly one year.
Mistake: Using East Asian age conventions without flagging
Solution: Traditional Korean, Chinese, and some other systems count age differently (starting at 1 at birth, incrementing at New Year). This calculator gives Western age only; convert manually for other systems.
Mistake: Confusing completed-years with next-birthday-years
Solution: A person 'in their 30th year' is 29 (completed 29 years). A 30-year-old has completed 30. Legal and medical records use completed years; informal speech sometimes doesn't.
Age vs. Related Calculators
Date Difference Calculator
For generic two-date differences (not tied to birthdays). Same math, but without the 'next birthday' framing.
Days Until Calculator
Flips the question: how long until a future birthday or milestone age? Useful for countdown use cases.
Countdown Calculator
Live countdown version for a fixed future date (including an upcoming milestone birthday).
When This Isn't the Right Tool
Gestational age or corrected age for preterm infants
Use instead: Pediatric medicine uses gestational age and corrected age (chronological age minus weeks-premature). Use a corrected-age calculator or clinical tool.
Dog-year or biological-age approximations
Use instead: 'Dog years = human years × 7' is folklore, not science. Biological-age clocks (epigenetic, telomere) require lab data, not a birthdate.
East Asian traditional age systems
Use instead: Korea officially moved to Western age in 2023, but some documents still use traditional count. Use a Korean age calculator if you need the pre-2023 convention.
Age at a historical or uncertain date
Use instead: For genealogy with only year-of-birth known, the calculator returns misleading precision. Use year-only estimation with explicit uncertainty.
How to Verify This Calculation
In Excel, =DATEDIF(birthdate, TODAY(), "y") gives years, "ym" gives leftover months, "md" gives leftover days. =TODAY() − birthdate (formatted as number) gives total days. Agreement with the calculator confirms the result.
Sources
- SSA — Retirement Age Calculator — Social Security Administration's official guidance on retirement ages (62, full retirement age, 70) — relevant to age-based eligibility planning.
- Medicare — Eligibility and Enrollment — Medicare enrollment windows are defined by age; the initial enrollment period spans 3 months before to 3 months after age 65.
- ISO 8601 — Date and Time Format — International standard for representing birthdates and age spans, which underpins date arithmetic in most systems.
Reviewed by the Calcura editorial team · Last reviewed