Skip to main content

Recurring Dates Generator

Generate an exact number of occurrences from a start date — every 2 weeks, every month, every year… — with the weekday of each date.

Embed this widget

Customize the result, check the live preview, then copy the code.

Preview

Embed code type

Code to copy

Responsive and automatically resized by Bethemesh.

Was this tool useful?

How does this tool work?

A meeting every other week, a payment on the 31st of each month, a yearly check: when you know the rhythm and how many occurrences you need, but not necessarily the end date, this generator lists them straight away. Enter a start date, a frequency, an interval and the number of dates you want: you get the whole series, numbered, with the weekday of each date — and therefore the date of the last occurrence.

The first occurrence is the start date. Occurrence number k (counting from 0) is the start date shifted by k × interval days, weeks, months or years. The series contains exactly the number of dates requested, up to 500.

A daily or weekly frequency moves by a fixed number of days and so keeps the same weekday. A monthly or yearly frequency keeps the same day of the month; when that day does not exist (the 31st in a 30-day month, 29 February outside a leap year), the occurrence goes on the last day of the month, and the series returns to the original day as soon as possible, because each occurrence is recomputed from the start date.

This differs from the iCalendar standard (RFC 5545) used by calendar apps, which skips an occurrence on a non-existent date without counting it. A “31st of every month” series in a calendar app therefore skips 30-day months, whereas this generator gives the last day of those months, which better matches a payment due date.

How to use this tool

  1. Pick the start date

    It is the first occurrence of the series.

  2. Enter the number of dates

    From 1 to 500, including the start date.

  3. Set the interval

    1 for every period, 2 for every other period, 3 for every third, and so on.

  4. Choose the frequency

    Daily, weekly, monthly or yearly: the series appears at once with weekdays.

How occurrences are computed

The number of occurrences sets the length of the series; the last date can be computed directly.

Occurrence number k

dₖ = d₀ + k × n, for k = 0 … N − 1

Last occurrence

d(N−1) = d₀ + (N − 1) × n

10 weekly dates span 9 weeks, not 10.

iCalendar equivalent

RRULE:FREQ=WEEKLY;INTERVAL=n;COUNT=N

The same series in a calendar app, apart from how non-existent dates are handled.

d₀
start date
n
interval, in the unit of the frequency
N
number of dates requested (1 to 500)

Use cases

Schedule regular meetings

Ten meetings every other week from a Friday, to announce them all at once.

Draw up a payment schedule

Twelve monthly instalments from 31 January, with month ends placed correctly.

Plan yearly reminders

Service, renewal or contract anniversary dates for the next five years.

Check a recurrence rule

Compare the series with your calendar app to understand a difference at month ends.

Examples

Every other week

Three Fridays, 14 days apart.

Input

Start Friday 9 October 2026, 3 dates, interval 2, weekly

Result

9 Oct, 23 Oct, 6 Nov 2026

The 31st of each month

2024 is a leap year, so February stops at the 29th; March gets the 31st back. An iCalendar app would give 31 Jan, 31 Mar, 31 May.

Input

Start 31 January 2024, 3 dates, interval 1, monthly

Result

31 Jan, 29 Feb, 31 Mar 2024

29 February every year

29 February returns in the next leap year.

Input

Start 29 February 2024, 5 dates, yearly

Result

2024-02-29, 2025-02-28, 2026-02-28, 2027-02-28, 2028-02-29

Tips and best practices

  • “Biweekly” is ambiguous in English: every other week (weekly, interval 2) gives 26 dates a year, while twice a month gives 24 — choose the one you actually mean.
  • If you know the end date rather than the number of occurrences, use the date range generator.
  • For technical scheduling down to the minute (server job, backup), the cron expression builder is a better fit.
  • The generator does not move dates that fall on a weekend or holiday; check them with the weekday shown.

Sources and references

Frequently asked questions

Does the start date count towards the number of dates?

Yes. With 10 weekly dates, the tenth falls 9 weeks after the start date.

What happens to the 31st in shorter months?

The occurrence goes on the last day of the month (30 April, 28 or 29 February), then the series returns to the 31st as soon as the month allows it.

Why doesn’t my calendar app give the same dates?

Calendar apps follow the iCalendar standard (RFC 5545), which skips occurrences on non-existent dates. A recurrence on the 31st therefore skips 30-day months and February there.

What is the maximum number of dates?

500 per series. For a longer horizon, run the calculation again from the last date you got.

Can I leave out weekends?

No. A weekly frequency starts on a weekday and keeps it; for working days, use the business days calculator instead.

How is it different from the date range generator?

The date range generator stops at an end date. This one produces a fixed number of occurrences, with no end date to provide.

Related tools

Tools similar or complementary to this one.

Similar tools

List every date between two endpoints, every N days, weeks, months or years.

Dates & timeUse this tool

Add or subtract days, weeks, months or years from a date and get the resulting date with its day of the week.

Dates & timeUse this tool

Build a standard cron expression, understand it and preview its next execution times.

Dates & timeFeaturedUse this tool