iCalendar (RFC 5545) is the standard data format for representing and exchanging calendaring and scheduling information such as events, to-dos, and free/busy time. It is used across calendar applications and the text/calendar media type.
iCalendar
iCalendar, standardized as RFC 5545, is the interchange format for calendaring and scheduling data — events (VEVENT), to-dos (VTODO), journal entries, and free/busy time — carried as plain text under the text/calendar media type. It is the reason a .ics file you receive by email or download from a booking page drops cleanly into Google Calendar, Apple Calendar, or Outlook without anyone agreeing on a format ahead of time.
- A line-based text grammar - Properties like
DTSTART,SUMMARY, andRRULEinsideBEGIN/ENDblocks make it human-readable and easy to parse. - Recurrence rules -
RRULEencodes repeating events (every Tuesday, first Monday of the month) in a single compact expression. - The
text/calendarmedia type - A registered IANA type so servers and clients negotiate calendar payloads like any other content. - Companion protocols - iTIP and CalDAV build scheduling workflows and server sync on top of the core iCalendar object.
In practice iCalendar is how scheduling shows up in API design: a booking, events, or availability API commonly offers an .ics export or a text/calendar representation alongside JSON, letting a response land directly in a user’s calendar. It is a durable example of a decades-old format that still does one job well, and it remains the lingua franca whenever an API needs to hand a date and time to a human’s calendar rather than just another machine.