- Quick Comparison: Which Method Should You Use?
- Method 1: Simple Year Subtraction
- Method 2: Exact Age in Years, Months & Days
- Method 3: Excel & Google Sheets Formulas
- Method 4: Calculate Age in Total Days
- Leap Year Birthdays: February 29
- Legal Age Verification
- Real-World Use Cases
- Common Mistakes to Avoid
- Frequently Asked Questions
- Quick Reference Summary
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:
DATEDIFworks 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).
Legal Birthday in Non-Leap Years
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
Legal Age Verification
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.
Try the Free Calculator
Put this guide into practice instantly with our free how to calculate tools — no sign-up required.
Browse All Tools