ICS Validator: how to validate an ICS file (and fix it)
If you searched for “ICS validator” or “validate ICS”, you’re usually trying to do one of these:
- figure out why an
.icsfile won’t import into Google Calendar / Outlook / Apple Calendar - fix “invalid iCalendar / invalid ICS file” errors
- stop events from showing at the wrong time (TZID/VTIMEZONE issues)
Use the free ICS validator to understand what’s wrong, then upload the file to /fix to download a repaired .ics when fixes are available.
What an ICS validator checks (in plain language)
An ICS validator typically checks:
- Structure:
BEGIN:VCALENDAR…END:VCALENDAR, andBEGIN:VEVENT…END:VEVENT - Required fields:
DTSTART,UID,VERSION,PRODID(and more, depending on the client) - Time zones: valid
TZIDvalues and whether a matchingVTIMEZONEis present when needed - Formatting: line folding, invalid characters, broken encodings
If your symptom is “imports fail”, start here:
If your symptom is “events at the wrong time”, start here:
If you’re seeing “validation failed / invalid ICS file” messages:
Quick workflow (what actually works)
- Open the ICS validator.
- Upload your
.icsand read the first error. - Fix that error (or use /fix to generate a repaired file).
- Re-validate and repeat until the file imports.
The most common “validate ICS” failures
1) Missing required fields
The usual culprits are missing DTSTART, missing UID, or malformed VERSION.
2) Timezone problems (TZID/VTIMEZONE)
Wrong-time imports are commonly caused by:
- invalid timezones like
TZID=EST(useAmerica/New_York) - missing or mismatched
VTIMEZONEblocks (Outlook is especially sensitive)
Deep dive:
- Fix ICS time zone errors (TZID/VTIMEZONE)
- TZID=EST is invalid in ICS (use America/New_York)
- Outlook missing VTIMEZONE in ICS
3) Broken wrappers or malformed lines
One missing END:VEVENT can cause some clients to stop parsing entirely.
Developer note: validate in CI
If you generate .ics files, treat the output like an API response: validate it before shipping.
- Generate correct ICS files (best practices + templates)
- Validate & fix programmatically (Node, Python, Bash)
Fix your .ics file in seconds
Upload an iCalendar file and get a clean, import-ready version for Google Calendar, Outlook, Apple Calendar, and Teams.