Time & Random

ICS Timezone Debugger and File Validator

Inspect ICS files locally, find timezone and recurrence warnings, and compare event times in two zones across daylight-saving changes.

Calendar source

Practical calendar lint and preview only. No automatic repairs or calendar imports. Missing timezone definitions use browser IANA rules when available; custom definitions are read from the file.

Timezones & preview window

Use IANA names such as Europe/London. An assumption applies only to floating times, never an unknown named TZID. Limit: 500 components, 200 preview occurrences, five-year date range, eight-second worker timeout.

Results

What the result means

The inspection separates file errors from timezone compatibility warnings and assumptions. Each finding includes a source line so you can inspect the original export. UTC values describe fixed instants. Floating values describe a wall clock without a timezone; comparison requires your explicit assumption. Named zones use an embedded VTIMEZONE when present, otherwise a recognized IANA name uses browser timezone rules with a warning. The occurrence table expands recurring events, includes additional dates and excludes exception dates. Moved occurrences use matching recurrence exceptions. Offset changes between displayed occurrences are highlighted in either selected timezone. All-day dates remain dates. A successful inspection does not establish the intended meeting time or guarantee identical behavior in Google Calendar, Outlook or Apple Calendar.

Related tools

Guides

Advertisement

Questions

Why does my event move by one hour?

A fixed UTC recurring event can change its local wall-clock time when daylight saving starts or ends. Compare occurrences on both sides of the transition.

Are floating times invalid calendar values?

No. Floating times intentionally have no fixed timezone. Choose an assumed timezone only when you know which clock the publisher intended.

Can this fix Outlook or Google Calendar?

It explains file issues and previews interpretations without changing your calendar. Fix the publisher export and verify it in the destination application.

Does my calendar leave this device?

No. Parsing and recurrence expansion happen locally in a browser worker. Remote links and attachments in the calendar are never fetched.

Need help with a tool or found a bug?

Report an issue directly to engineering. No accounts required — all client data remains private on your device.

Report an Issue →