Everyone knows their age in years — but job forms, visa applications, and pension paperwork sometimes want it in years, months, and days. Learning how to calculate age from date of birth by hand is straightforward once you know the borrow method, and this guide walks through it with fully worked examples.
You will also learn the trap that breaks manual calculations: February 29 birthdays. People born on leap day are where hand math and real calendars disagree, and this guide shows exactly why — with the arithmetic verified against our calculator so the article and the tool always agree.
For instant results, our free Age Calculator computes your exact age in years, months, days — plus total days, hours, and your next birthday — straight from your date of birth.
Table of Contents
- How to Calculate Age From Date of Birth Manually (The Borrow Method)
- Worked Example: When You Have to Borrow
- The February 29 Trap: Why Leap-Day Birthdays Break Hand Math
- How to Calculate Age From Date of Birth in Excel
- Common Mistakes When Calculating Age
- How to Calculate Age From Date of Birth for Official Forms
- Try It: Calculate Your Exact Age
- Frequently Asked Questions
How to Calculate Age From Date of Birth Manually (The Borrow Method)
The standard way to learn how to calculate age from date of birth by hand works like column subtraction, with a twist: when the day or month of “today” is smaller than the day or month of the birth date, you borrow — just like subtracting in primary school, except you borrow months and days instead of tens and ones.
Here is the procedure:
- Write today and the birth date as day / month / year.
- Subtract the days. If today’s day is smaller than the birth day, borrow the number of days in the previous month and add it to today’s day, then subtract 1 from today’s month.
- Subtract the months. If today’s month (after any borrowing) is smaller than the birth month, add 12 to today’s month and subtract 1 from today’s year.
- Subtract the years. The result is years, months, days.
Worked example (no borrowing needed). Today: 26 September 2026. Date of birth: 14 March 1994.
- Days: 26 − 14 = 12
- Months: 9 − 3 = 6
- Years: 2026 − 1994 = 32
Age: 32 years, 6 months, 12 days. Clean and simple — but real dates usually require borrowing, which is where people go wrong.
Worked Example: When You Have to Borrow
Today: 26 September 2026. Date of birth: 20 October 1990. Walk through how to calculate age from date of birth when borrowing is needed:
Step 1 — days. Today’s day (26) minus birth day (20) = 6. No borrowing needed here: 6 days.
Step 2 — months. Today’s month (9, September) minus birth month (10, October). 9 is smaller than 10, so borrow: add 12 months → 9 + 12 = 21; 21 − 10 = 11 months; and reduce today’s year by 1 (2026 → 2025).
Step 3 — years. 2025 − 1990 = 35 years.
Age: 35 years, 11 months, 6 days.
Now the harder case — borrowing days. Today: 5 March 2026. Date of birth: 18 January 2001.
Step 1 — days. 5 − 18: today’s day is smaller, so borrow the days of the previous month (February 2026 — not a leap year, so 28 days). 5 + 28 = 33; 33 − 18 = 15 days; reduce today’s month by 1 (March → February, month 2).
Step 2 — months. 2 − 1 = 1 month.
Step 3 — years. 2026 − 2001 = 25 years.
Age: 25 years, 1 month, 15 days.
The critical detail most people miss: you borrow the length of the previous month, which varies. Borrowing across March means 28 (or 29) days; borrowing across May means 30 days; borrowing across August means 31. Using a flat 30 days — the most common shortcut — silently gives the wrong answer whenever the previous month is not 30 days long. That shortcut is fine for rough estimates and wrong for paperwork.
The February 29 Trap: Why Leap-Day Birthdays Break Hand Math
Here is the trap I promised — the case that breaks most people’s attempt to calculate age from date of birth by hand. Consider someone born on 29 February 2000 (a leap year — 2000 is divisible by 400). Today is 26 September 2026, which is not a leap year. How do you calculate age from date of birth when the birth date does not exist in the current year?
The naive hand calculation treats 29 February as a normal day:
- Days: 26 − 29 → borrow 31 (August has 31 days): 26 + 31 = 57; 57 − 29 = 28 days; month 9 → 8.
- Months: 8 − 2 = 6 months.
- Years: 2026 − 2000 = 26 years.
Naive answer: 26 years, 6 months, 28 days — and that is also exactly what our Age Calculator returns, because it applies the same plain borrow method with no special-casing of 29 February. So where is the trap?
The trap is the anniversary question: when did this person turn 26? Ask the calculator for 28 February 2026 and it reports 25 years, 11 months, 30 days — the 26th year only completes on 1 March. In non-leap years the tool effectively follows the 1 March convention for Feb-29 birthdays: the missing 29 February pushes the anniversary to the next day.
Legal conventions genuinely differ here: most jurisdictions treat the birthday as 28 February in non-leap years, while some use 1 March. One day of difference — trivial until it decides pension eligibility or a visa age cutoff. If your paperwork follows the 28 February convention, treat the person as a year older one day earlier than the calculator shows.
Why does 2000 count as a leap year while 1900 does not? The leap year rule: a year is a leap year if divisible by 4, except century years, which must also be divisible by 400. So 2000 ✓, 1900 ✗, 2024 ✓, 2026 ✗. Anyone doing age math across century boundaries by hand needs this — and it is another reason to let the calculator handle it.
How to Calculate Age From Date of Birth in Excel
For spreadsheets, Excel and Google Sheets both have DATEDIF — a function so old it is undocumented in Excel’s help but still works everywhere:
=DATEDIF(birth_date_cell, TODAY(), "Y") → completed years
=DATEDIF(birth_date_cell, TODAY(), "YM") → extra months beyond those years
=DATEDIF(birth_date_cell, TODAY(), "MD") → extra days beyond those months
Combine them for a full reading of how to calculate age from date of birth in a spreadsheet:
=DATEDIF(A2, TODAY(), "Y") & " years, " & DATEDIF(A2, TODAY(), "YM") & " months, " & DATEDIF(A2, TODAY(), "MD") & " days"
Two honest caveats. First, DATEDIF’s "MD" unit has documented quirks around month ends — it can return surprising day counts for dates like 31 January to 1 March. Microsoft’s own guidance is lukewarm about it. Second, spreadsheets recalculate TODAY() daily, so a saved sheet quietly changes its answers over time — fine for a living HR sheet, bad for a frozen record. For a one-off exact answer, the Age Calculator is simpler and does not drift.
Common Mistakes When Calculating Age
- Using a flat 30 days per month when borrowing. Months are 28–31 days; the shortcut corrupts the day count.
- Forgetting the leap-year borrow. Borrowing days across March in a leap year means 29 days, not 28. One day off, silently.
- Counting the birthday itself wrong. You turn a year older on your birthday, not the day after. “Years” in an age is completed years — on the morning of your 30th birthday you are 30 years and 0 days, not 29 years and 364 days.
- Mixing date formats. 03/04/2001 is 3 April in most of the world and March 4 in the US. For paperwork, always write the month as a word.
- Assuming Feb 29 birthdays work like normal ones. They do not — see the trap above. Know whether your form expects the 28 February or 1 March convention.
If you need the gap between two arbitrary dates rather than an age — project timelines, tenures, countdowns — our Date Calculator handles that, including the inclusive-vs-exclusive counting choice that trips everyone up (covered in our days-between-dates guide).
How to Calculate Age From Date of Birth for Official Forms
Knowing how to calculate age from date of birth matters most when a form asks for it precisely. Different documents want different formats, and using the wrong one causes rejections:
- Years only — most job applications and visa forms. Completed years as of today (or as of a stated cutoff date — read the fine print; “age as on 1 January” is common in government recruitment).
- Years, months, days — pension paperwork, insurance, some immigration forms. This is the borrow-method calculation from the first section.
- Total days — occasionally used in legal contexts. Our Age Calculator reports this alongside the standard breakdown.
Two practical rules. First, when a form states a cutoff date, calculate as of that date, not today — the borrow method works identically, just substitute the cutoff for “today.” Second, write dates unambiguously: “14 March 1994,” never “14/03/1994,” because day-month vs. month-day confusion has invalidated more forms than arithmetic errors ever have. If you have mastered how to calculate age from date of birth by hand, you can fill any of these formats confidently — and when the stakes are high, verify the hand math against the calculator before submitting.
Try It: Calculate Your Exact Age
Now that you have seen how to calculate age from date of birth manually, skip the borrowing and the leap-year traps for real use: enter your date of birth in the free Age Calculator and get your exact age in years, months, and days — plus total days lived and days until your next birthday. It runs in your browser; your birth date never leaves your device.
Frequently Asked Questions
How do I calculate my exact age in years, months and days?
Subtract the birth date from today’s date column by column (days, then months, then years), borrowing like in school subtraction: borrow the previous month’s actual day count when days go negative, and borrow 12 months when months go negative. Or use our Age Calculator for an instant, verified answer.
How old am I if I was born on February 29?
Our calculator advances the year count on 1 March in non-leap years — on 28 February it still shows the previous year plus 11 months and 30 days. Legally, most places treat the birthday as February 28 and some as March 1: a one-day difference worth knowing for official paperwork.
How do I calculate age in Excel from date of birth?
Use =DATEDIF(A2, TODAY(), “Y”) for years, “YM” for extra months, “MD” for extra days. Note that DATEDIF’s “MD” unit has known quirks around month ends, and TODAY() recalculates daily, so freeze results you need to keep.
Why is my manual age calculation off by one day?
Almost always one of three causes: borrowing a flat 30 days instead of the previous month’s real length, mishandling a February borrow in a leap year (29 vs 28 days), or a February 29 birthday treated naively. Check those three and the arithmetic will agree with any correct calculator.