Age Calculator
Exact age in years, months and days from a date of birth — Feb 29 and month-end policies stated, never silently picked — entirely on this device.
26 years, 5 months, 9 days
Totals
- Months
- 317
- Weeks
- 1379 weeks 3 days
- Days
- 9656
- Hours
- 231744
- Minutes
- 13904640
Hour and minute rows assume midnight-to-midnight — add birth and “as of” times for exact figures.
Birth and “as of” times refine the hour and minute rows only — years, months and days follow civil dates.
Next birthday
- Feb 28 convention
- 2027-02-28 (Sunday) — in 205 days
- Mar 1 convention
- 2027-03-01 (Monday) — in 206 days
- Next Feb 29
- 2028-02-29 (Tuesday) — in 571 days
- Born February 29 — in common years this readout rolls over on February 28; the next-birthday panel shows both the Feb 28 and Mar 1 conventions.
Press ? for shortcuts
Do it offline:$ datediff 2000-02-29 2026-08-07
How to use it
- Type the birth date — 2000-02-29, 29 Feb 2000 and 2000/02/29 all parse — or pick it; add a birth time if you know it.
- Leave “as of” empty to mean today on whatever device opens the page, press Today to pin this one's date, or type any other date, past or future.
- Read the headline age, the born-on line, the totals grid and the next-birthday panel; chips beside the result state any rule in play.
- Copy summary puts the whole readout on the clipboard as plain text; ⌘/Ctrl + S downloads the same bytes as a .txt file.
Enter a date of birth and read an exact age — years, months and days — as of today or any date you choose, with the weekday you were born and a countdown to the next birthday. A February 29 birth gets both conventions, February 28 and March 1, as separate rows. Optional birth and “as of” times sharpen the hour and minute totals. Every figure is computed on this device.
How it works
The months digit is the largest count of whole calendar months that fits between the birth date and the “as of” date, found by advancing month anchors from the birth date; the days left past the last anchor become the days digit. Anchors keep the birth day-of-month and clamp where a month is too short — so a 2000-01-31 birth reads 26 years, 1 month, 0 days on 2026-02-28, then 26 years, 1 month, 1 day on 2026-03-01. The clamp is why month-end lifetimes seem to pause at the end of February and step forward on March 1.
February 29 births make the policy visible. In common years the readout's years digit rolls over on February 28 — the clamped anchor — and in leap years it rolls exactly on February 29; a note states this on every leap-day result. The next-birthday panel refuses to pick a side: one row for the February 28 convention, one for March 1, and one for the next real February 29 under the 4/100/400 rule (2000 leapt; 1900 and 2100 do not). Jurisdictions that had to decide the question have decided it both ways, so both countdowns are always visible.
One civil-day count backs every total: 9,656 days becomes 1,379 weeks 3 days, and — with no times given — 231,744 hours and 13,904,640 minutes, midnight-to-midnight multiples flagged by the caption under the grid. Supplying both the birth time and the “as of” time upgrades exactly those two rows to minute precision. Nothing else moves: years, months and days are facts about calendar dates, so the headline, the weekday of birth and the birthday countdowns never consult a clock.
Examples
Born 2000-02-29 · as of 2026-08-0726 years, 5 months, 9 daysThe pre-loaded sample: born on a Tuesday; 317 months, 1,379 weeks 3 days, 9,656 days, 231,744 hours, 13,904,640 minutes. The birthday rows read 2027-02-28 (Sunday, in 205 days), 2027-03-01 (Monday, in 206 days) and the next real leap day, 2028-02-29 (Tuesday, in 571 days). The chip prints: “Born February 29 — in common years this readout rolls over on February 28; the next-birthday panel shows both the Feb 28 and Mar 1 conventions.”
Born 2000-01-31 · as of 2026-03-0126 years, 1 month, 1 dayThe borrow class: the 313th month anchor from a month-end birth clamps to 2026-02-28, leaving one day to 2026-03-01 — 26 years, 1 month, 1 day after 9,526 days. Pages that assume 30-day months, or count from the end date backward, print something else for this exact pair.
Born 1990-08-07 · as of 2026-08-0736 years, 0 months, 0 daysBirthday today: 36 exactly — zero months, zero days — after 13,149 days, for another Tuesday birth. The countdown row shows 2026-08-07 with 0 days and the chip prints: “Birthday today — the countdown shows 0 days, not a full year.”
Born 2000-02-29 06:30 · as of 2026-08-07 21:00231758.5 hours · 13,905,510 minutesThe teaching pair with both times set: the clock rows sharpen to 231758.5 hours and 13,905,510 minutes, while the headline stays 26 years, 5 months, 9 days — times refine the two finest totals and touch nothing else.
Every example on this page is executed against the same engine that powers the tool, on every build.
Gotchas worth knowing
February 29 readouts roll over on February 28
A 2000-02-29 birth reads 26 years, 0 months, 0 days on 2026-02-28 and 26 years, 0 months, 1 day on 2026-03-01; only in a leap year does the rollover land on a real February 29. The note chip states the rule whenever a leap-day birth is on screen.
Month-end births step at the month boundary
Born on the 31st, the months digit holds through short months: 26 years, 1 month, 0 days on 2026-02-28 becomes 26 years, 1 month, 1 day on 2026-03-01 — the days digit restarts at the clamped anchor, never at a fixed 30 or 31.
On the birthday itself the countdown is 0
The next-anniversary row keeps this year's date until it has passed: on the day it shows 0 days — never 365 — and a chip says so. From the next day the row flips to the following year.
Digit-only day/month order is refused, not guessed
Typing 03/04/2026 refuses with: “"03/04/2026" could be 3 April or 4 March — type the month name (4 Mar 2026) or use YYYY-MM-DD.” Fields also cap at 64 characters, refusing longer pastes with the limit named instead of trimming them.
Future dates compute a will-be age
An “as of” date after today — even a birth date after today — is a valid question and answers how old someone will be. Only a reversed pair refuses, with a typed error printing both dates so the swap is obvious.
Civil dates, no time zones
A birth date is a calendar fact with no time zone attached, and nothing here converts one. Near midnight two devices can disagree about today's date; typing an explicit “as of” date pins the answer wherever the link is opened.
Common errors
"03/04/2026" could be 3 April or 4 March — type the month name (4 Mar 2026) or use YYYY-MM-DD.- Two-small-numbers dates read differently by country, and a birth date in the wrong order is wrong by weeks — so digit-only day/month forms refuse, and the hint shows both escapes.
2023-02-29 is not a real date — February 2023 has 28 days.- The classic leap-day typo: 2023 fails the divisible-by-4 test, so its February stops at 28. The refusal names the real month length instead of rolling into March.
The “as of” date 2019-06-15 is before the birth date 2020-06-15 — age counts forward from the birth date.- Almost always the two fields were swapped. Both dates print in the message, blame on neither field, so the fix is a single glance.
Looks like a date and time — enter just the date, e.g. 2000-02-29.- A pasted date-and-time lands in the date-only field; the birth time has its own box. The hint hands back just the date part to keep.
FAQ
What is the difference between an age calculator and a days-between-dates calculator?
This page decomposes one lifetime — a birth date up to a chosen date — into calendar years, months and days, with anniversary rows and the weekday of birth; the sample span also totals 9,656 days, exactly what the datediff line below prints (Debian installs the binary as dateutils.ddiff). Measuring a general interval between two arbitrary dates is its own tool on this site; come here whenever one endpoint is a birth.
When does someone born on February 29 have a birthday?
Every leap year, on the real February 29 — the panel always shows the next one, 571 days out for the sample. In the three common years between, two conventions exist, February 28 and March 1, and places that have settled the question legally have not all settled it the same way; both rows stay visible with their own weekdays and countdowns, so either rule can be applied.
Why do age calculators disagree about the months-and-days part?
The years and the total days are beyond argument; the split into months and days is policy. Here whole calendar months advance from the birth date with month-end anchors clamped to real month lengths, and the remainder is counted in days from the last anchor. Tools assuming 30-day months, or anchoring on the end date instead, print different digits — most visibly for month-end and leap-day births.
How exact are the hours and minutes?
With dates alone they are midnight-to-midnight multiples of the day count — honest, and labeled as such by the caption. Add both the birth time and the “as of” time and those two rows become minute-exact, like the 231758.5-hour worked example. One time by itself changes nothing; a chip names the missing side. Seconds sit below this page's floor.
How old was I on a past date — or how old will I be on a future one?
Set “as of” to anything from 0001-01-01 through 9999-12-31: a past date answers what the age was then, a future one what it will be, and a future birth date works as long as “as of” is not before it. An empty “as of” always means today, so a shared link stays a living how-old-am-I-today answer.
What day of the week was I born?
The born-on line prints it next to the normalized date — Tuesday for the 2000-02-29 sample — straight from the calendar's own arithmetic on the proleptic Gregorian rules, with no device setting involved, so one birth date answers the same weekday everywhere.
Keyboard shortcuts
- ⌘/Ctrl + Enter
- Recompute from the current fields (results already follow valid edits).
- ⌘/Ctrl + C
- Copy the age summary while nothing is selected; a focused field keeps its normal copy.
- ⌘/Ctrl + Shift + C
- Copy the summary even over an active selection.
- ⌘/Ctrl + S
- Download the summary as an age-calculator .txt file instead of the browser's save-page dialog.
- t
- Cycle the color theme when no field has focus.
- ? or ⌘/Ctrl + /
- Open this page's shortcut help.
- Esc
- Close the open dialog.