Skip to content

What is an ICS file?

An ICS file (iCalendar) is a plain-text calendar file. Calendar apps use it to export calendars and to send meeting invitations.

By Team ToolkitHere

An ICS file holds calendar events (titles, dates, times, places, repeat rules and reminders) in a standard text format called iCalendar. The .ics ending stands for “iCalendar”. One file can hold a single meeting invitation or years of events. Nearly every calendar app can read it, so it is the usual way to move events between apps and people.

Where do ICS files come from?

You usually get an ICS file in one of these ways:

  • Meeting invitations. Invitations often arrive with an invite.ics attachment.
  • Calendar exports. Google Calendar (on a computer), Apple Calendar on a Mac and classic Outlook for Windows can export calendars as .ics files. Outlook on the web and the new Outlook can’t export, but they can publish a calendar as an ICS link.
  • “Add to calendar” buttons. Event websites, airlines and ticket sites often download an .ics file for the event.
  • Backups. Some people export their calendars regularly to keep a copy outside their account.

What is inside an ICS file?

An ICS file is plain text. The whole file sits between BEGIN:VCALENDAR and END:VCALENDAR, and each event sits between BEGIN:VEVENT and END:VEVENT:

BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
UID:weekly-sync@example.com
DTSTART;TZID=Europe/Berlin:20261005T090000
DTEND;TZID=Europe/Berlin:20261005T093000
RRULE:FREQ=WEEKLY;BYDAY=MO
SUMMARY:Weekly sync
LOCATION:Room 4
END:VEVENT
END:VCALENDAR
Line Meaning
UID A unique ID for the event. Copies of the same event share it.
SUMMARY The event title.
DTSTART, DTEND Start and end, with a time zone (TZID) or in UTC (ending in Z).
LOCATION, DESCRIPTION Where it happens, and the notes.
RRULE The repeat rule, for example every Monday.
EXDATE Dates skipped in a repeating series.
RECURRENCE-ID Marks a single occurrence that was moved or changed.
VTIMEZONE Daylight-saving rules for the time zones the file uses.
VTODO A task (to-do), which some calendars include alongside events.

How do time zones work in an ICS file?

Times can be written three ways, and the difference matters when the file travels between countries.

How it’s written Example What it means
UTC, ending in Z DTSTART:20261005T070000Z A fixed moment. Each app shows it in its own local time.
With a time zone DTSTART;TZID=Europe/Berlin:20261005T090000 9:00 in Berlin, including daylight-saving changes.
“Floating”, no zone DTSTART:20261005T090000 9:00 wherever you are, like a wake-up alarm.
All-day DTSTART;VALUE=DATE:20261005 The whole of 5 October, with no time.

Files usually include VTIMEZONE blocks that describe each zone’s daylight-saving rules. When a file names a zone without describing it, apps fall back on their own time zone knowledge. Calendars from Outlook often use Windows-style zone names such as “W. Europe Standard Time” instead of “Europe/Berlin”.

How do repeating events work?

A repeating event is written once, with a rule that says how it repeats. A text editor shows only the rule; a calendar app or viewer turns it into individual dates.

Rule Meaning
FREQ=DAILY Every day
FREQ=WEEKLY;BYDAY=MO,WE Every Monday and Wednesday
FREQ=MONTHLY;BYMONTHDAY=1 The first day of every month
FREQ=YEARLY Every year, such as a birthday
COUNT=10 Stop after 10 occurrences
UNTIL=20261231T000000Z Stop at the end of 2026

Changes to single dates are stored separately. EXDATE removes a date from the series, and an extra event with a RECURRENCE-ID replaces one date, for example a meeting moved by an hour.

How do I open an ICS file?

It depends on what you want.

You want to… Do this
Add the events to your calendar Use your calendar app’s import option, or open the attachment on your phone.
See what’s inside first Use the ICS Viewer, which doesn’t add anything to your calendar.
Make a spreadsheet of events Use the ICS Viewer’s CSV download, then open the file in Excel or Google Sheets.
Read the raw details Open the file in any text editor.

To look inside an ICS file without importing it:

  1. Open the viewer

    Open the free ICS Viewer on ToolkitHere in any modern browser.

  2. Add the ICS file

    Drop the .ics file onto the upload box, or tap Choose files. You can add several calendars at once.

  3. Check the events

    Switch between List and Month to see every event, with repeating events and time zones worked out.

  4. Decide what to do

    Import the file into your calendar app if it looks right, or download a CSV or a merged .ics file.

The viewer runs in your browser. Nothing is uploaded: your calendar stays on your device.

What is the difference between importing and subscribing?

Importing copies the events in a file into your calendar once. Later changes to the original calendar don’t reach you.

Subscribing connects your calendar to a calendar link, often starting with webcal:// or ending in .ics. Your app checks the link from time to time and keeps the events up to date. Each app decides how often, so changes can take hours to appear.

An ICS file you download is a snapshot. If you need a calendar that keeps updating, ask for its subscription link instead.

What is the difference between ICS and CSV for calendars?

ICS (iCalendar) CSV
Shape One block of lines per event One row per event
Repeating events Stored once, as a rule One row per occurrence
Time zones Kept, with daylight-saving rules Usually just a date and a time
Opens in Calendar apps Spreadsheets
Best for Moving events between calendars Reports, timesheets and filtering

Use ICS to move events into a calendar, and CSV when you want to sort, filter or total them in a spreadsheet.

How do I make an ICS file?

The easiest way is to let a calendar app write it. Google Calendar, Apple Calendar and classic Outlook can export a whole calendar. Classic Outlook can also save a single event as an .ics file. Event platforms and booking tools also generate one for each booking. You can write one by hand in a text editor, but every line must follow the format exactly, so an app is safer.

What are common problems with ICS files?

Problem Likely cause What to do
Events at the wrong time The file’s time zone is read differently, or it uses floating times Check the time zone setting in your app or viewer
A repeating event shows once You opened it in a text editor Use a viewer or calendar app, which expands the rule
Duplicate events after importing The same file, or overlapping files, imported twice Events with the same UID are duplicates; merge files first, removing them
A zip instead of an ICS file Google Calendar exports all your calendars as one .zip Unzip it first; each calendar is a separate .ics file
“No events found” The file holds only tasks or availability data Export the calendar again

Is an ICS file safe to open?

An ICS file is plain text, not a program. Viewing it only reads it.

It can still reveal a lot: where you work, when you travel, who you meet. Before adding a calendar to a website, check whether the site uploads it. Our tools don’t: How it works explains how to check this yourself. Be careful with invitations from senders you don’t know, since an event can contain links like any email.

Key takeaways

  • An ICS file is a plain-text calendar file in the iCalendar format.
  • Each event sits between BEGIN:VEVENT and END:VEVENT.
  • Times can be in UTC, in a named time zone, floating, or all-day.
  • Repeating events are stored as rules, with skipped and moved dates listed separately.
  • Importing copies events once; subscribing keeps them updated.
  • The ICS Viewer shows every event before you import anything.

Tools for this

ICS Viewer

See the events inside an .ics calendar file, merge files, export to CSV.

Google Calendar is a trademark of Google. Outlook and Excel are trademarks of Microsoft. Apple Calendar is a trademark of Apple. ToolkitHere is not affiliated with any of them.