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
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.