ICS / iCal Validator

Validate .ics files for RFC 5545 compliance and list parse errors

Ad placeholder (leaderboard)

An ICS validator checks that an iCalendar file follows RFC 5545 before you rely on it. A malformed .ics may import silently wrong, drop events, or be rejected outright by strict apps. This free tool parses the file structure and the required properties of each component, then lists exactly what is missing or malformed — all in your browser.

How it works

The validator unfolds the file (joining continuation lines that begin with a space or tab), then walks it line by line:

  1. Structure. It maintains a stack of BEGIN: components and matches each END:. Mismatched or unclosed components are errors, and the outermost component must be VCALENDAR.
  2. Calendar properties. VERSION and PRODID are required directly inside VCALENDAR.
  3. Component requirements. A VEVENT needs UID and DTSTAMP; a VTODO needs the same; a VTIMEZONE needs TZID and at least one STANDARD or DAYLIGHT sub-component.
  4. Value checks. Date and date-time values are tested against the allowed patterns, and lines without a property name before the colon are flagged.

Each issue is reported with the line number and component so you can jump straight to it. Warnings cover non-fatal style issues like bare-newline line endings.

Tips and notes

  • A file can be valid yet still describe the wrong event — the validator only checks form, not intent.
  • If you exported from a tool that used plain newlines, expect a line-ending warning; most calendars accept it anyway.
  • The most common real error is a missing UID, which makes calendars duplicate the event on every re-import.
  • Pair this with the ICS builder to generate compliant files from scratch.
Ad placeholder (rectangle)