How to calculate exact age from a date of birth
Calendar-accurate age math is harder than "today minus birthday." Here is what the calculator does and how to use it for "age on a given date" questions.
Calculating someone's age sounds trivial: subtract the birthday from today. But it isn't. The calendar has 12-month-but-uneven-length cycles, leap years, and edge cases that "365.25 days per year" rounding doesn't handle. The Age Calculator does it the right way.
How age math really works
Age in years/months/days is computed by stepping through the calendar:
- Years: how many full years have passed between the birth date and the reference date?
- Months: of the remaining time, how many full months?
- Days: what's left over?
This is fundamentally different from "subtract milliseconds, divide by year length." Calendar-aware math says someone born on January 31 turns 1 month old on... actually, it's ambiguous, and that's why the calculation needs explicit rules.
Most implementations (including this one) use: if today.day >= birth.day, the month rolls over normally. If not, you've completed month_count - 1 full months and have a partial month remaining. Compute the days remainder from there.
Edge cases worth knowing
Leap day birthdays. Someone born February 29, 2000 has a "leap birthday." In non-leap years, when do they turn one year older — February 28 or March 1? Different jurisdictions answer differently. The calculator uses the "March 1 in non-leap years" convention (most common in English-speaking countries), but for legal age determinations you should always consult local rules.
Negative ages. If the reference date is before the birth date, the calculator shows the count without flipping signs — but in everyday usage, you'd just say "x is going to be born in y days."
Very old ages. Calendar reform happened in 1582 (Gregorian) but at different times across countries. Anyone genuinely older than the calendar in their region has ambiguous birthday math. Not a practical concern: nobody alive is 450 years old.
Using the reference date
The calculator lets you change the "reference date" — the day you're computing age relative to. By default it's today. But you can:
- Compute age as of a specific historical date. "How old was my grandmother on D-Day?"
- Compute future age. "How old will I be in 10 years' time on Christmas?"
- Verify age requirements. "Will my child be 18 by the time of the next general election?"
Set both dates, read the result. The calculator also tells you the days until the next birthday — useful for planning.
What this is not for
- Pregnancy / gestational age. That uses different conventions (weeks from last menstrual period vs weeks from conception). Use a pregnancy-specific calculator.
- Dog years / pet age. Different mappings for different species. A linear "7 years per human year" is famously wrong.
- Legal age of majority. Most places use exact-date math, but the few that use "year of birth" or other rules need local knowledge.
For "how old, exactly" — the calculator is precise to the day, accounting for every leap year, varying month length, and reference-date adjustment in between.