LazyTools Header
Recurring Date Generator — Multiple Patterns, CSV Export | LazyTools
Date & Time Tool

Free Recurring Date Generator — Multiple Patterns & CSV Export

Generate a complete list of recurring dates for any schedule pattern. Choose from daily, weekly, monthly, yearly, weekdays only, specific day names, or the 1st, 15th or last day of each month. Furthermore, the unique multi-pattern mode lets you add several patterns simultaneously — for example, every Monday plus the 15th of each month — and combines them into a single chronological list, exportable as CSV.

11 recurrence patternsMulti-pattern modeSkip weekends optionCSV & plain text exportUp to 500 dates

How to use the Recurring Date Generator

1
Set the start and end dates
Enter the start date for the first occurrence and the until date for the last. Furthermore, the tool generates every recurring date in that range — no limit on the date span, though a maximum of 500 dates applies per pattern to keep output manageable.
2
Configure the first pattern
One pattern row appears by default. Choose the interval (every 1, 2, 3 …), the unit (days, weeks, months, years, weekdays or specific day names) and optionally a label. Furthermore, the label appears in the output table and CSV, making it easy to distinguish dates from different patterns.
3
Add more patterns for a combined schedule
Click "+ Add pattern" to add a second or third pattern. Furthermore, each pattern generates its own date sequence. All sequences merge into a single chronological list — so you can generate "every Monday" plus "every 15th of the month" and see one unified date list sorted by date.
4
Choose output options
Toggle "Skip weekends" to remove Saturday and Sunday dates from all patterns simultaneously. Additionally, toggle "Show pattern label" to keep or hide the label column in the output — useful when all dates come from a single pattern.
5
Generate and export
Click Generate Dates to see the complete table. Furthermore, click Copy CSV to copy the full list in comma-separated format — ready to paste into Excel, Google Sheets or any data tool. Copy list gives a plain-text version for Notion, Confluence or email.

Recurrence patterns available

The generator supports 11 recurrence units. Furthermore, these cover the most common scheduling patterns used in business, content planning and personal organisation.

PatternWhat it generatesCommon use case
DaysEvery N calendar days from start dateDaily standups, medication schedules
WeeksEvery N weeks from start dateSprint reviews, bi-weekly payroll
MonthsEvery N months, same day-of-monthMonthly reports, rent payments
YearsEvery N years, same dateAnnual renewals, anniversaries
Weekdays (Mon–Fri)Every working day, skipping weekendsDaily briefings, shift schedules
Specific day namesEvery Monday, Tuesday … FridayWeekly recurring meetings on a fixed day
1st of monthFirst calendar day of each monthInvoice dates, subscription billing
15th of month15th day of each monthMid-month payroll, tax instalments
Last day of monthFinal calendar day of each monthMonth-end reports, closing deadlines

How the multi-pattern mode works

Each pattern row generates its own date sequence independently. Furthermore, all sequences merge into a single list sorted chronologically. If two patterns produce the same date — for example, every Monday and the 1st of the month when the 1st is a Monday — the date appears only once, with the label of whichever pattern generated it first.

How recurring dates are calculated

The generator starts from the start date and advances by the specified interval repeatedly until the until date. Furthermore, each advance uses calendar arithmetic — months handle varying lengths correctly, and year advances handle leap-year February dates.

Next date = Current date + (N × unit duration)
N × days = adds N × 86,400,000 ms exactly
N × weeks = adds N × 7 × 86,400,000 ms
N × months = adds N to the month field, clamping to last day if needed
N × years = adds N to the year field, adjusting Feb 29 in non-leap targets
Weekday/day-name = iterates forward until the next matching day of week

Month-end clamping

Monthly recurrence from the 31st of a month advances to the 28th or 29th of February, rather than overflowing into March. Furthermore, the next monthly step from that February date uses the clipped day — so a sequence starting on January 31 continues February 28, March 28, not January 31, February 28, March 31. If you need consistent month-end dates, use the "Last day of month" pattern instead of a fixed day number.

Worked example: editorial content calendar

A marketing team needs to generate publication dates for three content types from 1 January 2026: blog posts every Tuesday, newsletters on the 1st of each month and social media roundups every Friday.

They add three patterns in the generator with the same start date (1 January 2026) and until date (31 December 2026), then click Generate Dates.

DateDayContent type
1 Jan 2026ThursdayNewsletter
2 Jan 2026FridaySocial roundup
6 Jan 2026TuesdayBlog post
9 Jan 2026FridaySocial roundup
13 Jan 2026TuesdayBlog post
1 Feb 2026SundayNewsletter
The generator produces one unified chronological list from three separate patterns — 52 blog posts, 52 social roundups and 12 newsletters for a total of 116 publication dates. Exporting as CSV pastes the full year calendar directly into any content planning tool.

