Fix ICS Timezone Errors (Events at the Wrong Time)
If you imported an .ics file and all your events are one hour off, shifted to a different day, or show in the wrong timezone, you’re almost certainly looking at a timezone (TZID / VTIMEZONE) problem inside the file.
This guide explains:
- What “wrong time” ICS issues look like in Google Calendar, Outlook, and Apple Calendar
- The most common timezone mistakes inside
.icsfiles - When you can safely fix the file yourself vs. when to use an autofix tool
If you just want the file repaired right now:
1. Typical symptoms of ICS timezone errors
You might see one or more of these:
- Events show one hour earlier or later than expected
- Events move to the previous or next day after import
- All‑day events suddenly become multi‑day events
- Recurring events appear in the wrong local time after DST changes
- One participant sees the correct time, another sees something different
These are almost never “calendar bugs” — they’re usually missing or invalid timezone data in the .ics file.
2. The most common ICS timezone mistakes
Behind the scenes, ICS files use a combination of DTSTART, DTEND, TZID, and VTIMEZONE blocks. When these are wrong, calendars guess — and that’s where the time shifts happen.
Common problems:
TZID=ESTorTZID=PSTinstead of a valid name likeAmerica/New_York- Using
TZID=GMT-5or other non‑standard identifiers - Missing
VTIMEZONEblock even thoughTZIDis used - A
DTSTART;TZID=...that doesn’t match any timezone defined in the file - Mixing floating times (no timezone) with explicit timezones
You can see these by opening the .ics file in a text editor and searching for DTSTART, DTEND, and VTIMEZONE.
For a deep dive into the exact field formats, see the more technical guide:
ICS Time Zone Errors (TZID, VTIMEZONE, UTC vs Local).
3. Quick, non‑technical fix: upload and autofix
If you’re not comfortable editing raw ICS text, the fastest route is:
- Go to
/fixon CorrectICS. - Upload your
.icsfile. - Review the timezone‑related warnings (look for TZID / VTIMEZONE).
- If available, click “Download fixed file” and re‑import it.
CorrectICS looks for:
- Invalid or unrecognized
TZIDvalues - Missing
VTIMEZONEdefinitions - Obvious timezone mismatches that can be normalized safely
It will either:
- Normalize the timezone definitions where safe, or
- Surface clear errors so you (or your developer) can fix them manually
4. Manual fix (for developers)
If you maintain the system that generates the .ics files:
-
Switch to Olson/IANATZ names
Use identifiers likeAmerica/New_York,Europe/Berlin,Asia/Tokyo, notEST,PST, orCET. -
Include a matching VTIMEZONE block for each TZID you use
For example, if you have:DTSTART;TZID=America/New_York:20250310T090000make sure there is a
VTIMEZONEcomponent withTZID:America/New_Yorkdefined in the file. -
Be consistent across DTSTART, DTEND, and RECURRENCE‑ID
Don’t mixDTSTART:20250310T090000ZwithDTEND;TZID=America/New_York:...unless you understand the implications. -
Test with real clients
After making changes, import the file into:- Google Calendar (web)
- Outlook (desktop or web)
- Apple Calendar (on macOS)
Confirm that the event time is correct in each.
For more detailed engineering guidance, see:
Generate Correct ICS Files (Best Practices + Templates).
5. When to use an autofix tool vs. hand‑editing
Use an autofix tool like CorrectICS when:
- You received an
.icsfrom someone else and just need it to work - You don’t control the system that generated the file
- You’re debugging a one‑off issue for a customer
Consider manual fixes or code changes when:
- You own the application that exports the
.icsfiles - Multiple customers report “wrong time” issues
- You want a permanent fix instead of a case‑by‑case repair
In both cases, running the file through the validator at /fix is a good first step — you’ll see exactly which lines and fields are causing trouble.