# What Is an ICS File? A Complete Guide to iCalendar

Learn what ICS files are, how they work, and why they're the universal standard for sharing calendar data across apps and platforms.

*Published: 2026-05-11 · 3 min read*

---

An **ICS file** is a plain-text file that stores calendar events in the **iCalendar format** — a universal standard (RFC 5545) for exchanging scheduling data. If you've ever exported a Google Calendar event, received a meeting invite, or hit "Add to Calendar" on a website, you've encountered one.

## What's Inside

An ICS file is a hierarchy of components wrapped in `BEGIN:` / `END:` blocks:

```
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//My App//EN

BEGIN:VEVENT
UID:unique-id-123@myapp.com
DTSTART:20250415T090000Z
DTEND:20250415T100000Z
SUMMARY:Team Standup
END:VEVENT

END:VCALENDAR
```

The key components are **VEVENT** (events), **VTODO** (tasks), **VTIMEZONE** (timezone definitions), and **VALARM** (reminders). Every VEVENT needs at minimum a UID, DTSTART, and SUMMARY.

## Recurring Events

The `RRULE` property handles repeating events in a single line — for example, `RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR;COUNT=10` means every Monday, Wednesday, and Friday for 10 occurrences. It supports daily, weekly, monthly, and yearly frequencies with fine-grained controls.

## Where ICS Files Are Used

  - **Calendar apps** — Apple Calendar, Google Calendar, Outlook all import and export ICS natively

  - **"Add to Calendar" buttons** — ticketing sites, conference pages, and booking platforms generate ICS files on demand

  - **Calendar subscriptions** — a URL pointing to an ICS file lets apps subscribe to a live-updating calendar

  - **Rental platforms** — Airbnb, Booking.com, and Vrbo use ICS feeds to sync availability across platforms

Because it's plain text, you can read an ICS file in any text editor — but for a proper visual layout, drop it into [ICS Viewer](/) for an instant month/week/agenda view with no account required.