Recurring date generator

Build a series of dates (payment runs, reviews, medication refills, sprint starts) or list every date in a range, then export it.

Loading…

Why series are counted from the first date

The 5th occurrence of a monthly series starting 31 January is "31 January + 4 months", not "the 4th occurrence + 1 month". Calculating each date from the start keeps month-end schedules on the last day of every month and yearly 29 February schedules on 28 February in common years, then back to 29 February in leap years. The month-end clamping explainer shows what goes wrong otherwise.

Paydays and working-day rules

Payroll usually moves a weekend payday to the previous working day, while many billing systems move it to the next one. Pick the rule your organisation uses; moved dates are marked on the list and in the CSV. Skipping is useful for a list of business days in a range.

Questions people ask

How do I generate a list of recurring dates?
Choose a start date, how often it repeats (every N days, weeks, months or years) and when it stops (after a number of occurrences or on an end date). The list updates instantly and can be copied, downloaded as CSV or added to a calendar as an .ics file.
What happens to monthly dates on the 29th, 30th or 31st?
Each occurrence is calculated from the start date, so a series starting 31 January gives 28 (or 29) February, 31 March, 30 April, 31 May and so on. It never gets "stuck" on the 28th the way repeatedly adding a month to the previous result does.
Can I move dates that fall on weekends or holidays?
Yes. Choose to move them to the next working day, the previous working day (common for paydays), or skip them. Holidays follow US federal or UK (England and Wales) rules.
How do I make a list of every date in a range?
Set "every 1 day" and "until" the end date. Choose "skip non-working days" to list only business days. The list is capped at 500 dates.

Other date calculators