Generated by GPT-5-mini| iCalendar | |
|---|---|
| Name | iCalendar |
| Developer | Internet Engineering Task Force |
| Released | 1998 |
| Latest release | 2013 (RFC 5545) |
| Operating system | Cross-platform |
| License | Internet standard |
iCalendar is a computer file format and Internet standard for exchanging calendaring and scheduling information such as events, to-dos, journal entries, and free/busy information. It defines a structured text representation used by Apple, Google, Microsoft, and other vendors to share calendrical data across systems and platforms like Unix, Windows, macOS, and Android. The format is maintained by the Internet Engineering Task Force and formalized in a series of standards documents used by protocol implementers and application developers.
iCalendar serves as an interoperable format enabling exchange between systems such as Microsoft Exchange Server, Google Calendar, Apple Calendar, Mozilla Thunderbird, and enterprise suites like IBM Notes. It models concepts like events and tasks used in scheduling workflows found in organizations such as United Nations, European Union, and corporations including Amazon and Facebook that integrate calendaring into services. The standard interacts with protocols such as CalDAV and WebDAV and is commonly transported via email using Multipurpose Internet Mail Extensions or via web services supported by vendors including Salesforce and Oracle Corporation.
Files typically use the .ics extension and contain top-level objects such as VEVENT, VTODO, VJOURNAL, VFREEBUSY, VAVAILABILITY, and VCALENDAR. Applications like Microsoft Outlook, Apple Mail, and Mozilla Thunderbird parse these objects to render user-facing items. Each component may include properties like UID, DTSTAMP, DTSTART, DTEND, SUMMARY, DESCRIPTION, LOCATION, ORGANIZER, and ATTENDEE; such properties facilitate integration with calendaring servers such as Microsoft Exchange Server and Google Calendar API and client software by vendors like Evolution and KDE.
The syntax uses a line-oriented textual representation with name:value pairs and folding rules derived from RFC 822 and related Internet mail standards. Data types include DATE, DATE-TIME, DURATION, PERIOD, TEXT, URI, INTEGER, and CAL-ADDRESS. Time zone handling references the IANA Time Zone Database and interoperates with implementations in tz database-aware systems like PostgreSQL, MySQL, and programming libraries in Python, Java, and JavaScript ecosystems such as Node.js. Recurrence rules (RRULE) follow the recurrence model used by calendar clients from vendors such as Google and Microsoft.
The core specification has spawned extensions and companion standards including iTIP for scheduling messages, iMIP for mail-based scheduling, and CalDAV for calendar access via WebDAV. Extensions and vendor-specific properties appear in integrations by Apple, Microsoft, Google, and groupware projects like Zimbra. Security and capability negotiation rely on surrounding standards such as S/MIME and OAuth 2.0 when calendaring is exposed by web platforms like GitHub and Slack.
Major client and server implementations include Microsoft Outlook, Google Calendar, Apple Calendar, Mozilla Thunderbird/Lightning, Evolution, KOrganizer, Zimbra Collaboration Suite, and Microsoft Exchange Server. Library and toolkit support exists in ecosystems such as libical (C), ical4j (Java), python-icalendar (Python), and node-ical (JavaScript), enabling integration by vendors like Atlassian and service providers including Box and Dropbox. Mobile platforms implement support in iOS, Android, and cross-platform frameworks used by Electron-based clients.
Calendar data often contains personal and organizational sensitive information used by entities like European Commission, Federal Bureau of Investigation, and private companies; exposure risks include information leakage and metadata inference exploited in incidents studied by research groups at MIT, Stanford University, and Carnegie Mellon University. Threat mitigations involve authenticated access via OAuth 2.0, encrypted transport using Transport Layer Security, and message signing through S/MIME or OpenPGP. Vendor features in Microsoft 365, Google Workspace, and Apple iCloud implement access controls and sharing policies; secure deployments integrate with identity providers such as Okta and Ping Identity.
The format originated from work within the Internet Engineering Task Force and related efforts in the late 1990s to unify calendaring representations across proprietary systems like those from Lotus Development Corporation and Novell. Key milestones include publication of RFCs that evolved the specification, culminating in RFC 5545 in 2009 and additional updates reflected in documents around 2013. Adoption grew through integration by major vendors including Microsoft Corporation, Google, and Apple, and through open-source implementations by communities contributing to projects such as GNOME and KDE.
Category:Calendar file formats