# ICS Calendar Recurrence Rule Expander

Expand RRULE-based VEVENT recurrence into concrete occurrences and export them as JSON or a flattened ICS calendar

> Canonical page: https://elysiatools.com/en/tools/ics-calendar-recurrence-rule-expander

- **Category:** Date & Time

- **Keywords:** ics, ical, rrule, calendar, recurrence, vevent

## Overview

Paste a full .ics payload or a single VEVENT block, then expand its RRULE into concrete event instances. The tool understands common RRULE parts including FREQ, INTERVAL, COUNT, UNTIL, BYDAY, and BYMONTHDAY.

How to fill the form:
- ICS or VEVENT Input: paste the calendar text directly
- ICS File: upload a .ics file instead of pasting
- Timezone Override: optionally attach a timezone label to the exported calendar header
- Holiday Dates: provide YYYY-MM-DD dates, one per line, to exclude occurrences on those days
- Max Occurrences: safety cap for expansion when the RRULE has no COUNT
- Output Format: return JSON, ICS, or both in the result payload

Current scope:
- Expands the first VEVENT found in the input
- Supports DAILY, WEEKLY, MONTHLY, and YEARLY frequencies
- Uses UTC-style normalization for generated output

## Inputs

- **ICS or VEVENT Input** (textarea): BEGIN:VEVENT DTSTART:20260401T090000Z DTEND:20260401T100000Z RRULE:FREQ=WEEKLY;BYDAY=MO,WE;COUNT=6 SUMMARY:Team sync END:VEVENT
- **ICS File** (file)
- **Timezone Override** (text): Asia/Shanghai
- **Holiday Dates** (textarea): 2026-05-01 2026-10-01
- **Max Occurrences** (number)
- **Output Format** (select)

## 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

- Flattening a recurring weekly team meeting into a JSON array for a custom dashboard display.
- Converting a yearly subscription renewal schedule into explicit billing dates for a database import.
- Generating a static ICS file for a school semester schedule that automatically excludes public holidays.

## Frequently asked questions

### 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.

## Related tools

- [Encrypted PDF Converter](https://elysiatools.com/en/tools/encrypted-pdf-converter): Open password-protected PDFs with OpenDataLoader and export them as Markdown, JSON, or text once the correct password is provided
- [Fitness Workout PDF Generator](https://elysiatools.com/en/tools/fitness-workout-pdf-generator): Generate a printable workout-plan PDF from JSON or CSV data with exercise tables, progress boxes, and optional QR video links
- [OCR PDF to Structured JSON Bridge](https://elysiatools.com/en/tools/ocr-pdf-to-structured-json-bridge): Extract the PDF text layer with geometry (lines by y-position, tables by column gaps, headings by font size, colon key-value pairs), then fill a user-supplied JSON Schema field by field — labels matched by normalized keys, values coerced to declared types and validated with ajv.
- [Podcast Chapter Marker Builder](https://elysiatools.com/en/tools/podcast-chapter-marker-builder): Build every podcast chapter format from one timecoded list: Podcasting 2.0 JSON + RSS tag, ID3v2.4 CHAP+CTOC burned into an MP3, Vorbis comments, mp4chaps, YouTube timestamps and SRT, with a per-player support matrix.
- [Rich Text JSON to PDF](https://elysiatools.com/en/tools/richtext-json-to-pdf): Convert TipTap, Quill, or Slate JSON exports into a styled PDF document
- [Train/Test Split with Stratification](https://elysiatools.com/en/tools/train-test-split-with-stratification): Class-stratified train/validation/test split or stratified k-fold for CSV/JSON datasets — seeded, reproducible, with distribution reports, leakage checks, SMOTE preview and CSV export.
- [CSV/JSON Data Watermarker](https://elysiatools.com/en/tools/csv-json-data-watermarker): Inject visible or signature-style watermark fields into CSV or JSON exports so shared datasets can be traced later
- [CSV to Database Migration Planner](https://elysiatools.com/en/tools/csv-to-database-migration-planner): Infer a relational schema from CSV data and generate create-table plus ALTER migration plans for PostgreSQL, MySQL, SQLite, or SQL Server

## Samples

- [QR Code Samples](https://elysiatools.com/en/samples/qrcode-samples): Sample QR code images for testing QR code reading and generation tools
- [Distributed Tracing Samples](https://elysiatools.com/en/samples/distributed-tracing-samples): Comprehensive distributed tracing examples using Jaeger, OpenTelemetry, and other modern observability tools for microservices architecture
- [ELK Stack Log Analysis Samples](https://elysiatools.com/en/samples/elk-stack-samples): Comprehensive ELK Stack (Elasticsearch, Logstash, Kibana) samples for log aggregation, processing, and visualization in distributed systems
- [JWT Samples](https://elysiatools.com/en/samples/jwt-samples): Comprehensive JWT examples from basic token structure to advanced security implementations

## Related content

- [Recurring Calendar and ICS Scheduling](https://elysiatools.com/en/hubs/calendar-recurrence-and-ics-scheduling): Plan and verify recurring meetings across time zones, workdays, holidays, conflicts, and ICS export requirements.
