Skip to content

iCalendar Export

Export your calendar events to iCalendar (.ics) format for use in other calendar applications like Google Calendar, Apple Calendar, Outlook, and more.

The iCalendar export feature allows users to export their calendar events to the standard .ics format, so other calendar applications can import it. It follows RFC 5545 for the file syntax and supports simple events, all-day events, and recurring events.

  • Simple events with title, description, location
  • All-day events
  • Recurring events with RRULE patterns
  • Events with exception dates (EXDATE)
  • Modified recurring instances (RECURRENCE-ID)
  • Google Calendar
  • Apple Calendar
  • Microsoft Outlook
  • Thunderbird

These applications read the syntax; see the timezone note above for recurring series.

  1. Look for the “Export” button in the top-right corner of the calendar header
  2. Click the button to download the .ics file
  3. The file downloads as ilamy-calendar-YYYY-MM-DD.ics, with today’s date (e.g., ilamy-calendar-2025-08-04.ics)

To hide the button, pass hideExportButton to IlamyCalendar. With your own headerComponent, the prop has no effect: you provide the export control yourself.

The file holds every event the calendar has, not only the ones in view. A recurring series is one event with an RRULE, so the file stays small.

  1. Tap the menu button (☰) in the top-right corner
  2. Select “Export Calendar (.ics)” from the dropdown menu
  3. The file will be downloaded to your device
  • Lines are separated by CRLF, and the file ends with a CRLF after END:VCALENDAR.
  • A line longer than 75 octets is folded onto the next line, and a multi-byte character is never split.
  • ,, ; and \ in the title, description and location are escaped, and newlines become \n.
  • An all-day series writes UNTIL, EXDATE and RECURRENCE-ID as dates (UNTIL=20250330, EXDATE;VALUE=DATE:...), the same type as its DTSTART.
  • Each event also carries DTSTAMP, CREATED, LAST-MODIFIED, STATUS:CONFIRMED, SEQUENCE:0 and TRANSP:OPAQUE.
Event Property iCalendar Field Description
title SUMMARY Event title or summary
description DESCRIPTION Detailed event description
location LOCATION Event location or venue
start DTSTART Event start date and time
end DTEND Event end date and time
uid UID Unique identifier for the event
allDay VALUE=DATE Formats dates for all-day events
rrule RRULE Recurrence rules for repeating events
exdates EXDATE Exception dates for recurring events
recurrenceId RECURRENCE-ID Modified instances of recurring events

Here’s what the exported iCalendar content looks like:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ilamy//ilamy Calendar//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:ilamy Calendar
X-WR-CALDESC:Exported from ilamy Calendar
BEGIN:VTIMEZONE
TZID:UTC
BEGIN:STANDARD
DTSTART:19700101T000000
TZNAME:UTC
TZOFFSETFROM:+0000
TZOFFSETTO:+0000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART:20250804T100000Z
DTEND:20250804T110000Z
SUMMARY:Team Meeting
DESCRIPTION:Weekly team sync
LOCATION:Conference Room A
DTSTAMP:20250804T120000Z
CREATED:20250804T120000Z
LAST-MODIFIED:20250804T120000Z
STATUS:CONFIRMED
SEQUENCE:0
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR