How to Calculate Age from Date of Birth (3 Easy Methods)

Three reliable methods to calculate exact age from any date of birth — manual step-by-step, Excel and Google Sheets formulas, and a free online calculator. Covers leap years, legal age verification, age in total days, and real-world use cases.

Calculating someone's exact age sounds trivially simple — until you need it to be precise. Subtracting birth years gives you a rough estimate, but getting the right answer down to years, months, and days requires handling month boundaries, day-of-month comparisons, and the occasional leap year curveball.

Whether you need an exact age for a legal document, a research dataset, a spreadsheet, or just personal curiosity — here are three reliable methods, from quickest to most precise.


Quick Comparison: Which Method Should You Use?

Method Precision Best For Time Required
Year subtraction Years only Quick estimate, mental math 5 seconds
Manual step-by-step Years + months + days Exact age without tools 2 minutes
Excel / Google Sheets Years + months + days Bulk calculations, spreadsheets 30 seconds
Online age calculator Years + months + days + total days Instant single result 5 seconds

Method 1: Simple Year Subtraction

The fastest way to estimate age — useful for mental math and quick checks.

Estimated Age = Current Year − Birth Year

Then adjust: subtract 1 if the birthday has not yet occurred this calendar year.

Worked Example

Born: June 15, 1990 | Today: March 5, 2025

  • 2025 − 1990 = 35
  • Birthday is June 15 — it hasn't passed yet (it's only March)
  • Subtract 1 → Age = 34 years old

When the Adjustment Applies

Scenario Adjustment Reason
Today is before the birthday month −1 Birthday hasn't happened yet this year
Today is in the birthday month, before the day −1 Birthday hasn't happened yet this year
Today is the birthday 0 Birthday is today — they just turned that age
Today is after the birthday month 0 Birthday already passed this year

Limitation: This method only gives full years. It tells you someone is "34" but not whether they're 34 years and 2 months or 34 years and 11 months — which matters for legal, medical, and research purposes.


Method 2: Exact Age in Years, Months & Days

For a precise result without any tools, follow these three steps. Use the same example throughout: born June 15, 1990 — today is March 5, 2025.

Step 1 — Calculate Full Years

Subtract the birth year from the current year, then check whether the birthday has passed this year.

  • 2025 − 1990 = 35
  • Birthday (June 15) has not passed yet in March → subtract 1
  • Full years = 34

Step 2 — Calculate Remaining Months

Count forward from the last birthday (June 15, 2024) to today (March 5, 2025).

  • June → July → August → September → October → November → December → January → February → March = 9 months
  • But today is March 5, and the birth day is the 15th — the current day (5) is before the birth day (15), so the current month isn't complete yet
  • Subtract 1 → Remaining months = 8

Step 3 — Calculate Remaining Days

Since the current month isn't complete, borrow days from the previous month (February 2025 had 28 days).

  • Days remaining in February after the 15th: 28 − 15 = 13 days
  • Plus days elapsed in March: 5 days
  • Remaining days = 13 + 5 = 18

✅ Final Result

Age = 34 years, 8 months, 18 days

Step-by-Step Summary Table

Step Operation Result
Full years 2025 − 1990, birthday not yet passed → −1 34 years
Remaining months June to March = 9, day not reached → −1 8 months
Remaining days Feb days after 15th (13) + March days so far (5) 18 days

Method 3: Excel & Google Sheets Formulas

Excel and Google Sheets both support the DATEDIF function, which handles all the month-boundary and leap year logic automatically. Assume the date of birth is in cell A1.

Core DATEDIF Formulas

Formula Unit Code Returns
=DATEDIF(A1, TODAY(), "Y") "Y" Complete years elapsed
=DATEDIF(A1, TODAY(), "M") "M" Total complete months elapsed
=DATEDIF(A1, TODAY(), "D") "D" Total complete days elapsed
=DATEDIF(A1, TODAY(), "YM") "YM" Remaining months after full years
=DATEDIF(A1, TODAY(), "MD") "MD" Remaining days after full months
=DATEDIF(A1, TODAY(), "YD") "YD" Remaining days after full years

Full Formatted Age String

Combine all three units into one readable cell:

=DATEDIF(A1,TODAY(),"Y") & " years, " & DATEDIF(A1,TODAY(),"YM") & " months, " & DATEDIF(A1,TODAY(),"MD") & " days"

Output: 34 years, 8 months, 18 days

Age in Total Days Only

=DATEDIF(A1, TODAY(), "D")

Or equivalently:

=TODAY() - A1

(Format the result cell as a Number, not a Date.)

Age at a Specific Past or Future Date

Replace TODAY() with any date to calculate age at that point in time:

=DATEDIF(A1, DATE(2030, 6, 15), "Y")

Bulk Age Calculation (Multiple People)

Put dates of birth in column A (A2 downward) and enter this formula in B2, then drag down:

=DATEDIF(A2, TODAY(), "Y") & " yrs, " & DATEDIF(A2, TODAY(), "YM") & " mo"

Google Sheets note: DATEDIF works identically in Google Sheets. It is a legacy function in Excel — it works perfectly but does not appear in Excel's autocomplete suggestions, so type it manually in full.


Method 4: Calculate Age in Total Days

Sometimes you need age expressed as a single number of days — for scientific research, age-based algorithms, or curiosity.

Total Days = (Current Date) − (Birth Date)

Since months have different lengths and leap years add an extra day every 4 years, this is best handled by a calculator or spreadsheet rather than manual arithmetic.

