Tiny Online Tools logoTiny Online ToolssearchSearch tools…grid_viewAll Tools
Homechevron_rightEmail & Calendar Toolschevron_rightICS Calendar InspectorICS Calendar Inspector

ICS Calendar Inspector

Open an .ics file and inspect its events, recurrence rules, time zones, alarms and attendees.

upload_file

Click to browse or drag & drop files here

iCalendar file (.ics)

Accepted: .ics,.ical,.ifb,.ics.txt

Similar Tools

PST / OST Inspector

PST / OST Inspector

Open an Outlook PST or OST archive and see its folder tree, message index and file header — in your browser.

VCF Contact Viewer

VCF Contact Viewer

Open a vCard file and read every field in it, photos included, without importing it into an address book.

Email File Viewer

Email File Viewer

Open EML and Outlook MSG files in your browser — headers, rendered body, MIME structure and attachments, with no mail client installed.

Universal Office File Inspector

Universal Office File Inspector

Open DOCX, XLSX, PPTX, ODT, XPS, MHTML, CHM and Publisher files and inspect their parts, relationships and metadata in your browser.

SQL Minifier

SQL Minifier

Minify SQL queries by removing comments and collapsing whitespace.

GIF to MP4

GIF to MP4

GIF to MP4 helps you turn animated GIFs into video files directly in your browser. Use it for fast, private media cleanup, publishing, lessons, demos, and everyday video or audio editing.

Hash Identifier

Hash Identifier

Identify likely hash algorithms from a hash string pattern.

apps

More Tools

Browse our full collection of free online tools.

Reading an .ics without importing it

An iCalendar file is easy to accept and hard to look at. A calendar application will import it, but importing is a commitment: the events land in your calendar, invitations may be answered on your behalf, and if the file was wrong you now have to undo it. This opens the file and shows you what is in it instead.

What is shown

The calendar's own properties — PRODID, VERSION, CALSCALE, METHOD and the X-WR-* extensions Google and Apple write — then every VEVENT, VTODO, VJOURNAL and VFREEBUSY in a sortable, searchable table.

Opening one shows everything the component carries: UID, SEQUENCE, DTSTAMP, CREATED, LAST-MODIFIED, CLASS, TRANSP, PRIORITY, CATEGORIES, URL, GEO and DESCRIPTION; the organizer and every attendee with their role, participation status, RSVP flag, calendar-user type and any delegation; every VALARM with its action and trigger; and the raw property lines with their line numbers, so nothing is hidden behind an interpretation.

Alarm triggers are resolved

A trigger is normally written as a duration — -PT15M — relative to the event's start, or to its end when the property carries RELATED=END. Both the raw value and the instant it resolves to are shown, because the raw value alone leaves you doing calendar arithmetic and the resolved instant alone hides which form the file actually used.

Time zones, and where the offsets came from

An .ics may name a real IANA zone (Europe/Vienna), or a name only its author knows (custom_America/New_York, or one of Microsoft's Romance Standard Time), and in the second case the file carries a VTIMEZONE describing the offsets itself — a recurrence rule per observance saying when the clocks change.

Offsets are taken from your browser's own IANA database when the TZID is a real zone name, and from the embedded VTIMEZONE when it is not. Which of the two applied is stated for every zone, along with each STANDARD and DAYLIGHT observance and its rule.

A time with neither a TZID nor a trailing Z is floating: it has no absolute instant at all until a zone is chosen. Those are flagged rather than quietly treated as UTC.

Attachments

An attachment stored inline as base64 can be downloaded. One stored as a URI is shown as text and is never fetched — this tool makes no network requests of any kind, and fetching it would tell whoever sent the file that you opened it.

Malformed files

Lines that are not valid content lines, and components never closed with an END, are reported with their line numbers rather than silently dropped.