REW

What Is The .ics File Format?

Published Aug 29, 2025 4 min read
On this page

The .ics file format, also known as iCalendar, is a universal, open standard for exchanging and sharing calendaring and scheduling information between different platforms and applications.

An .ics file is a plain text file that contains details about events, to-dos, journal entries, and other calendar data. It serves as a common "language" that allows calendar applications from different vendors—like Google Calendar, Apple Calendar, and Microsoft Outlook—to seamlessly read and interpret the same event information.

Structure of an .ics file

An .ics file is structured as a hierarchical text file, containing one or more "components" nested within a main VCALENDAR object. The data is organized into logical blocks, each starting with BEGIN: and ending with END:.

The main VCALENDAR component

Every .ics file must begin and end with BEGIN:VCALENDAR and END:VCALENDAR, respectively. The header of this component also includes several required properties:

  • VERSION: Specifies the version of the iCalendar specification being used. For the current standard (RFC 5545), the value is 2.0.
  • PRODID: A property that identifies the product or company that created the iCalendar object.
  • CALSCALE: Defines the calendar system used. The default and most common is GREGORIAN.
  • METHOD: A property that defines the iCalendar object's purpose, such as PUBLISH for a public calendar, REQUEST for a meeting invitation, or CANCEL to remove an event.

Core components and properties

Inside the VCALENDAR block, the file contains one or more calendar components, which hold the specific data for events, tasks, or other calendar items.

The VEVENT componentThe most common component is VEVENT, which represents a single calendar event. A VEVENT block contains properties describing the event:

  • UID: A globally unique identifier for the event. This is crucial for updating and managing events across different platforms.
  • DTSTAMP: The date and time the iCalendar file was created.
  • DTSTART / DTEND: The start and end date and time of the event.
  • SUMMARY: The title or subject of the event.
  • DESCRIPTION: A detailed description of the event. This can be plain text and, through extensions like X-ALT-DESC, can also include HTML.
  • LOCATION: The physical location of the event.
  • ATTENDEE: Can be used to list the email addresses of event attendees.
  • RRULE: A powerful property that defines recurrence rules for repeating events (e.g., daily, weekly, monthly).

Other common components

  • VTODO: Represents a "to-do" item or task. It can include properties for priority, due date, and completion status.
  • VJOURNAL: A journal entry, which can be used to track and record information associated with a specific date.
  • VTIMEZONE: Provides information about time zones. A file can contain multiple VTIMEZONE components to accurately handle daylight saving time and different regions.

Example of an .ics file

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Calendar Product//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
SUMMARY:Team Meeting
DTSTART:20250915T140000Z
DTEND:20250915T150000Z
DTSTAMP:20250829T090000Z
UID:c7614cff-3549-4a00-9152-d25cc1fe077d
LOCATION:Conference Room B
DESCRIPTION:Discuss Q3 results and project next steps.
END:VEVENT
END:VCALENDAR

Use code with caution.

How .ics files are used

The versatility of the .ics format allows it to be used in several ways:

  • Email invitations: When a user receives a meeting request, the .ics file is attached to the email. The calendar program reads the file and displays a button to "Accept" or "Decline" the event, or simply adds it to the user's calendar.
  • Web downloads: Websites often provide "Add to Calendar" links that download an .ics file. This is common for event pages, webinars, or public holiday schedules.
  • Calendar synchronization: The iCalendar standard is the foundation for protocols like CalDAV, which enable live, two-way synchronization of calendar data between clients and servers. This is how a change made in one application (e.g., on a phone) can be reflected in another (e.g., on a desktop).

The evolution and importance of iCalendar

The iCalendar standard (first defined in RFC 2445 and later updated by RFC 5545) was developed by the Internet Engineering Task Force (IETF) to solve a fundamental problem: interoperability between different calendar systems. By creating an open, text-based format, competing companies were able to create products that could share and understand the same calendar data, ultimately benefiting the end user. While manual .ics file imports can sometimes be cumbersome, the format's underlying principles are what enable the seamless, real-time sync of modern digital calendars via other protocols.

Enjoyed this article? Share it with a friend.