Approximate Manual Estimate

Total Days ≈ (Age in Years × 365.25) + (Remaining Months × 30.44) + Remaining Days

The 365.25 accounts for the average leap year effect (one extra day every 4 years).

Example: 34 years, 8 months, 18 days

  • 34 × 365.25 = 12,418.5
  • 8 × 30.44 = 243.5
    • 18 days
  • ≈ 12,680 total days

Leap Year Birthdays: February 29

People born on February 29 face a unique situation — their exact birthday only exists in leap years (every 4 years: 2000, 2004, 2008 … 2024, 2028).

Different jurisdictions handle this differently:

Country / Region Non-Leap Year Birthday
United Kingdom March 1
Hong Kong March 1
New Zealand March 1
Taiwan February 28
Most US states February 28
Germany February 28

Calculating Age for a Leap Year Birthday

Born: February 29, 1996 | Today: March 5, 2025 (non-leap year)

  • Last "real" birthday: February 29, 2024 (leap year) — age turned 28
  • In 2025 (non-leap year), legal birthday is Feb 28 or Mar 1 depending on jurisdiction
  • As of March 5, 2025 → Age = 29 years

Knowing whether someone has reached a specific age threshold is one of the most common real-world uses of age calculation.

The 18+ Check

If (Current Year − Birth Year) > 18  →  Definitely 18 or older
If (Current Year − Birth Year) = 18  →  Check if birthday has passed this year
If (Current Year − Birth Year) < 18  →  Definitely under 18

Age Threshold Quick Reference

Threshold Common Legal Purpose
13 COPPA (US online data privacy), social media minimum age
16 Driving licence (many countries), minimum working age
18 Voting, contracts, adult content, military enlistment
21 Alcohol (USA), car hire without surcharge
25 Car hire standard rate (UK/Europe)
65 Standard retirement age / pension eligibility (many countries)

Excel Formula for Age Gate (18+ Check)

=IF(DATEDIF(A1, TODAY(), "Y") >= 18, "Eligible", "Under 18")

Real-World Use Cases

Age calculation comes up in far more contexts than most people expect:

Field Use Case
Healthcare Patient age at diagnosis, medication dosing by age, developmental milestones
Legal Verifying legal age for contracts, driving, voting, alcohol
Education School year eligibility (cutoff dates), grade placement
Research Participant demographics, age-stratified data analysis
HR / Employment Retirement eligibility, pension calculations, seniority
Finance Life insurance premiums, pension projections, mortgage term limits
Sports Age-category eligibility (youth leagues, masters divisions)
Personal Milestone birthdays, anniversary countdowns, "days alive" curiosity

Common Mistakes to Avoid

❌ Mistake ✅ Correct Approach
Subtracting years without checking if birthday passed Always check month and day before finalising year count
Averaging month length as 30 days Use actual days in each month, especially February
Forgetting leap years in day-count calculations Use 365.25 for estimates, or a calculator for exact counts
Using TODAY() - A1 and leaving cell formatted as Date Format the result cell as Number to see days, not a date
Assuming Feb 29 birthdays are always Feb 28 in non-leap years Check jurisdiction — UK/NZ use March 1, US/Germany use Feb 28

Frequently Asked Questions

Q: How do I calculate age without knowing the exact birth date? If you only know the birth year, use year subtraction for an estimate. If you know the birth month but not the day, assume the 15th as a midpoint estimate — this gives you accuracy within ±15 days.

Q: Why does DATEDIF not show up in Excel's autocomplete? DATEDIF is a legacy function inherited from Lotus 1-2-3. Microsoft never officially documented it in modern Excel, so it doesn't appear in the formula wizard — but it works perfectly. Type it manually in full.

Q: What is the most accurate way to calculate age? For maximum precision, use an online age calculator or the Excel DATEDIF function — both handle month-length variations and leap years automatically. Manual calculation is accurate if you follow the three-step method carefully.

Q: How do I calculate someone's age on a specific past date? Subtract the birth date from the target date using the same method — just replace "today" with the target date in every step. In Excel: =DATEDIF(A1, DATE(year, month, day), "Y").

Q: How many days old am I? Subtract your date of birth from today's date. In Excel: =TODAY()-A1 (format as Number). For a quick estimate: multiply your age in years by 365.25.


Quick Reference Summary

Task Method / Formula
Quick age estimate Current Year − Birth Year (−1 if birthday not yet passed)
Exact age (manual) 3-step: years → remaining months → remaining days
Age in Excel (years) =DATEDIF(A1, TODAY(), "Y")
Age in Excel (full) =DATEDIF(A1,TODAY(),"Y") & " yrs, " & DATEDIF(A1,TODAY(),"YM") & " mo, " & DATEDIF(A1,TODAY(),"MD") & " days"
Total days alive =TODAY() - A1 (format cell as Number)
Age at specific date =DATEDIF(A1, DATE(yyyy,mm,dd), "Y")
18+ eligibility check =IF(DATEDIF(A1,TODAY(),"Y")>=18,"Eligible","Under 18")

Use our free Age Calculator to get any of these results instantly — enter a date of birth and see exact age in years, months, days, and total days lived with zero formulas required.

Back to Blog

Content writer at Basic Calculator Online. Specialises in making math, finance, and health calculations easy to understand for everyone.

Try the Free Calculator

Put this guide into practice instantly with our free how to calculate tools — no sign-up required.

Browse All Tools