How an ICS file is structured
Learn the containers, content lines, and event properties CalendarLint evaluates.
Updated · Applies to: ICS ViewerCalendar and components
An ICS document is a VCALENDAR container. It holds metadata plus components such as VEVENT and VTIMEZONE.
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Example//Calendar//EN
BEGIN:VEVENT
UID:planning@example.test
DTSTAMP:20261101T020000Z
DTSTART:20261103T090000Z
SUMMARY:Planning review
END:VEVENT
END:VCALENDAR
UID identifies the event across revisions. DTSTAMP records when the calendar object was created or revised. DTSTART defines when it begins.
Content lines
Each logical line is NAME;PARAMETERS:VALUE. Long lines may be folded; a continuation begins with one space or tab. Standard files use CRLF line endings. Escaping and folding errors can make valid-looking text fail to parse.
What to protect during repair
Preserve component boundaries, UID, time semantics, recurrence relationships, and unknown extension properties unless the repair specifically requires changing them. A parser accepting the file does not prove the calendar meaning is correct.

