Visual RFC.
ALL RFCs / RFC 5545
Read the RFC ↗

RFC 5545 / START HERE

iCalendar events, before the details

iCalendar

iCalendar is a format for exchanging calendar information such as events, reminders, and recurring schedules. It describes calendar data rather than a particular calendar app.

The idea in one picture

  1. An event has time and details

  2. iCalendar describes the event

  3. Another calendar can read it

A simplified picture of the idea; the chapters explain the actual mechanisms.

Why it exists

Different calendar products need a shared way to describe dates, time zones, and repeating events.

A familiar example

You import an .ics file containing a meeting and its recurrence into your calendar application.

Helpful background

You can start here without reading another RFC. If these ideas are unfamiliar, these short introductions may help.

What you’ll learn next

Begin with chapter one, or choose a topic.

  1. Calendar and component structureA VCALENDAR contains components such as VEVENT rather than being only a row of dates.
  2. Event identity and end timeUID identifies an event, while start/end properties describe its interval.
  3. UTC, local time, and zonesDATE-TIME can be UTC, local with a time-zone reference, or floating local time.
  4. Recurrence and exclusionsA recurrence set combines DTSTART with rule/date inclusions and EXDATE exclusions.
  5. Exceptions, alarms, and limitsRECURRENCE-ID addresses an occurrence; VALARM describes a reminder rather than arbitrary executable code.
Start with chapter one →

This introduction explains RFC 5545 (2009). Read the original RFC ↗