Date Pattern Generator
Generate a list of recurring dates by pattern: every N days, every N weeks on chosen weekdays, monthly on a day-of-month, the Nth weekday of each month, or last weekday. Skip weekends and holidays, bound by end date or count, and export to CSV, Markdown, or ICS calendar feed.
Your ad blocker is preventing us from showing ads
MiniWebtool is free because of ads. If this tool helped you, please support us by going Premium (ad‑free + faster tools), or allowlist MiniWebtool.com and reload.
- Allow ads for MiniWebtool.com, then reload
- Or upgrade to Premium (ad‑free)
About Date Pattern Generator
The Date Pattern Generator turns a recurrence rule into a clean list of real calendar dates. Pick one of seven patterns — every N days, every N weeks on chosen weekdays, every working day, monthly on a fixed day-of-month, monthly on the Nth weekday (such as the second Tuesday), monthly on the last weekday (such as the last Friday), or a custom weekday combination — then bound the schedule by a count or an end date. Built-in calendars for eleven countries handle national holidays, and you can paste any company off-days that need to be skipped. Each occurrence that lands on a weekend or holiday is handled by your chosen rule: keep it, roll forward, roll backward, or drop. The output includes a year-grid heatmap, gap and weekday distributions, and one-click export to CSV, Markdown, ICS (calendar feed), and plain text.
How to Use This Generator
- Pick a pattern. The pattern dropdown reveals its own controls. "Every N days" needs only an interval. "Every N weeks" lets you tick one or more weekdays per block. The two monthly patterns split into day-of-month (like rent on the 1st) and Nth-weekday-of-month (like the 2nd Tuesday for board meetings).
- Set the start date. The first occurrence is on or after this date. For monthly patterns the start anchors the month of the first emission.
- Bound the schedule. Stop after a fixed number of occurrences (up to 500) or stop on or before an end date. The generator picks whichever limit you choose.
- Pick a weekend / holiday rule. Keep emits the raw date even if it falls on a weekend. Roll forward moves it to the next working day. Roll backward moves it to the previous working day. Drop removes that occurrence entirely. The dates list flags every adjustment so the audit trail is visible.
- Tick holiday calendars and custom skip dates. United States, United Kingdom, Canada, Australia, Germany, France, Japan, India, Singapore, Hong Kong, and China mainland are built in. Add any extra dates one per line in the custom box.
- Generate. The result page shows the schedule as a heatmap, distributions, a full list, and four export formats.
Patterns Explained
- Every N days — pure interval arithmetic. Useful for daily, biweekly (14), or fixed-cycle reminders. The generator never adjusts the interval; weekend / holiday handling only affects each individual date.
- Every N weeks on chosen weekdays — anchors on the Monday of the start's week and steps forward N weeks at a time, emitting each ticked weekday. Set N=2 with Friday for a biweekly Friday payday; set N=1 with Tue and Thu for a weekly two-meeting cadence.
- Every working day — emits every Monday through Friday from the start. Weekend handling is a no-op since weekends are skipped by definition; holidays still apply.
- Monthly on day-of-month — emits day D of every Nth month. If D exceeds the length of the month (e.g., D=31 in February), it clamps to the last day of that month. Set N=3 for quarterly reviews on the 15th, or N=12 with the day of a contract renewal.
- Monthly on the Nth weekday — emits the Nth occurrence of a chosen weekday in every Nth month. Common picks: 2nd Tuesday (board meetings), 3rd Thursday (US options expiration), 1st Monday of the quarter for kickoff.
- Monthly on the last weekday — emits the last chosen weekday of each month. The last Friday is a popular pick for retros, quarter-end closes, and payroll runs.
- Custom weekdays — emits each picked weekday every single week (interval of 1). Use this for a Mon-Wed-Fri exercise schedule, a Tue-Thu lecture series, or a "every weekend day" rota.
What Makes This Tool Different
Three things set this generator apart from a calendar app's repeat feature or a plain recurrence calculator. First, the year heatmap shows the entire schedule at a glance — you can spot clusters or gaps that an iCal RRULE would hide behind a single recurring event. Second, the conflict resolution rules are explicit: you decide whether to keep, roll, or drop occurrences that land on a weekend or holiday, and the result list flags every adjustment with its origin date. Third, the export is open: the same schedule comes out as CSV (for spreadsheets), Markdown (for tickets and docs), ICS (for any RFC-5545 client), and plain text — copy any one with a single click.
Use Cases
- Payroll and payday schedules — biweekly Friday or 1st-and-15th. The "roll backward" rule matches the convention of moving a payday earlier when it lands on a holiday, common in US payroll systems.
- Rent, subscription, and recurring billing dates — monthly on a fixed day-of-month with "roll forward" handling for weekends and holidays, matching most landlord and SaaS billing conventions.
- Board meetings and recurring reviews — monthly on the Nth weekday, with a clean export to ICS so every board member's calendar is in sync.
- Sprint planning and retros — every two weeks on Monday for planning, or every last Friday of the month for retros.
- Compliance and audit cadences — quarterly on a fixed day, with the schedule documented in Markdown and pushed into the team wiki.
- Class schedules, exercise routines, medication reminders — custom weekday combinations with one-click ICS download to import into any calendar app.
- Trade settlement, market-open reminders — every working day, with the country holiday calendar matching the market you trade.
Weekend and Holiday Handling
Each generated date is checked against the active weekend rule (Saturday and Sunday) and the union of holiday calendars and custom skip dates. If the date lands on a non-working day, the resolution rule decides what happens. Keep emits the date as-is — common for billing dates that are strictly calendar-driven. Roll forward moves to the next working day — common for payroll and SLAs in many jurisdictions. Roll backward moves to the previous working day — common for tax filing deadlines and some payroll conventions. Drop simply skips that occurrence, useful for "only on working days" schedules where you do not want to shift the rhythm. Whichever rule you pick, the dates list shows the original raw date next to the adjusted date so the trail is fully auditable.
Export Formats
The same schedule is available in four formats, each suited to a different downstream tool. Plain text is one ISO date per line — paste it into a script, a SQL IN-clause, or a chat message. CSV includes the sequence number, weekday, and adjustment label — open in Excel, Google Sheets, or Numbers. Markdown renders as a table in GitHub, Notion, Linear, Jira, and most documentation systems. ICS is an RFC-5545 calendar feed — import into Google Calendar, Outlook, Apple Calendar, Fastmail, or any compliant client. Each occurrence becomes a single all-day event named after the recurrence pattern.
FAQ
How many dates can the generator emit? Up to 500 occurrences per run. For longer schedules, generate the first batch, then re-run with a start date equal to the day after the last result.
What if my pattern lands on a weekend? Pick a conflict rule. Keep emits the weekend date. Roll forward moves to Monday. Roll backward moves to Friday. Drop removes the occurrence. Each adjusted date is labeled in the result list.
What happens for short months (February, 30-day months) when I set day-of-month to 31? The day is clamped to the last day of that month. So a "31st of each month" pattern becomes Feb 28 (or 29 in leap years), Apr 30, and so on. This matches the convention used by Outlook, Google Calendar, and most calendar apps.
How accurate are the holiday calendars? Fixed-date and weekday-anchored holidays are computed algorithmically and are exact for any year. Lunar and observed-substitution holidays (China, Hong Kong, Singapore) are based on official government tables that cover several years; add specific dates to the custom skip box for years beyond the built-in coverage.
Can I generate a pattern that combines multiple rules, like "every 14 days but skip the second Friday of the month"? Not directly — pick the primary pattern and add any exceptions as custom skip dates in the skip box. The "Drop" conflict rule then removes those occurrences cleanly.
Will the ICS export show up as a recurring event in my calendar app? No — the ICS lists each occurrence as a separate event. This is intentional: the conflict-resolution and per-occurrence adjustments mean the dates are not always uniform, and an RRULE would hide the adjustments behind a single rule. If you prefer a recurring event, use the plain-English pattern description shown at the top of the result to recreate it manually in your calendar app.
Reference this content, page, or tool as:
"Date Pattern Generator" at https://MiniWebtool.com// from MiniWebtool, https://MiniWebtool.com/
by miniwebtool team. Updated: 2026-05-28