📅 Age on a Specific Date Calculator

Enter a birth date and any target date — like a census record, immigration document, or marriage record date — to find the exact age that person would have been.

How the age on that date is worked out

This is completed years only, the way an enumerator or a clerk would have written it. Both dates are read as UTC midnight, the years are subtracted, and one year is taken back off if the birthday had not yet come round:

age = targetYear - birthYear
hadBirthday = targetMonth > birthMonth
           or (targetMonth == birthMonth and targetDay >= birthDay)
if not hadBirthday: age -= 1

A girl born 12 September 1868, counted on the 1880 US census day of 1 June 1880, was 11 — not 12. June comes before September, so the subtraction of 1880 from 1868 is rolled back a year. If the census sheet says 12, either the birth year is a year early or the age was reported to the nearest birthday.

Which date to use for a record

Censuses record age as of an official day, not the day the enumerator called:

RecordDate to enter
US census, 1850–19001 June of the census year
US census, 191015 April 1910
US census, 19201 January 1920
US census, 1930, 1940, 19501 April of that year
A target date before the birth date is not an error. The tool returns a "Not Yet Born" card instead, which is the answer you want when you are testing whether a candidate birth year can belong to the person named in a record.

Frequently asked questions

Why is my ancestor's census age one year off?

Usually the birthday fell between the census day and the visit, or a neighbour answered for the household. A one-year gap is normal; two or more suggests you have the wrong person or a guessed age.

Does it give months and days as well as years?

No, this one reports whole completed years, which is what age columns on records contain. For years, months and days use the Age at Death Calculator, which takes any two dates.

What date do I use for the 1911 England and Wales census?

Census night, 2 April 1911. Enter that as the target date; ages on the schedule were meant to be the age reached at the last birthday before it.