What is a recurring date generator?

A recurring date generator creates a sequence of dates based on a repeating schedule rule. Furthermore, it replaces the manual work of opening a calendar and marking every instance of a recurring event — a task that becomes error-prone across months and particularly across year boundaries.

Most scheduling needs follow patterns — meetings repeat weekly, invoices go out on the 1st, reports publish every Friday. Furthermore, these patterns repeat across months and years. Moreover, generating lists manually requires care around month lengths, leap years and weekend positions — the generator handles all of these automatically.

Who uses recurring date generators?

Content creators build editorial calendars with publication dates for blogs, podcasts and newsletters. Project managers generate milestone dates for sprint ceremonies, retrospectives and delivery reviews. Furthermore, finance teams generate payment schedules, invoice dates and reporting deadlines for the full year.

HR departments generate recurring training dates, probation review dates and payroll processing windows. Operations teams plan preventive maintenance cycles and equipment inspection dates. Moreover, individuals use recurring generators for personal habit tracking, exercise schedules and study session calendars.

Why multi-pattern mode is different

Most recurring date tools generate one sequence at a time. The multi-pattern mode generates multiple sequences simultaneously and merges them. Furthermore, this lets you create a complete operational calendar from a single tool session — rather than running the generator separately for each content type and manually combining the results. The merged list exports as CSV, ready for any planning or content tool. Furthermore, this eliminates the need to combine separate exports manually.

Why recurring date generation matters for planning

Manually generating a year's worth of recurring dates takes time and introduces errors. A weekly cadence produces 52 dates per year. Furthermore, a bi-weekly schedule across two content streams produces over 100 dates annually. Furthermore, any manual error propagates silently until someone misses a deadline.

The CSV export makes the generated dates immediately usable in production planning tools. Most project management platforms, content management systems and spreadsheet applications accept CSV date imports. Moreover, teams that import a full-year recurring schedule at the start of the year avoid ad-hoc scheduling decisions that create inconsistent cadence.

How "skip weekends" supports business scheduling

Many recurring business schedules should avoid weekends — weekly reports published on weekdays, payment runs processed on working days, and reminders sent during business hours. Furthermore, the skip weekends option removes Saturday and Sunday dates from all active patterns simultaneously. This is more efficient than removing individual weekend dates from a long list after generation.

Frequently asked questions

You can add as many patterns as needed. Furthermore, each pattern generates its own sequence and all sequences merge into a single chronological output. The practical limit is the 500-date-per-pattern cap — a weekly pattern over two years would produce approximately 104 dates, well within this limit. Very high-frequency patterns such as daily over multiple years may hit the 500-date cap and stop at that point.
Duplicate dates — the same calendar date from two different patterns — appear only once in the merged output. Furthermore, the label shown for that date comes from whichever pattern generated it first. If you need both labels to appear, add a distinguishing prefix to each label (e.g. "Blog — Tuesday" and "Newsletter — 1st") so the date shows the correct pattern association even when dates coincide.
Yes. The CSV export includes a header row: Date, Day, ISO Date, Pattern. Furthermore, the ISO Date column uses the YYYY-MM-DD format required by most database import tools and spreadsheet date parsers. The human-readable Date column uses day-month-year format. Both columns are included so you can use whichever format your target tool requires.
The last-day-of-month pattern always resolves to the correct final day of each calendar month. January 31, February 28 or 29, March 31, April 30, and so on. Furthermore, this is more reliable than using a fixed day number like "31" — which would skip months that have fewer than 31 days. Use this pattern for true month-end billing, reporting and deadline schedules.
Yes. Set a start date in the past and the until date to any point in the past or future. Furthermore, the generator produces the full sequence between those dates regardless of whether they are before or after today. This is useful for creating historical records of when recurring events occurred — for audits, performance reviews or activity logs.

Related Date & Time tools

Every tool on LazyTools runs in your browser. Nothing is uploaded or stored.

Calendar Generator

Generate a monthly or yearly calendar grid. Additionally, add named events directly into the calendar cells.

Calendar Week Number

Find ISO week numbers for any date. Furthermore, the sprint planner generates all sprint weeks for a full quarter.

Business Days Calculator

Count working days with UAE, Gulf and US holiday calendars. Moreover, add N business days to any start date.

Date Add / Subtract

Add or subtract days, weeks, months and years. Furthermore, chain multiple operations in a step-by-step timeline.

Countdown Timer

Live countdown to any target date. Moreover, milestone markers appear at key intervals along the way.

Days Until Calculator

Find days until any event. Additionally, a multi-event dashboard tracks ten countdowns simultaneously.

Rate this tool

4.2
out of 5
423 ratings
5 ★
65%
4 ★
17%
3 ★
5%
2 ★
3%
1 ★
10%
How useful was this tool?