ICS viewer: open a calendar file in your own time zone
Open an invitation (.ics) or a whole exported calendar without importing it anywhere. Every event is listed in your time zone, with the zone it was written in beside it. Repeating events are expanded for the dates you pick, and each event shows who was invited, who accepted and which reminders it sets.
The file is read on your device. It is not uploaded, and no link or attachment in it is fetched.
What it shows
- An agenda in your time zone. Each occurrence under its day, with the start and end converted to the zone your browser is set to. Beside it: the time as written in the file and its zone, for example “09:30–09:45 in America/New_York (EDT)”.
- Repeating events, expanded. Weekly stand-ups, “first Tuesday of the month”, “last weekday of the month” and yearly dates are worked out for the range you choose (the next 12 months to start with, at most 5,000 occurrences). Skipped dates (EXDATE) are left out, and an occurrence that was moved or edited on its own (RECURRENCE-ID) replaces the one it changes.
- Each event in full. Organizer; every attendee with their reply (accepted, declined, tentative, not answered) and role (required, optional, chair); reminders such as “Pop-up reminder, 10 minutes before the start”; location, description, categories and the event's web address as text.
- Attachments, listed. A link is shown as text and never opened. A file carried inside the .ics itself can be saved from this tab.
- A table. Every occurrence in rows you can search and sort, by start, summary, place, organizer, replies or status.
- Exports. A CSV of the occurrences in the range, ready for a spreadsheet, and every event of a many-event file saved as its own single-event .ics (all of them in one .zip, or one at a time from the event), with the time-zone definitions it needs.
Repeat rules it follows
From RFC 5545, the iCalendar standard: FREQ (yearly, monthly, weekly, daily, hourly, minutely, secondly), INTERVAL, COUNT, UNTIL, BYDAY with or without a position (1FR, -1SU), BYMONTHDAY (negative counts from the month's end), BYMONTH, BYYEARDAY, BYWEEKNO, BYHOUR, BYMINUTE, BYSECOND, BYSETPOS and WKST, plus RDATE, EXDATE and RECURRENCE-ID. Its test checks 41 of the RFC's own worked examples against the dates the RFC lists.
Not followed: RSCALE and SKIP (RFC 7529 rules for non-Gregorian calendars such as the Hebrew or Chinese calendar), EXRULE (dropped from the standard in 2009), and RANGE=THISANDFUTURE, which is treated as a change to that one occurrence only. Repeating to-dos are listed with their rule but not expanded. When a file uses one of these, the page says so above the agenda.
What it cannot do
- Add anything to your calendar. It only reads. To keep an event, save it as .ics here and open that in your calendar program.
- Fetch anything. Subscribed calendar addresses (webcal:// or an https link ending in .ics), attachment links and meeting links are shown as text and not loaded. Download a subscribed calendar with your browser first, then open the saved file here.
- Reply to an invitation. Accepting or declining needs your calendar account; the replies shown are the ones recorded in the file when it was sent.
- Show free/busy time. VFREEBUSY blocks are counted but not worked out, and nothing is compared with your own calendar.
- Know old time-zone rules that the file leaves out. A zone defined in the file (VTIMEZONE) is followed exactly as written. A zone only named, such as
Europe/Berlin, uses your browser's own time-zone database. A Windows name such as “W. Europe Standard Time” with no definition in the file is matched from a table of 37 common ones; any other unknown name is read as your own time, with a warning.
Getting the .ics file
- An invitation in an e-mail
- Invitations from Outlook, Google and Apple carry the event as an attachment, usually named invite.ics or meeting.ics. Save the attachment and drop it here; the invitation's own time zone is inside it.
- Google Calendar
- On a computer: Settings › Import & export › Export downloads a .zip with one .ics per calendar. Unzip it and drop the files here together. One calendar alone: Settings › the calendar's name › Export calendar.
- Outlook
- Classic Outlook for Windows: File › Save Calendar, where “More options” sets the date range and how much detail is kept. Outlook on the web can publish a calendar as an ICS link (Settings › Calendar › Shared calendars); open that link in your browser to download the file.
- Apple Calendar
- On a Mac, select the calendar in the sidebar, then File › Export › Export…, which saves one .ics.
Useful to know about calendar files
- Why a repeating meeting moves by an hour for a few weeks
- A repeat rule runs on the clock of the zone it was written in. A stand-up at 09:30 New York time is at 15:30 in Copenhagen most of the year, but at 14:30 for about three weeks in March and one in late October and early November, because the United States changes clocks on the second Sunday of March and the first Sunday of November, and the EU on the last Sundays of March and October. Open the sample calendar and look at late October 2026 to see it.
- Times with no zone
- A time written without a zone (no
TZIDand no trailingZ) is “floating”: 07:00 wherever you are, the way an alarm clock works. Google and Outlook exports often addX-WR-TIMEZONEfor the whole calendar; when they do, this page reads floating times in that zone, as those programs do, and says so beside the time. - All-day events end the day before their end date
- An all-day event from 14 to 16 October is stored with
DTENDon the 16th: the end is exclusive, so it covers the 14th and 15th. Programs that treat the end as inclusive show a day too many. All-day dates are not converted between time zones. - What METHOD tells you
METHOD:REQUESTis an invitation waiting for a reply,REPLYis someone's answer to one,CANCELwithdraws an event, andPUBLISH(or none) is an export or a published calendar. The page names it at the top.- When the same event appears twice
- An updated invitation keeps the event's UID and raises its SEQUENCE number. If you drop several files and two hold the same UID, the copy with the higher SEQUENCE is shown, as a calendar program would.