Also available in: Español · Português · Français · العربية
Age Calculator: Work Out Exact Age in Years, Months and Days
Enter a date of birth and get your exact age, down to the day, calculated entirely in your browser.
What is an age calculator?
An age calculator takes a date of birth and works out exactly how old that makes someone, expressed as years, months and days rather than a single rounded number. This one runs the arithmetic entirely in your browser: type in a birth date, and it returns a precise, calendar-correct age with no server round trip and nothing to upload.
Ask it about someone born on 15 June 1990, checked on 27 July 2026, and it answers 36 years, 1 month and 12 days — then breaks that same span down as 433 months, 1,884 weeks, 13,191 days or 316,584 hours, notes that the birth date fell on a Friday, and counts the 9 leap days lived through along the way. It also looks ahead: their next birthday is 15 June 2027, 323 days away, turning 37.
How to use it
- Enter the date of birth. Type or pick the birth date in the Date of birth field. Impossible dates — 31 April, 29 February outside a leap year, a date later than the one you are asking about — are refused rather than guessed at.
- Choose the date to calculate the age on. The Age on field starts pre-filled with today, so you get a current age by default. Change it to ask how old someone was on a past date or will be on a future one, or press Today to snap straight back.
- Read the results. The headline is years, months and days, with the same span also shown as total months, weeks, days, hours and minutes, the birth weekday, and a next-birthday block giving the date, days remaining and the age being turned. Everything recalculates live as you change either field, and a note appears whenever month clamping or a 29 February birthday has affected the result.
Why a month has no fixed length
Ask what date is one month after 31 January and there is not a single correct answer, because months do not hold a constant length. JavaScript's own date arithmetic actually skids past February altogether: new Date(2025, 0, 31).setMonth(1) returns 3 March 2025, not a date in February at all, because 31 February does not exist and the overflow spills into March. This tool avoids that by clamping — a month is complete when the same day of the month comes round again, or when the month runs out first, whichever happens sooner. Under that rule, one month after 31 January 2025 is 28 February, and 29 February in a leap year.
That clamping has a real, slightly odd consequence: for someone born on 31 January 2025, the first month of their life lasts only 28 days, ending on 28 February, while the second month runs the full 31 days to 31 March. Land on 1 March and they are one month and one day old. It is not a bug so much as an honest reflection of the calendar — and the tool flags it with a note whenever this clamping has actually changed the answer, rather than quietly absorbing it.
Leap-day birthdays get the same treatment. Someone born on 29 February 2024 has their next birthday fall on 28 February 2025 under this rule, and the first birthday that lands on an actual 29 February again is in 2028, when they turn four. That is a convention, not a law of nature — some legal systems instead treat 1 March as the birthday in non-leap years — and it rests on the same century rule that makes 1900 not a leap year, 2000 one, and 2100 not one either. To be sure none of this breaks in an odd corner, 5,600 date pairs were checked: no result ever comes back with a negative number of months or days, and every breakdown adds back up to the date asked about.
What counts as a day, and what counts as today
Even a plain day is less fixed than it feels. In a timezone that observes daylight saving — Europe/Madrid was used to measure this — the span from 1 March to 1 April 2025 comes to 30.958333 days if you divide it out in milliseconds, a full hour short of 31, because one day that month was only 23 hours long. Every count on this page is done on the calendar instead, so it reports a clean 31 days — and it follows that the hours and minutes figures are calendar days multiplied out on the assumption that every day runs 24 hours, so in a zone that changes its clocks, the real elapsed hours can be off by an hour or two a year.
Even today is not one fixed date worldwide. Measured at a single instant — 27 July 2026, 11:30 UTC — three different calendar dates were simultaneously in use somewhere on Earth: 26 July was still current in UTC-12, 27 July held across most of the world, and Kiritimati, at UTC+14, was already into 28 July. Time zone offsets span 26 hours in total, so that is the normal state of the world, not an edge case, and it is why a birthday can arrive at a different moment for two people. This tool simply uses whatever date your own browser reports, which is almost always the one you want.
Even the resulting age is a convention rather than a fixed fact. East Asian age reckoning counts a newborn as one year old at birth and adds a year to everyone at New Year rather than on their birthday, so a person's stated age there can differ from the figure here by a year or two; South Korea only moved its official documents to international age counting in June 2023. This tool calculates international age throughout — birthday to birthday, the way most of the world now counts it.
Why is it free?
Every calculation happens in your browser, using the date fields you typed — nothing is sent to a server, logged, or stored. There is no account to create and no upload involved, so there is nothing to wait on and nothing to sign away.
FreeToGenerate.com does not watermark results or hold anything back for a paid tier. This tool, like the rest of the site, is free to use in full, for as long as you need it.