Add Years, Months & Days to a Date
Add any combination of years, months, and days to a date to find the resulting date.
How to use this tool
- Enter start date, years to add, months to add and days to add in the fields above.
- Results update instantly as you type — or click Calculate.
- Read your result date and the full breakdown beneath it.
Add any combination of years, months, and days to a date to find the resulting date.
How it works
This tool adds a specified number of years, months, and days to a start date and returns the resulting date. It handles all the complexity of varying month lengths and leap years so you do not have to count manually.
Enter a start date, then fill in how many years, months, and days you want to add (any combination, including zero for fields you do not need). The tool applies the additions in order: first years, then months, then days, adjusting for month-end edge cases automatically. For example, adding one month to January 31 produces February 28 (or 29 in a leap year), not an invalid February 31.
This is useful for calculating contract end dates (start date plus 12 months), subscription renewal dates (plus 1 year), warranty expiry dates, trial period ends, and any deadline that is defined as a duration from a known date.
You can also add months and days without adding years, or mix all three. Negative values are not supported; use a date-difference tool if you need to subtract a duration.
Worked example
Calculate a 90-day trial expiry
- Enter start date: 2025-06-01
- Set years to add: 0
- Set months to add: 0
- Set days to add: 90
- Click Calculate
August 30, 2025
Common mistakes to avoid
- Expecting adding 1 month to always give exactly 30 or 31 days -- months have different lengths, so 1 month adds a calendar month, not a fixed day count.
- Leaving all duration fields at zero and wondering why the result equals the start date.
- Adding 12 months instead of 1 year when both give the same result -- either works, but using years is cleaner for annual calculations.
Key terms
- Duration
- A length of time expressed as a combination of years, months, and days.
- Month-end clamping
- When adding months results in a day that does not exist (e.g., February 31), the date is automatically adjusted to the last valid day of that month.
Frequently asked questions
- What happens when adding months pushes past month end?
- JavaScript's Date handles month overflow automatically: adding 1 month to January 31 gives March 2 or 3, since February does not have 31 days.
- Can I subtract time by using negative values?
- Yes — enter negative numbers for years, months, or days to subtract instead of add.