~/allthedamn.tools

ICS Viewer

Open an .ics file and read every event — title, time, and place — in your browser.

runs entirely in your browser

Drag a .ics file anywhere onto this box, or paste the calendar text below. It never leaves your browser.

need more advanced event creation? Just Schedule Me builds calendar events for you — from a screenshot, a photo, or a line of text.

See what is actually in the file

A .ics file is plain text, but it is not meant to be read raw — events are wrapped in BEGIN:VEVENT blocks, long lines are folded across rows, times carry zone identifiers, and dates hide behind DTSTART/DTEND. Open one in a text editor and you are squinting at a protocol, not a schedule. This viewer parses the whole thing and lays every event out in a table: title, when, where, and whether it repeats.

It reads every event in the file, not just the first, so a shared calendar or an exported subscription shows its full contents at a glance. Recurring events are flagged, all-day events read as dates rather than midnight timestamps, and an event whose date can't be parsed still appears — labelled honestly as unparseable — instead of vanishing.

Times you can trust, and problems you can see

Each event's time is shown in its own zone. An event written as 9:00 in America/New_York is displayed at 9:00 with its zone, including the Windows zone names ("Eastern Standard Time") that Outlook writes instead of the standard IANA names. When a zone can't be resolved, the time is shown exactly as written and flagged, rather than silently relabelled as yours.

Below the events, the viewer lists the structural problems it found: an event missing a start, an end before its start, a missing UID or DTSTAMP, a calendar with no VERSION. These are the things that make a calendar app reject or mangle an import, so seeing them here tells you why a file misbehaved before you try to load it somewhere.

When you need the data in a spreadsheet, the Download CSV button turns the calendar you are viewing into a Google Calendar-import CSV on the spot — no re-parsing, no upload, no leaving the page.

Nothing uploads

The file you paste or drop is read and parsed entirely in your browser. It is never sent to a server, which is why the viewer keeps working offline once the page has loaded, and why a private calendar full of names and addresses never leaves your device.

Most "open ICS file online" sites upload the file first and render it server-side. Here the parsing is local JavaScript, so the only machine that ever sees your calendar is the one in front of you.

fair questions

How do I open a .ics file without a calendar app?
Paste the file's text into this page, or drag the .ics file onto it. The events appear in a readable table immediately — no account, no calendar app, and nothing is uploaded.
What is an ICS or iCal file?
It is a plain-text calendar file in the iCalendar format (RFC 5545) that any calendar app can export. It holds one or more events, each with a start, end, title, and optional location, description, and recurrence rule. The extension is usually .ics or .ical.
Does it show the right time zone?
Yes. Each event's time zone (its TZID, including the Windows zone names Outlook writes) is read and applied, so times display on the right moment. When a zone can't be recognised, the time is shown as written and flagged rather than silently converted.
Can I turn the events into a spreadsheet?
Yes. The Download CSV button exports the calendar you are viewing as a Google Calendar-import compatible spreadsheet, generated right in your browser. For a dedicated page with a per-event skip report, the ICS to CSV converter does the same job.
Is my calendar uploaded anywhere?
No. The file is read and parsed entirely in your browser and is never sent to a server, so the viewer keeps working with no connection once the page has loaded.