Why this is not just "total days ÷ 365.25"#
A naive age calculation divides the total number of days lived by 365.25 (the average length of a year, accounting for leap years) and rounds — which produces a plausible-looking number that is frequently off by a day or more from what a calendar actually says, because real months vary from 28 to 31 days and the average glosses over that. This tool instead works the way a person counting age by hand would: subtract the birth month and day from the reference month and day directly, borrowing a month's worth of real days (correctly, from whichever specific month precedes the reference date) whenever the day-of-month subtraction goes negative.
How a February 29 birthday is handled#
A birthday on February 29 only exists once every four years, which makes the exact anniversary genuinely ambiguous in a non-leap year — there is no universal convention for whether it lands on February 28 or March 1. This tool resolves it consistently by working from the actual number of days in the relevant month rather than guessing, so the result is always internally consistent even in this edge case, rather than producing an off-by-one surprise.
Why you can calculate age as of any date, not just today#
A birth-date-to-today calculation is the most common use, but not the only one — figuring out exactly how old someone was (or will be) on a specific date, like a contract signing, an eligibility cutoff, or an anniversary, needs the same calendar-aware math applied to a different reference point. This tool exposes that reference date as a normal input instead of hardcoding it to today.