Skip to main content

iCalendar (ICS) to JSON Converter

Parse .ics calendar files into structured JSON — typed dates, RRULE recurrence rules, organizer/attendee addresses, and an optional recurrence-preview expansion.

Input

Drop a file or browse
One file · text
Or

Options

Output

JSON Output
 
Was this helpful?

Guides

What does this tool do?

It parses a .ics calendar file — the standard format used by Google Calendar, Outlook, Apple Calendar, and most scheduling tools — into structured JSON. Useful for extracting event data from a calendar export without writing your own RFC 5545 parser.

How this tool works

  1. Paste ICS content into the text box, or upload a .ics file.
  2. Toggle the parsing options:
    • Pretty-print — indent the JSON output, or minify it.
    • Flat events array — output just the VEVENT entries as a flat array, skipping the full VCALENDAR component tree.
    • Parse dates — convert DTSTART/DTEND/DTSTAMP and similar properties into a structured { iso, isDate, isUtc, tzid } object instead of the raw ICS date string.
    • Include raw values — keep the original unparsed property text alongside the parsed value.
    • Expand RRULE — generate a preview list of upcoming occurrence dates for recurring events, capped at Max occurrences to preview.

What gets parsed

Long folded lines are unfolded per the ICS line-folding rule. Each property's parameters and value are parsed according to the ICS grammar (including quoted parameter values). RRULE becomes a structured recurrence-rule object; ORGANIZER/ATTENDEE become { calAddress, email }; GEO becomes { lat, lon }; TRIGGER (alarm offsets) becomes a duration string plus its offset in seconds; nested components like VALARM and VTIMEZONE are preserved in a components array.

About the RRULE preview

The recurrence expander supports DAILY/WEEKLY/MONTHLY/YEARLY frequencies with INTERVAL, COUNT, UNTIL, and BYDAY — enough to preview the vast majority of real-world recurring events. It's a preview, not a full RFC 5545 recurrence engine: edge cases like BYMONTHDAY or BYSETPOS aren't expanded. The cap on occurrences prevents open-ended rules (no COUNT or UNTIL) from generating an unbounded list.

Common uses

  • Extracting event data from an exported calendar for import into another system
  • Debugging a malformed or unexpected .ics file
  • Building a preview of upcoming occurrences for a recurring event without a full calendar library
  • Converting calendar data into JSON for use in a script or API

Privacy

This tool runs entirely in your browser. Your calendar data is never uploaded to a server.

icalendaricscalendarjsonconverterrrule

Love the tools? Lose the ads.

One payment clears every ad from your account, for good. No subscription, no tracking.