Key Facts
- Category
- Math, Date & Finance
- Input Types
- textarea, file, text, number, select
- Output Type
- json
- Sample Coverage
- 4
- API Ready
- Yes
Overview
The ICS Calendar Recurrence Rule Expander is a practical utility designed to convert RRULE-based VEVENT recurrences into concrete, individual event instances. Whether you need to flatten a complex calendar schedule into a simple JSON array or generate a static ICS file without recurrence rules, this tool processes your input instantly. It supports daily, weekly, monthly, and yearly frequencies while allowing you to exclude specific holiday dates, apply timezone overrides, and set safety caps for infinite recurring events.
When to Use
- •When you need to extract a flat list of explicit dates and times from a complex iCalendar recurrence rule (RRULE).
- •When migrating calendar data to a system, database, or legacy CRM that does not natively support parsing RRULE logic.
- •When you want to generate a static calendar file that automatically skips specific holidays or blackout dates.
How It Works
- •Paste your raw ICS text, a single VEVENT block, or upload an .ics file containing the recurrence rule.
- •Optionally define a timezone override, set a maximum occurrence limit, and list specific holiday dates (YYYY-MM-DD) to exclude.
- •Select your preferred output format (JSON, ICS, or both) and run the tool.
- •The tool parses the RRULE, calculates the concrete event instances, and outputs the flattened schedule.
Use Cases
Examples
1. Extracting weekly syncs excluding holidays
Project Manager- Background
- A project manager needs a list of dates for a weekly Monday and Wednesday team sync, but wants to skip an upcoming public holiday.
- Problem
- Manually calculating the dates and removing the holiday is tedious and error-prone.
- How to Use
- Paste the VEVENT block with FREQ=WEEKLY;BYDAY=MO,WE, enter the holiday date in the Holiday Dates field, and select JSON output.
- Example Config
-
Holiday Dates: 2026-04-08 Max Occurrences: 20 Output Format: JSON - Outcome
- A clean JSON array containing the exact timestamps for the next 20 meetings, with the April 8th holiday successfully skipped.
2. Flattening a recurring event for legacy systems
Software Developer- Background
- A developer is importing calendar data into a legacy CRM that cannot parse iCalendar RRULE strings.
- Problem
- The CRM requires explicit start and end times for every single instance of a recurring event.
- How to Use
- Upload the .ics file, set the Timezone Override if needed, and choose ICS as the output format.
- Example Config
-
Timezone Override: America/New_York Output Format: ICS - Outcome
- A new, flattened .ics file where the single recurring VEVENT is replaced by multiple individual VEVENT blocks, ready for import.
Try with Samples
json, text, fileRelated Hubs
FAQ
Which recurrence frequencies are supported?
The tool supports DAILY, WEEKLY, MONTHLY, and YEARLY frequencies, including common rule parts like INTERVAL, COUNT, UNTIL, BYDAY, and BYMONTHDAY.
Can I process multiple events at once?
Currently, the tool parses and expands only the first VEVENT block found in your input.
How do the holiday exclusions work?
By entering dates in YYYY-MM-DD format (one per line), the tool will automatically skip generating an occurrence if it falls on any of those specified dates.
What happens if my recurrence rule goes on forever?
If your RRULE lacks a COUNT or UNTIL parameter, the tool uses the 'Max Occurrences' setting (defaulting to 100) as a safety cap to prevent infinite loops.
What output formats can I choose?
You can export the expanded occurrences as a structured JSON array, a flattened static ICS calendar file, or both simultaneously.