Open any .ics calendar file and see what's in it before it goes anywhere near your diary. Every event, every reminder, and every fault that will stop a calendar app reading it.
Drop an .ics file here
Or choose one from your computer. Nothing is uploaded.
orThe file is read by your own browser and never leaves your machine. There is no upload, no account, and no copy on our server.
Drop a file in and you get three things.
A list of every event in it, laid out the way a diary would show it: title, date, start and end, how long it runs, where it is, who organised it, any reminder, and whether it repeats. Times are converted to your own timezone, and you can switch to any other from the dropdown, which is the quickest way to see what a colleague in Chicago will see when they open the same file.
A set of checks. Some .ics files look fine and still won't open, and the reasons are nearly always the same handful: a line that was never closed, a start time with no timezone, a comma that wasn't escaped, an all-day event whose end date matches its start. The viewer names each one, says which event it belongs to, and says what a calendar app will do about it. A clean file gets a green line and nothing else.
And the file's own text, with line numbers, and the lines the checks complained about picked out. An .ics file is plain text, so once you can see it, most faults are obvious.
Because an import is a copy, and copies don't come back out easily. Import 40 events into your main Google Calendar and you'll be deleting them one at a time; look first and you can decide where they go, or whether they go anywhere.
Because the file may not say what the email said. The sender's calendar exported it, and calendars disagree about timezones, about all-day events, and about what happens to a reminder. Seeing the start time in your own zone before you commit to it is the one check that catches the event-an-hour-out problem, which is the most common fault in the format and the one you'll never spot by testing in the same country you built the file in.
And because somebody has sent you a file that won't open and you'd like to know why. Double-click does nothing, Outlook says it can't read it, Google Calendar reports "Processed 0 events". The checks panel is the answer, usually in one line.
Structure first. Every BEGIN needs a matching END, in the right order, and the file has to open with VCALENDAR. A missing END is the commonest reason a file is refused outright.
Then the things every event must have: a start time, a unique ID, a title. No UID is the reason some calendars show the same event twice after two imports.
Then the times. A start time written without a timezone and without a Z on the end is "floating", and every calendar reads it as its own local time, so a 10am file lands at 10am in London and 10am in New York, five hours apart. A Windows timezone name from Outlook is fine for Outlook and a coin toss for anything else; the viewer translates it and tells you. An all-day event whose DTEND equals its DTSTART is a zero-day event, because the end date in this format is exclusive, and a single day on the 1st has to end on the 2nd.
Then the text. Commas and semicolons in a title or location have to be escaped with a backslash. A file that reads fine in a text editor can still fail in Outlook on a title as innocent as "Q3 webinar, part 1".
Then the housekeeping: lines over 75 characters that were never folded, a METHOD value that isn't PUBLISH or REQUEST (new Outlook refuses PUBLISH:REQUEST, which one well-known platform used to emit), duplicate UIDs, an end before a start, a missing VERSION or PRODID.
None of this is a substitute for opening the file in the calendar you actually use. It's the five minutes that tells you whether it's worth trying.
Under each event there's a button for Google Calendar and one for Outlook on the web. They hand the event across as a pre-filled link, with the times converted properly, which is the route that works when a file itself won't. Google Calendar in particular won't open an .ics file at all from the desktop; you have to import it through the settings, and if you only want one event out of the file, the button is quicker. There's a full guide to adding an ICS file to Google Calendar if you want the whole file in.
The third button downloads a clean copy of the event, rebuilt from scratch by the same engine as our free ICS file generator. Escaping done, timezone written properly, lines folded, a fresh file that opens where the original wouldn't. It's one event at a time and it doesn't carry recurrence rules across, so for a repeating event or a whole calendar, fix the source and re-export.
Everything on this page runs in your browser. The file is read by a script on your own machine, the events are worked out there, and nothing is sent to us or anyone else. Close the tab and it's gone. That's why the page works with a meeting invitation full of colleagues' email addresses, or a client's event list, without a second thought.
How do I open an ICS file without importing it?
Drop it into the viewer above, or open it in any text editor. An .ics file is plain text, so Notepad or TextEdit will show you the title, dates and location as raw lines. The viewer does the same and lays it out as events, with the times converted to your zone.
Why won't my ICS file open?
Usually one of five things: a BEGIN line with no matching END, a start time with no timezone, an unescaped comma in the title, a missing UID, or a file that's really a .txt with the wrong extension. Drop the file into the viewer and the checks panel names the fault and the line it's on.
Why is the event an hour out?
The time in the file was written without a timezone, or in a different timezone from the one your calendar is set to. Switch the "Show times in" dropdown to the sender's zone and you'll usually see the time they meant. The fix is in the file: write the time as UTC with a trailing Z, or add a TZID.
Can I see what's in an ICS file on my phone?
Yes. This page works in a phone browser; use the "Choose a file" button and pick the .ics from your downloads or from the email. Neither Google Calendar nor Apple Calendar has an import screen on a phone, so this is the easiest way to read a file before adding it.
Is it safe to open an unknown ICS file here?
Yes. The file is text, the viewer reads it in your browser, and nothing runs from it. Any links in an event's description are shown as links, not opened. Nothing is uploaded, so an invitation full of names and email addresses stays on your machine.
Looking inside a file is fine. Making one for every event and hoping it opens everywhere is the part that stops being fine. EventEngine runs events inside HubSpot and builds the calendar file from the event record, so it's right first time.